Android App Components

Android App Components

In Android, application components are the basic building blocks of an application and these components will act as an entry point to allow the system or user to access our app.

The following are the basic core application components that can be used in Android applications.

  • Activities

  • Intents

  • Content Providers

  • Broadcast Receivers

  • Services

All these application components are defined in the android app description file (AndroidMainfest.xml) as shown below.

<?xml version="1.0" encoding="utf-8"?>
<manifest..>
    <application 
        android:allowBackup="true" 
        android:icon="@mipmap/ic_launcher" ……>
        <activity 
             android:name=".MainActivity" >
                 <intent-filter>
                     <action android:name="android.intent.action.MAIN" />
                     <category     
                       android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
        </activity>
       …….
    </application>
</manifest>

Android Activities

In android, Activity represents a single screen with a user interface (UI) and it will act as an entry point for the users to interact with the app.

For example, a contacts app that is having multiple activities like showing a list of contacts, adding a new contact, and another activity to search for the contacts. All these activities in the contact app are independent of each other but will work together to provide a better user experience.

Android Intents

In android, Intent is a messaging object which is used to request an action from another component.

In android, intents are mainly used to perform the following things.

  • Starting an Activity

  • Starting a Service

  • Delivering a Broadcast

There are two types of intents available in android, are

  1. Implicit Intents

  2. Explicit Intents

we Will see them in detail.

Android Services

In android, Service is a component that keeps an app running in the background to perform long-running operations based on our requirements. For Service, we don’t have any user interface and it will run the apps in the background like playing music in the background when the user is in a different app.

We have two types of services available in android, are

  • Local Services

  • Remote Services

Android Broadcast Receivers

In android, Broadcast Receiver is a component that will allow a system to deliver events to the app like sending a low-battery message to the app. The apps can also initiate broadcasts to let other apps know that required data is available in a device to use it.

Generally, we use Intents to deliver broadcast events to other apps and Broadcast Receivers use status bar notifications to let the user know that a broadcast event occurs.

Android Content Providers

In android, Content Providers are useful to exchange data between the apps based on the requests. The Content Providers can share the app data that stores in the file system, SQLite database, on the web, or any other storage location that our app can access.

By using Content Providers, other apps can query or modify the data of our app based on the permissions provided by the content provider. For example, android provides a Content Provider (ContactsContract.Data) to manage contacts information, by using proper permissions any app can query the content provider to perform read and write operations on contacts information.

Additional Components

In Android, we have additional components which are used to build the relationship between the above components (Activities, Intents, Content Providers, Services, and Broadcast Receivers) to implement our application logic, those are

ComponentDescription
FragmentsThese are used to represent the portion of the user interface in an activity
LayoutsThese are used to define the user interface (UI) for an activity or app
ViewsThese are used to build a user interface for an app using UI elements like buttons, lists, etc.
ResourcesTo build an android app we required external elements like images, audio files, etc. other than coding
Manifest FileIt’s a configuration file (AndroidManifest.xml) for the application and it will contain information about Activities, Intents, Content Providers, Services, Broadcast Receivers, permissions, etc.

These are the main application components that are required to build an android application based on our requirements.

Did you find this article valuable?

Support Hemant Maurya by becoming a sponsor. Any amount is appreciated!