android activity intentsq
TRANSCRIPT
Welcome
Every Day is a new Beginning
Major Application components
Any Android application must have at least one amongst the following components:
• Activity
• Intent & Intent Filters
• Broadcast Receivers
• Services
• Content Providers
Activity
•Activity is an application component which provides User Interface(UI) to any application
•An application can have any number of activities but only one of them can have the focus at any given time of the application’s visible lifetime
•All other activities are moved to a “back-stack” which uses First In First Out (FIFO) mechanism to handle those activities
•All activities have a set of methods known as “Callback methods”, which will get triggered during different stages of an Activity lifecycle
•Views control rectangular space within an activity & interacts with the user
•Widgets = Views + Visual elements + business logic
•Layouts are special type of Views, which are derived from ViewGroup group
Activity Lifecycle
Activity – Callback methods
• onCreate() – triggered when the Activity is created
• onStart() – triggered when the Activity is started
• onResume() – triggered when the Activity is resumed after pause
• onPause() – triggered when the Activity is paused
• onStop() – triggered when the Activity goes out to background stack
• onDestroy() – triggered when the Activity is destroyed
States of an Activity
An activity can be in anyone of the states in its entire lifecycle:
• Resumed – Activity is in running
• Paused – Activity is paused & visible in the background
• Stopped – Activity is paused & not visible in the background ( in backstack)
Start & Stop an Activity
• An activity can be started in two ways :• Using startActivity(Intent intent) method• Using startActivityForResult(int reqCode,int resCode, Intent data) method
• The first method is used to start an activity normally• The second method is used to start an activity when a specific resultant
action is expected. Eg. Choose a phone contact from Contacts application• If an activity is started using second method, the control will be passed to
this method after the expected result – onActivityResult()
• An activity can be stopped/killed in ways:• Using finishActivity() method (Recommended)• Using finish() method
How to start an Activity
• An activity can be started from another activity using another application component called Intent.
• A java class with name Sample.java, which extends Activity class must be created.
• An entry in AndroidManifest.xml file should be included• A layout XML file must be created and proper layout should be created in
XML file
• Code snipped to start an activity (using its name):Intent intent = new Intent(this, Sample.class);
startActivity(intent);
How to start an Activity
• An activity can also be started without explicitly stating its name but the action that it can perform
Steps:• A java class with name Sample.java, which extends Activity class must be
created.• An entry in AndroidManifest.xml file is included & an action is defined in
Intent_Filter tag• A layout XML file is created and proper layout is created in XML file
• Code snipped to start an activity (using its name):Intent intent = new Intent(Intent.ACTION_SEND);intent.putExtra(Intent.EXTRA_EMAIL, recipientArray);
startActivity(intent);
Intents
• Application components are activated through messages called Intents
• Intents provide a facility for late runtime binding between components of same application or different applications as well
• Basically, it is a passive data structure, which holds an abstract definition of an action performed or to be taken
• It is used to start Activities using “startActivity(intent)” method
• It is also used to start or bind Services using “startService(intent)” and “bindService(intent)” methods
• It is also used to send broadcasts using “sendStickyBroadcast(intent)” methods
Intent Objects
Every Intent contains at least one of the following objects:
1. Component Name [optional] – Component with Intent is associated
2. Action (mandatory)
3. Category (mandatory at least once) – Category of Action
4. Data [optional & depends on type of Action] – URI & MIME type of data needed to complete Action
5. Extras [optional] – Data needed to complete Action
6. Flags [optional] – Eg. Which task the activity should belong to ?
Intent Types Intents can be classified into following two types:
• Explicit Intents – Associated component name is explicitly mentionedIntent intent1 = new Intent(this,ActivityTwo.class);startActivity(intent);
• Implicit Intents – Associated component name is implied (not mentioned)Intent intent = new Intent(Intent.ACTION_SEND);intent.putExtra(Intent.EXTRA_EMAIL, recipientArray);
startActivity(intent);
Intent Types & Resolution Intent Resolution :• Intents are resolved after undergoing three tests by Intent Filter• Intent Filter filters the suitable components based on the expected action
and other input data
Intent Filter performs the tests in the following order and finally resolves the component(s) associated with the Intent
1. Action Test2. Data Test3. Category Test
• Those components which pass the Action Test will be subjected to Data Test & those which pass the Action Test will be subjected to Category Test
Thank You
Facebook.com/PerpetroTech
Office Address
New No 30/1Velachery Road, Little MountSaidapet, Chennai-15
Website: www.perpetrotech.comMail: [email protected]: +91- 8939707287