Kotlin Android Application Development

Android development is a bit different to anything you will have worked with before.

Working through in detail both the various components that can be utilised to build an application and the methods that allow these to work together to create a complete application.

Android Activities is a concept which is similar to the object-oriented methodology and uses a similar concept as wrapping elements of application functionality into object classes that are then defined as objects and built to create a solution.

Android solutions are built by building objects which are defined as Activities.

An Android activity is a unique section of functionality that relates to a new GUI screen and and contains the required functionality to collect or display data.

Each new activity offers functionality unique to the Android Application. Building many Activities and putting them together help to build and structure the functionality of the application.

Activities are used to produce re-usable code sections which can be worked with by various applications, if required. As you build more Android Activities, you start to build your own toolbox of reusable input and output forms.

Android Intents enable an activity to launch another activity and build the process of data through the activities that make up a complete application.

Android Intents are made up of a description of the functionality to be performed, also, if required, the specific data set on which it is to be processed.

Intents are allowed to be either explicit or implicit. Explicit Intents are specific to starting a named activity based on the class name. The implicit Intent is more generic and is defined based on the action type or data type to which the associated activity to be done is required.

Broadcast Intents are a bit different and are used across the entire solution and are mostly used by applications which are registered an interest in an interaction with the associated application. Usually a good way to monitor and change which will aid the functionality of other applications is a good use of Broadcast Intents.

Broadcast Receivers can then be used by applications to reply to any Broadcast Intents. A Broadcast Receiver will register with a specific application and then be setup based on an Filter to define which type of broadcast intent the application is waiting to listen from.

Android Services are background processes which do not have a GUI. They are started and setup with activities or Broadcast Receivers.
Unattended processing which does not require human interaction make a good use case for Android Services.

Content Providers build methods that allow the sharing of data between Android applications. Any application can then allow other applications with defined access to its data through the CRUD processing of a Content Provider.

The Android Application Manifest is the XML configuration where all the required functionality that builds a complete Android Application is defined.

All of this functionality is then compiled together to build a unique Android Application.