I wrote recently about the theory behind good Android app architecture. It ended up being my most popular article of all time, and many people were kind enough to say it had helped them.
One of the most common queries was, but what about X? That doesn’t really fit the rules. Which is why I’ve always said:
Learn the principles, don’t blindly follow rules.
This article aims to demonstrate the practical side: to teach Android architecture by example. Most importantly that means showing how various architecture decisions are made. We will encounter situations where there are several possible answers, and in each case we will fall back on the principles rather than rote-learning a set of rules.