显式Intent与隐式Intent

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

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

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

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="成功跳转!"
        />


</LinearLayout>


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里面加入如下代码片段

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

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

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

 <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_filter>代码片段如下

<intent-filter>
               <action android:name="cn.xiaopeng.intentxianshi.ACTION_START"/>
               <category android:name="android.intent.category.DEFAULT"/

 </intent-filter>

在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



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值