Using Intent Demo

Serete Itebete
After writing a single activity, there comes a need to transition to another activity to perform another task either with or without information from the first activity.
Android platform allows transition by means of Intent Interface.
In this example there are two activities - IntentActionDemo.java and IntentA.java that both extend the super class Activity. Do not forget to declare any new activity in the AndroidManifest.xml with permission.
I have introduced buttons in both activities which have a listener to allow an intent to transition from one intent to the other activity and vis-versa.
Simple intent example; Note that optional step 2 was not used in our demo.
Step 1:
Intent i = new Intent(context, NameOfClassToTransitionTo.class)Step 2:(Optional)Intents can take various forms that make it even carry data in key/name pairs ie
i.putExtra("key1", "My first Info") i.putExtra("key2", "My second Info")Step 3:
startActivity(i)IntentActionDemo.java
Code:
package com.marakana.com;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class IntentActionDemo extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.intentButton);
button.setOnClickListener(this);
}
@Override
public void onClick(View src) {
Intent i = new Intent(this, IntentA.class);
startActivity(i);
}
}
IntentA.java
Code:
package com.marakana.com;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class IntentA extends Activity implements OnClickListener{
@Override
public void onClick(View src) {
Intent i = new Intent(this, IntentActionDemo.class);
startActivity(i);
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.intenta);
Button button = (Button) findViewById(R.id.ButtonIntentA);
button.setOnClickListener(this);
}
}
AndroidManifest.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.marakana.com"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".IntentActionDemo"
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="IntentA"></activity>
</application>
<uses-sdk android:minSdkVersion="3" />
</manifest>
string.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello</string>
<string name="app_name">IntentActionDemo</string>
<string name="IntentA">Click Next intent</string>
<string name="world">World!</string>
<string name="Intent0">Click to Previous Intent</string>
</resources>
main.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:textSize="18sp"/>
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/intentButton" android:text="@string/IntentA"></Button>
</LinearLayout>
intenta.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:orientation="vertical">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/TextViewWorld" android:text="@string/world" android:textSize="18sp"></TextView>
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ButtonIntentA" android:text="@string/Intent0"></Button>
</LinearLayout>
Screenshot
Sourcehttp://marakana.com/static/tutorials/IntentActionDemo.zip
Edited 5 times. Last edit by Bala Krishnan on Oct 26, 2010 at 6:31:37 AM (about 2 years ago).

Uzair Ali
ABC
Intent i = new Intent(context, NameOfClassToTransitionTo.class);
I get an error when i use the above line:
The constructor Intent(new View.OnClickListener(){}, Class<IntentA>) is undefined ...
How to resolve this issue??
Thanks

Serete Itebete
Uzair,
Make sure that the class (NameOfClassToTransitionTo.class) exists in your project. Try going to project>clean>build
See if that works. Let me know if that works

Rajesh Kumar
Svcet
hi ....i am new to android development. plz send me android examples
Edited 2 times. Last edit by Rajesh Kumar on Aug 11, 2010 at 9:39:22 PM (about 2 years ago).

Sarun Khumthong
Mahidol University
You have to add activity to the Manifest too.

Bala Krishnan
Android
Company
I m facing error while runnning this code ask to force close

Vootla Radha
Gameshastra solutions
iam new to android sdk...i have one dought, wht is the main use of intent?

Firzan Ghulam
Itechnologix
plz send me the source code for android chat application...!!!

Stefano Bizzi
BluePine Technology
Serete,
This will look a bit like a useless post, but every time I need a quick way to do something I stumble upon an example written by you that does EXACTLY what I need, nothing more, nothing less :) thanks!

Korada Rameshbabu
Xpio
hi sir,
Please explain the use of intent.putextras(String,String);
function.
what the use

Narendra Kumar Vaddi
SPTCS
When ever i try to pass data using intent,exceptions occurred. What i supposed to do to avoid that problem?
please send the reply sir.