Understand component lifecycle. Understand it well enough to know you have to design your app around it, because you can't subvert it. Do this first. Do not write code before you understand this. A good way of understanding this is to override all the lifecycle methods in Activity and log them, then watch what happens. Understand that Android can "destroy" both individual component instances and whole processes. Understand that you can't thwart "destroy" by holding a reference.
Understand Android's support for a data model in a sql database, abstracted by ContentProvider, and how to build an observer pattern around this.
Understand Android's support for concurrency, enough that you know the limitations.