Skip to main content

Using Intent in Android

Intent and intent filters in Android/Using intent to start a new activity/Intent Example in android





Ø  Intents are asynchronous messages which allow Android components to request functionality from other components of the Android system

Ø  Eg: an Activity can send an Intents to the Android system which starts another Activity
Ø  Intents are instances of the android.content.Intent class.

Ø  An Intent can also contain data. This data can be used by the receiving component

Ø  Eg: application can calls via an Intent a browser component. As data is it may send the URL to the browser component.

Ø  Intent  Flters  registers Activities, Services, Broadcast Receiver (as being capable of performing an action on a set  of data)

Ø  Two types of Intents:  Implicit Intents and Explicit Intent

Ø  Explicit Intents- component which should be called by the Android system, by using the Java class as identifier.
                   Intent i = new Intent(this, ActivityTwo.class);
                   startActivity(i)

Ø  Implicit Intent: do not specify the Java class which should be called. They specify the action which should be performed and optionally an URI which should be used for this action

           Intent intent=new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.brainbitz.in"));
          startActivity(intents)


You can use intents for a wide variety of tasks, but most often they’re used to start another activity.
In order to start Intent

Intent intent=new Intent(this,SecondActivity.class);

Constructor requires two parameters
Context
The Class of the app component to which the system should deliver the Intent 
An intent not only allows you to start another activity, but it can carry a bundle of data to the activity as well. An Intent can carry a collection of various data types as key-value pairs called extras. The putExtra() method takes the key name in the first parameter and the value in the second parameter.

Intent.putExtra(“reference_variable”,”data”);
startActivity

Example
StartActivity.java
package com.example;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class StartActivity extends Activity {
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
      }
      public void start(View v){
            Intent intent=new Intent(this,SecondActivity.class);
            startActivity(intent);
      }
}

SecondActivity.java
package com.example;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;

public class SecondActivity extends Activity{

      @Override
      protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            String s=getIntent().getStringExtra("data");
            Toast.makeText(this, s, Toast.LENGTH_LONG).show();
      }
}


AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example" android:versionCode="1" android:versionName="1.0">
      <uses-sdk android:minSdkVersion="10" />

      <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:name=".StartActivity" 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"></activity>
      </application>
</manifest>


Comments

Popular posts from this blog

Capture image without surface view as background service in android

Capture image without user knowledge in android/Capture image as background service in android/Take photo without preview in android/ Camera without preview in android  package com.example.picture; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.app.Service; import android.content.Context; import android.content.Intent; import android.hardware.Camera; import android.hardware.Camera.Parameters; import android.media.AudioManager; import android.os.IBinder; import android.util.Log; import android.view.SurfaceHolder; import android.view.SurfaceView; public class CameraService extends Service {       //Camera variables       //a surface holder       private SurfaceHolder sHolder ;        //a variable to control the camera       private Camera mCamera ;   ...

Custom Spinner in Android

Custom Spinner in Android/Spinner using custom adapter/spinner with icon and text  In this tutorial, i'll show you to customizing spinner in different methods.  To change the normal display of spinner view, add background image using the code " android:background="@drawable/myspinner_background" in the xml. You can also make it customizable by setting up an xml file in drawable folder Custom display with icon in the spinner   main.xml <? 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"     >     < Spinner     android:drawSelectorOnTop = "true"     android:id = "@+id/spinner1"     android:layout_width = "match_parent"     and...

Coroutine- A complete tutorial

 What are coroutines? To know about coroutine, first you need to know about asynchronous programming, thread and multithreading concept. What is a thread? Thread describes in which context the function or sequence of instructions should be executed. So, every block of code or functions runs in a thread, right? Also, you can load multiple threads to perform different block of codes  How to start a thread? Thread thread = new Thread(){     public void run(){       System.out.println("This is a thread");     }   }     thread.start(); So when coming to android, before learning about coroutines we need to discuss some scenarios. Normally how an app works when user launch an application. When user launchers the application, a main thread is created. This thread is intended to do small operations like button clicks, UI interaction , small mathematical operations. We cant perform long running op...