0% found this document useful (0 votes)
20 views9 pages

Unit 4

Uploaded by

Chess Blogs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views9 pages

Unit 4

Uploaded by

Chess Blogs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Android - Activities

An activity represents a single screen with a user interface just like window or frame of
Java.Android activity is the subclass of ContextThemeWrapper class.
If you have worked with C, C++ or Java programming language then you must have
seen that your program starts from main() function. Very similar way, Android system
initiates its program with in an Activity starting with a call on onCreate() callback
method. There is a sequence of callback methods that start up an activity and a
sequence of callback methods that tear down an activity as shown in the below Activity
life cycle diagram: (image courtesy : android.com )
The Activity class defines the following call backs i.e. events. You don't need to
implement all the callbacks methods. However, it's important that you understand each
one and implement those that ensure your app behaves the way users expect.

Sr.No Callback & Description

1 onCreate()
This is the first callback and called when the activity is first created.

onStart()
2
This callback is called when the activity becomes visible to the user.

onResume()
3
This is called when the user starts interacting with the application.

onPause()
4 The paused activity does not receive user input and cannot execute any code and called
when the current activity is being paused and the previous activity is being resumed.

onStop()
5
This callback is called when the activity is no longer visible.

onDestroy()
6
This callback is called before the activity is destroyed by the system.

onRestart()
7
This callback is called when the activity restarts after stopping it.

File: activity_main.xml

1. <?xml version="1.0" encoding="utf-8"?>  
2. <android.support.constraint.ConstraintLayout xmlns:android="http://
schemas.android.com/apk/res/android"  
3.     xmlns:app="http://schemas.android.com/apk/res-auto"  
4.     xmlns:tools="http://schemas.android.com/tools"  
5.     android:layout_width="match_parent"  
6.     android:layout_height="match_parent"  
7.     tools:context="example.javatpoint.com.activitylifecycle.MainActivity">  
8.   
9.     <TextView  
10.         android:layout_width="wrap_content"  
11.         android:layout_height="wrap_content"  
12.         android:text="Hello World!"  
13.         app:layout_constraintBottom_toBottomOf="parent"  
14.         app:layout_constraintLeft_toLeftOf="parent"  
15.         app:layout_constraintRight_toRightOf="parent"  
16.         app:layout_constraintTop_toTopOf="parent" />  
17.   
18. </android.support.constraint.ConstraintLayout>  
19.

Android Activity Lifecycle Example


It provides the details about the invocation of life cycle methods of activity. In this
example, we are displaying the content on the logcat.

File: MainActivity.java

1. package example.javatpoint.com.activitylifecycle;  
2.   
3. import android.app.Activity;  
4. import android.os.Bundle;  
5. import android.util.Log;  
6.   
7. public class MainActivity extends Activity {  
8.   
9.     @Override  
10.     protected void onCreate(Bundle savedInstanceState) {  
11.         super.onCreate(savedInstanceState);  
12.         setContentView(R.layout.activity_main);  
13.         Log.d("lifecycle","onCreate invoked");  
14.     }  
15.     @Override  
16.     protected void onStart() {  
17.         super.onStart();  
18.         Log.d("lifecycle","onStart invoked");  
19.     }  
20.     @Override  
21.     protected void onResume() {  
22.         super.onResume();  
23.         Log.d("lifecycle","onResume invoked");  
24.     }  
25.     @Override  
26.     protected void onPause() {  
27.         super.onPause();  
28.         Log.d("lifecycle","onPause invoked");  
29.     }  
30.     @Override  
31.     protected void onStop() {  
32.         super.onStop();  
33.         Log.d("lifecycle","onStop invoked");  
34.     }  
35.     @Override  
36.     protected void onRestart() {  
37.         super.onRestart();  
38.         Log.d("lifecycle","onRestart invoked");  
39.     }  
40.     @Override  
41.     protected void onDestroy() {  
42.         super.onDestroy();  
43.         Log.d("lifecycle","onDestroy invoked");  
44.     }  
45. }  
Android calling one activity from another activity
example
Let's see the simple example of android explicit example that calls one activity from
another and vice versa.

activity_main.xml
File: activity_main.xml

1. <?xml version="1.0" encoding="utf-8"?>  
2. <android.support.constraint.ConstraintLayout xmlns:android="http://
schemas.android.com/apk/res/android"  
3.     xmlns:app="http://schemas.android.com/apk/res-auto"  
4.     xmlns:tools="http://schemas.android.com/tools"  
5.     android:layout_width="match_parent"  
6.     android:layout_height="match_parent"  
7.     tools:context="example.javatpoint.com.explicitintent.FirstActivity">  
8.   
9.     <TextView  
10.         android:layout_width="wrap_content"  
11.         android:layout_height="wrap_content"  
12.         android:layout_marginEnd="8dp"  
13.         android:layout_marginStart="8dp"  
14.         android:layout_marginTop="8dp"  
15.         android:text="First Activity"  
16.         app:layout_constraintBottom_toBottomOf="parent"  
17.         app:layout_constraintEnd_toEndOf="parent"  
18.         app:layout_constraintHorizontal_bias="0.454"  
19.         app:layout_constraintLeft_toLeftOf="parent"  
20.         app:layout_constraintRight_toRightOf="parent"  
21.         app:layout_constraintStart_toStartOf="parent"  
22.         app:layout_constraintTop_toTopOf="parent"  
23.         app:layout_constraintVertical_bias="0.06" />  
24.   
25.     <Button  
26.         android:id="@+id/button"  
27.         android:layout_width="wrap_content"  
28.         android:layout_height="wrap_content"  
29.         android:layout_marginEnd="8dp"  
30.         android:layout_marginStart="8dp"  
31.         android:layout_marginTop="392dp"  
32.         android:onClick="callSecondActivity"  
33.         android:text="Call second activity"  
34.         app:layout_constraintEnd_toEndOf="parent"  
35.         app:layout_constraintStart_toStartOf="parent"  
36.         app:layout_constraintTop_toTopOf="parent" />  
37.   
38. </android.support.constraint.ConstraintLayout>  

ActivityOne class
File: MainActivityOne.java

1. package example.javatpoint.com.explicitintent;  
2.   
3. import android.content.Intent;  
4. import android.support.v7.app.AppCompatActivity;  
5. import android.os.Bundle;  
6. import android.view.View;  
7.   
8. public class FirstActivity extends AppCompatActivity {  
9.   
10.     @Override  
11.     protected void onCreate(Bundle savedInstanceState) {  
12.         super.onCreate(savedInstanceState);  
13.         setContentView(R.layout.activity_first);  
14.     }  
15.     public void callSecondActivity(View view){  
16.         Intent i = new Intent(getApplicationContext(), SecondActivity.class);  
17.         i.putExtra("Value1", "Multiple Activities");  
18.         i.putExtra("Value2", "Simple Tutorial");  
19.         // Set the request code to any code you like, you can identify the  
20.         // callback via this code  
21.         startActivity(i);  
22.     }  
23.   
24. }  
activitytwo_main.xml
File: activitytwo_main.xml

1. <?xml version="1.0" encoding="utf-8"?>  
2. <android.support.constraint.ConstraintLayout xmlns:android="http://
schemas.android.com/apk/res/android"  
3.     xmlns:app="http://schemas.android.com/apk/res-auto"  
4.     xmlns:tools="http://schemas.android.com/tools"  
5.     android:layout_width="match_parent"  
6.     android:layout_height="match_parent"  
7.     tools:context="example.javatpoint.com.explicitintent.SecondActivity">  
8.   
9.     <TextView  
10.         android:layout_width="wrap_content"  
11.         android:layout_height="wrap_content"  
12.         android:layout_marginEnd="8dp"  
13.         android:layout_marginStart="8dp"  
14.         android:layout_marginTop="8dp"  
15.         android:text="Second Activity"  
16.         app:layout_constraintBottom_toBottomOf="parent"  
17.         app:layout_constraintEnd_toEndOf="parent"  
18.         app:layout_constraintHorizontal_bias="0.454"  
19.         app:layout_constraintLeft_toLeftOf="parent"  
20.         app:layout_constraintRight_toRightOf="parent"  
21.         app:layout_constraintStart_toStartOf="parent"  
22.         app:layout_constraintTop_toTopOf="parent"  
23.         app:layout_constraintVertical_bias="0.06" />  
24.   
25.     <Button  
26.         android:id="@+id/button"  
27.         android:layout_width="wrap_content"  
28.         android:layout_height="wrap_content"  
29.         android:layout_marginEnd="8dp"  
30.         android:layout_marginStart="8dp"  
31.         android:layout_marginTop="392dp"  
32.         android:onClick="callFirstActivity"  
33.         android:text="Call first activity"  
34.         app:layout_constraintEnd_toEndOf="parent"  
35.         app:layout_constraintStart_toStartOf="parent"  
36.         app:layout_constraintTop_toTopOf="parent" />  
37. </android.support.constraint.ConstraintLayout>  
ActivityTwo class
File: MainActivityTwo.java

1. package example.javatpoint.com.explicitintent;  
2.   
3. import android.content.Intent;  
4. import android.support.v7.app.AppCompatActivity;  
5. import android.os.Bundle;  
6. import android.view.View;  
7. import android.widget.Toast;  
8.   
9. public class SecondActivity extends AppCompatActivity {  
10.   
11.     @Override  
12.     protected void onCreate(Bundle savedInstanceState) {  
13.         super.onCreate(savedInstanceState);  
14.         setContentView(R.layout.activity_second);  
15.         Bundle extras = getIntent().getExtras();  
16.         String value1 = extras.getString("Value1");  
17.         String value2 = extras.getString("Value2");  
18.         Toast.makeText(getApplicationContext(),"Values are:\n First value: "+value1+  
19.                 "\n Second Value: "+value2, Toast.LENGTH_LONG).show();  
20.     }  
21.     public void callFirstActivity(View view){  
22.         Intent i = new Intent(getApplicationContext(), FirstActivity.class);  
23.         startActivity(i);  
24.     }  
25.   
26. }  

You might also like