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...
 



Comments

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.lengt

How to Open Calculator In ANDROID

If we want to open the inbuilt calculator of ANDROID ,here is the sniffet... public class CalculatorActivity extends Activity { public static final String CALCULATOR_PACKAGE ="com.android.calculator2"; public static final String CALCULATOR_CLASS ="com.android.calculator2.Calculator"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Intent calculatorintent = new Intent(); calculatorintent.setAction(Intent.ACTION_MAIN); calculatorintent.addCategory(Intent.CATEGORY_LAUNCHER); calculatorintent.setComponent(new ComponentName(CALCULATOR_PACKAGE,CALCULATOR_CLASS)); CalculatorActivity.this.startActivity(calculatorintent); } } The above may not work with every devices, so you may need this one.. ArrayList<HashMap<String,Object>> items =new ArrayList<HashMap<String

Spannable String in Android - URL Span ,Clickable Span, Rich-Style Formatting of Textview .....

See more Android Tutorials here....... Faster Loading images in GridViews or ListViews Spannable brings lots of possibility to TextView, includes displaying various appearance of a Text and onClick callbak. The SpannableString class allows you to easily format certain pieces which are called spans of a string, by applying CharacterStyle ie,color, font, ormake it a link . Here is an example where, explained how to use spannable string to give font size, color, linking a text via clickable span and through URL Span and to strike through the text. Lets go through the example : import android.os.Bundle; import android.text.SpannableString; import android.text.method.LinkMovementMethod; import android.text.style.ClickableSpan; import android.text.style.ForegroundColorSpan; import android.text.style.RelativeSizeSpan; import android.text.style.StrikethroughSpan; import android.text.style.URLSpan; import android.view.View; import android.widget.TextView; import android.widget.Toast;