Saturday, 27 January 2018

What are Application Components In Android ?

Applications Components In Android:

Applications Components In Android by selectivetopics.blogspot.com

Applications Components:


  • Essential building blocks of an Android application. 
  • Loosely coupled by the application manifest file; describes each component of the application & their interaction

Components

Description

Activities
They  dictate the UI and handle the user interaction to the smartphone
 screen
Services
They handle background processing associated with an application.
Broadcast Receivers
They handle communication between Android OS and applications.
Content Providers
They handle data and database management issues.              


Activity

  • Present a visual user interface for one focused endeavor the user can undertake 
  • Example: a list of menu items users can choose from

Services

  • Run in the background for an indefinite period of time 
  • Example: calculate and provide the result to activities that need it

Broadcast Receivers

  • Receive and react to broadcast announcements 
  • Example: announcements that the time zone has changed 

Content Providers

  • Store and retrieve data and make it accessible to all applications 
  • Example: Android ships with a number of content providers for common data types (e.g., audio, video, images, personal contact information, etc.)

Intents

  • Hold the content of a message 
  • Example: convey a request for an activity to present an image to the user or let the user edit some text


Activities

  • An activity represents a single screen with a user interface. For example, an email application might have one activity that shows a list of new emails, another activity to compose an email, and another activity for reading emails. If an application has more than one activity, then one of them should be marked as the activity that is presented when the application is launched. An activity is implemented as a subclass of Activity class as follows: 
public class MainActivity extends Activity

{

}

Services

  • A service is a component that runs in the background to perform long-running operations. For example, a service might play music in the background while the user is in a different application, or it might fetch data over the network without blocking user interaction with an activity. A service is implemented as a subclass of Service class as follows: 

  • public class MyService extends Service { }

Broadcast Receivers: 

  • Broadcast Receivers simply respond to broadcast messages from other applications or from the system. For example, applications can also initiate broadcasts to let other applications know that some data has been downloaded to the device and is available for them to use, so this is broadcast receiver who will intercept this communication and will initiate appropriate action. A broadcast receiver is implemented as a subclass of BroadcastReceiver class and each message is broadcasted as an Intent object. 

  • public class MyReceiver extends BroadcastReceiver { }

Content Providers:

  • A content provider component supplies data from one application to others on request. Such requests are handled by the methods of the ContentResolver class. The data may be stored in the file system, the database or somewhere else entirely. A content provider is implemented as a subclass of ContentProvider class and must implement a standard set of APIs that enable other applications to perform transactions. 

  • public class MyContentProvider extends ContentProvider { } 



Intents:

  • An asynchronous message called an intent. Intents bind individual components to each other at runtime (you can think of them as the messengers that request an action from other components), whether the component belongs to your app or another. 

Additional Components:

Components

Description

Fragments
Represents a behavior or a portion of user interface in an Activity.
Views
UI elements that are drawn onscreen including buttons, lists 
forms etc.
Layouts
View hierarchies that control screen format and appearance of the
 views.
Intents
Messages wiring components together.
Resources
External elements, such as strings, constants and drawa-bles pictures.
Manifest
Configuration file for the application.


The Manifest File:

  • The app's AndroidManifest.xml file (the "manifest" file) contains list of all components and their access privileges. 
  • Identify any user permissions the app requires, 
  • Declare the minimum API Level required by the app, 
  • Declare hardware and software features used or required by the app, such as a camera, multi-touch and more... 
  • API libraries the app needs to be linked against (other than the Android framework APIs), such as the Google Maps library.


Device Compatibility:

  • To facilitate your effort toward that goal, Android provides a dynamic app framework in which you can provide configuration-specific app resources in static files (such as different XML layouts for different screen sizes). Android then loads the appropriate resources based on the current device configuration. So with some forethought to your app design and some additional app resources, you can publish a single application package (APK) that provides an optimized user experience on a variety of devices. 
                                                    

1 comment: