Android中intent的作用,显式意图和隐式意图

Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent来执行动作和产生事件。使用Intent可以激活Android应用的三个核心组件:活动、服务和广播接收器。
Intent可以划分成显式意图和隐式意图。
显式意图:调用Intent.setComponent()或Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。
隐式意图:没有明确指定组件名的Intent为隐式意图。 Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。

Android中的Intent有两大作用。
一、用来启动其他新的Activity。
二、作为传递数据和事件的桥梁。传递数据时的代码有两种:

第一种是:
Intent intent = new  Intent(CurrentActivity.this , OtherActivity.class); 
intent.putExtra(“data” , somedata); 
第二种是:
新建一个Bundle,再把该Bundle加入intent,如:
Bundle bundle = new Bundle() ; 
bundle.putString(“data” , somedata) ; 
intent.putExtras(bundle)。

在第二个Activity中取出第一个Activity传递过来的数据:
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.other);
  //取得从上一个Activity当中传递过来的Intent对象
   Intent intent = getIntent();
  //从Intent当中根据key取得value,实现两个Activity之间数据的传送。
   String value = intent.getStringExtra("testIntent");
  //根据控件的ID得到响应的控件对象
   myTextView = (TextView)findViewById(R.id.myTextView);
  //为控件设置Text值
   myTextView.setText(value);
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二一点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值