View on GitHub

reading-notes

Code 201 Reading Notes

Android Application Fundamentals

The Basics

Every android app is actually running as a user in its own VM. An app can be coded in Kotlin, Java, or C++. It can be setup that two apps share the same user ID (account) in order to better coordinate resources and files. An app can request access to device data (including the devices hardward input/output).

App Components

Note: below quotes attribution is from this page

Activating Components

Excepting content providers, they are activated by an intent that then “ ‘binds’ components to each other at runtime”. The intent defines the action - something like POST/GET/PUT/DELETE. Content providers work via a ContentResolver that handles the direct transactions, providing a layer of abstraction for security purposes.

Manifest File (where all components of an app are declared)

Declaring Components

The manifest file is a .xml file listing (declaring) the app’s components. This includes:

Component Capabilities - what components can/are allowed/are programmed to is stated do here.

App requirements - if there is any software/hardware requirements in order to run the app.

App Resources - everything else that isn’t code that is used to run the software (e.g. media and visual presentation .xml)