Skip to main content

Android Application Fundamentals or Components

See more basics on Android along with interview questions

Android is written in java programming language.Android application are composed of some of the main components such as:
  • Activities
  • Services
  • Content providers
  • Broadcast receivers
Intents, Resources(such as strings and graphics), Notification signalings(light,sound,dialog), are also part of the components.

All these components play different role in the overall application and each one can be activated individually.

Activities :
          An activity represents a single screen with a user interface.Suppose if there is a listview and if clicking on each row it traverse to another page ,then the screen showing listview is an activity and the next page is another activity,where each one is independent of the others.
An activity is implemented as a subclass of Activity ,that why we use

see activity life cycle here :

public class MainActivity extends Activity {
Services :
          A service is a component that runs in the background to perform long-running operations or to perform work for remote processes. A service does not provide a user interface.For example : Running an alarm in background
A service is implemented as a subclass of Service.

Content providers :
          They manages a shared set of application data.Data can be stored in SQLite Database,File systems,web or any other medium where application can access.
Content Providers allows to modify and use these stored data.For example : storing users contacts details,where proper permission one can get the contacts.
A content provider is implemented as a subclass of ContentProvider.

Broadcast receivers :
          They responds to systems  broadcast announcements.Some of the native Broadcast are volume control, light, switch on and off, screen on and off,bluetooth etc.A broadcast receiver is just a "gateway" to other components and is intended to do a very minimal amount of work. For instance, it might initiate a service to perform some work based on the event.
A broadcast receiver is implemented as a subclass of BroadcastReceiver.

Who Activates A component ?
         The above components are activated by a message called Intents.
Intents bind individual components to each other at runtime, whether the component belongs to your application or another.
An intent is created with an Intent object, which defines a message to activate either a specific component or a specific type of component—an intent can be either explicit or implicit, respectively.

What is a Content Resolver ?
         The Content Provider, is not activated by intents. It is activated when there is request from ContentResolver. These Resolvers handles direct transaction with the providers so they donot need further any method calls. This leaves a layer of abstraction between the content provider and the component requesting information (for security).

What is an AndroidManifest file ?
          This is a root directory of Android application where all the components are declared.Other than this they also have
  • user permissions the application requires, such as read and write external storage
  • Declare the minimum API level
  • Declare hardware and software features such as bluetooth or a printer
  • API libraries etc...


Popular posts from this blog

Passing Images between Activities in Android

in First Activity:
Intent intent=new Intent(FirstClass.this, SecondClass.class); Bundle bundle=new Bundle(); bundle.putInt("image",R.drawable.ic_launcher); intent.putExtras(bundle); startActivity(intent); in Second Acticity:
Bundle bundle=this.getIntent().getExtras(); int pic=bundle.getInt("image"); v.setImageResource(pic);another method:
in First Activity:
Drawable drawable=imgv.getDrawable(); Bitmap bitmap= ((BitmapDrawable)drawable).getBitmap(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos); byte[] b = baos.toByteArray(); Intent intent=new Intent(Passimage.this,myclass.class); intent.putExtra("picture", b); startActivity(intent); in Second Acticity:
Bundle extras = getIntent().getExtras(); byte[] b = extras.getByteArray("picture"); Bitmap bmp = BitmapFactory.decodeByteArray(b, 0, b.length); Image…

Get a single record from SQLite in ANDROID

in DATABASE HELPER class: String[] coloumns = new String[] { KEY_ROWID, KEY_NAME, KEY_NICKNAME }; // calling elements in an array Cursor c = db.query(DATABASE_TABLE, coloumns, KEY_ROWID + "=" + l,null, null, null, null); if (c != null) { c.moveToFirst(); String name = c.getString(1); // since name is in position 1 ie second coloumn return name; } return null; in : String s =editinfo.getText().toString(); long l=Long.parseLong(s); DBAdapter adapter=new DBAdapter(SQliteExample.this);; String returnedname=adapter.returnName(l); String returnednickname=adapter.returnickname(l); adapter.close(); editName.setText(returnedname); editNickName.setText(returnednickname);

How To Finish All Previous Activities in ANDROID ?

Some times we may need to close previous all activities before calling an intent, so that the previous activity do not loads on clicking the Android back button.Here is a simple sniffet for it.. Intent intent = new Intent(getApplicationContext(), MainClass.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent);