When you’re working with graphic assets in Android, it’s nearly impossible to avoid importing bitmap files in your project. And that’s ok because for a complicated design (with many shadows and textures for instance) it’s the right solution. Trying to make these graphics work with multiple screens though will eventually get ugly because you’ll have to use 3 or 4 versions for each bitmap. It makes sense then to use any non-bitmap solution where you can. Android’s layer-list is one of these powerful solutions.
The visual components, or widgets as they are called inside the Android SDK are usually easy to work with once you understand how they should be positioned and how to access their data. I recently I found myself working with one of these components, the ImageView, and not being able to set it’s image to load from a url. I thought that something so common could be done easily but it looks like you can’t do it with the default ImageView. You can however make your own ImageView with 60 lines of code!
When you work in a client side application, you always wait for something to happen, an event. This isn’t happening only in Android, in every client side application I’ve worked (regardless of technology) you always wait for the user’s input. It could be a button click or something else, but that’s the whole meaning of interactive apps. It makes sense then to design your code structure based on this principle, you always wait for an event. It also makes sense to keep the event communication happening through a single object, otherwise your code can become a nice ball of spaghetti really fast! The Otto event bus can be that object for you.