Writing application code before thinking about an architecture is a really bad idea. Android programming does not make a difference. Everybody who starts creating Android apps begins doing so without following a specific architecture. All the code concerning a screen in the application is written in the corresponding Activity or Fragment. And this is done until the moment when the code gets so messy that it is almost impossible to understand what is happening in it. The result is the so called God classes. A God class is a class containing all the logic specific to a certain task. Speaking in the Android context, if we have a screen which shows for example information about a list of foods, the activity holds all the logic about network request, database calls, user interactions and so on. The class has a dozen of callback methods and the final result is a spaghetti code.