Android mobile app development
We will follow the Building Your First App tutorial from the official Android Developers documentation.
MVC architecture in software engineering
In order to understand how Android apps are developed, it would help to be familiar with the conceptual framework known as MVC (an acronym for Model, View, Controller) - this is the idea that the problem of creating an application can be broken down into three sub-problems:
- M: Model - how the data being manipulated by the app is modeled (represented)
- V: View - what the user interface (UI) screens that a user sees look like
- C: Controller - what logic, or brains, an app needs in order to function properly
How MVC is achieved in Android apps
In Android development, an MVC architecture is achieved as follows:
- Models may not be necessary a simple Android app. But for apps that deal with significant amounts of data, a data Model would be a custom Java classes that represents the types of "things" that your app deals with.
- Controllers in a custom Android app are java classes that inherit from the Activity class in the android API
- Views in a custom Android app are coded as XML, not java at all.
- Official Android documentation, including excellent "Build your first app" tutorial.
- Very good set of coding tutorials. Good conceptual overview, although code examples may be a bit out of date.