您的位置:首页 > 移动开发 > Android开发

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

2016-04-01 18:17 645 查看
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);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: