But before you start, there are two fundamental concepts you should understand about Android apps.
Apps provide multiple entry points
Android apps are built as a combination of components that can be invoked individually. For example, an activity is a type of app component that provides a user interface.
The "main" activity is what starts when the user taps your app icon, but you can take the user straight into a different activity from other places, such as from a notification or even from a different app.
Other components such as broadcast receivers and services also allow your app to perform background tasks without a user interface. Apps adapt to different devices
Android allows you to provide different resources for different devices. For example, you can create different layouts for different screen sizes. Then the system determines which layout to use based on the current device's screen size.
If any of your app's features need specific hardware, such as a camera, you can query whether the device has that hardware at run time and then disable the corresponding features if not. You can also set some features as required so Google Play won't allow installation on devices without them.