There may be situation where you want
to send data from one activity to another while switching from one
activity to another. The following is a simple example where you can
enter your name and age in the first screen and receive it at the
second screen on click of a button.
So lets start .
1.
Create a new project File
-> Android Project.
While creating a new project give activity name as
FirstActivity(FirstActivity.java).
2. Now you need to create user interface for the FirstActivity.java
3. Create a new xml file in layout folder or rename the main.xml to first.xml
4. Now insert the following code in first.xml to design a small layout. This layout contains two edittext and a button.
2. Now you need to create user interface for the FirstActivity.java
3. Create a new xml file in layout folder or rename the main.xml to first.xml
4. Now insert the following code in first.xml to design a small layout. This layout contains two edittext and a button.
First.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Name: " />
<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Age: " />
<EditText
android:id="@+id/age"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:inputType="number" />
<Button
android:id="@+id/btnNextScreen"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dip"
android:text="Send Data" />
</LinearLayout>
5.Now
open your FirstActivity.java
and
Type the following code. In the following code we are creating a new
Intent and passing parameters on clicking button.
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class FirstActivity extends Activity {
// Initializing variables
EditText inputName;
EditText inputAge;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first);
inputName = (EditText) findViewById(R.id.name);
inputAge = (EditText) findViewById(R.id.age);
Button btnNextScreen = (Button) findViewById(R.id.btnNextScreen);
// Listening to button event
btnNextScreen.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
// Starting a new Intent
Intent nextScreen = new Intent(getApplicationContext(),
SecondActivity.class);
// Sending data to another Activity
nextScreen.putExtra("name", inputName.getText().toString());
nextScreen.putExtra("age", inputAge.getText().toString());
startActivity(nextScreen);
}
});
}
}
- Create a class called SecondActivity.java. And an xml file named second.xml
SecondActivity.java.
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class SecondActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
TextView txtName = (TextView) findViewById(R.id.txtName);
TextView txtEmail = (TextView) findViewById(R.id.txtAge);
Button btnBack = (Button) findViewById(R.id.btnBack);
Intent i = getIntent();
// Receiving the Data
String name = i.getStringExtra("name");
String age = i.getStringExtra("age");
Log.e("Second Screen", name + "." + age);
// Displaying Received data
txtName.setText(name);
txtEmail.setText(age);
// Binding Click event to Button
btnBack.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
// Closing SecondScreen Activity
finish();
}
});
}
}
second.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/txtName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="15dip"
android:textSize="18dip" />
<TextView
android:id="@+id/txtAge"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="15dip"
android:textSize="18dip" />
<Button
android:id="@+id/btnBack"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dip"
android:text="Back" />
</LinearLayout>
- Open you AndroidManifest.xml file and modify the code as below in application tag
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".FirstActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SecondActivity" android:label="@string/app_name" /> </application>
8.Run your project by right clicking on your project folder -> Run As -> 1 Android Application.
The
below image is output of this example

