Activities represent user interface entry points of your app . Any app that needs to interact functionally with the user in a direct way, by letting the user enter things or telling the user graphically about the functional state of an app, will expose at least one activity to the system. I say functionally because telling the user about events can also happen via notifications through toasts or the status bar, for which an activity is not needed.
The main activity, as declared inside AndroidManifest.xml, gets started by ...