显式Intent与隐式Intent

intent是Android程序中各组件之间进行交互的一种方式,他不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。intent一般可用作启动活动,启动服务发送广播等场景,下面我们来了解下intent启动活动;intent用法大致分为两大类,显式intent和隐式intent。

一:显式intent(已经创建好一helloworld的工程)

1:先创建一个布局布局文件(xml)代码如下


    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
            android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="成功跳转!"
        />




2:先创建一个活动,让其继承自Activity,代码如下

package cn.xiaopeng.intentxianshi;
import android.app.Activity;
import android.os.Bundle;
public class Intent2 extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.secend);

}



}

3:在AndroidMenifest.xml文件中来进行注册,没有注册的activity是不能用的,代码如下

在application里面加入如下代码片段

             android:name=".Intent2"
           android:label="第二个页面">
           
   

4:开始准备跳转,在布局里面加入一个Button,让其实现跳转,并在Main_Activity里面为button设置点击事件使其完成跳转

布局文件里面加入如下代码片段

          android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/tv"
        android:id="@+id/bt1"
        android:text="显示跳转"/>

Main_Activity里面加入如下代码片段

package cn.xiaopeng.intentxianshi;


import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button=(Button) findViewById(R.id.bt1);
button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=new Intent(MainActivity.this,Intent2.class);
startActivity(intent);
}
});

}
}

二:隐式intent的用法

隐式intent和显式intent的用法基本相似,区别在于隐式intent在注册的时候需要在加入activity里面加入代码片段如下


               
               

 

在intent里面面用intent传递的时候在intent里面传入参数是注册时候加入intent_filter里面的action里面的name的参数

点击事件的代码如下:

button3.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=new Intent("cn.xiaopeng.intentxianshi.ACTION_START");
startActivity(intent);
}
});

完整代码下载地址http://pan.baidu.com/s/1kTnhQxp



你可能感兴趣的:(显式Intent与隐式Intent)