多语言展示
当前在线:871今日阅读:23今日分享:25

android 在activity中使用intent

intent(意图)主要是解决Android应用的各项组件之间的通讯。既然是在各个组件之间进行通讯,就不仅仅代表着activity了.也就是说,intent不仅可以用来启动一个activity,也可以用来发起一个广播、启动一个服务等.intent是意图,既然是意图自然会携带着相关的信息,表达这个intent到底想干嘛。所以,intent会携带着一次操作的动作、动作涉及数据、附加数据等,然后android将会根据这这些信息找到对应的组件,进行相应的处理。比如,启动一个acitivity,intent就会携带着想要启动的那个activity的相关信息,android获取了这些信息,明确了要启动的那个activity,就会去启动它。
工具/原料
1

eclipse

2

android开发坏境

一.显示使用intent
1

通过指定Intent组件名称来实现的,一般是在同一个应用程序内部使用的。比如:我知道你的名字叫王XX,我就直接说,王XX过来一下,简单明了。

2

首先,创建一个android项目;然后,增加一个按钮,这个按钮就是用来启动另一个activity的。XML布局代码如下:很简单,就是增加一个按钮,这样我们第一个activity就完成了

3

然后,创建我们的第二个activity。从零创建一个acitivy需要3个步骤:1)首先要有一个java文件,是我们的acitivy的代码;2)要有一个布局文件XML,然后java文件中会引入这个布局,作为我们第二个activity的布局;3)将这个activity在清单文件中注册。

4

首先是第一步:创建一个新的java文件。直接右击工程/包(package) -->new->class,填写包名package,类名activity2,并点击SuperClass后面的browse..,输入Activity,让新建的这个类继承与此。

5

加入如下代码,调用父类的onCreate方法。public class activity2 extends Activity { @Override    protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); }}

6

然后是第二步,创建一个XML布局文件。右键res->layout,选择new->android xml file,名称为layout2

7

在这个XML中加入一个button按钮

8

创建XML成功后,回到刚才的代码中,引入这个布局

9

最后,在清单文件中对这个activity进行注册,加入如下代码:        到此,第二个activity创建成功

10

回到第一个activity,因为在布局中增加了一个按钮,现在我们要使用它。在mainactivity.java中添加对按钮的使用, Button b = (Button) findViewById(R.id.button);                b.setOnClickListener(new OnClickListener(){        @Override        public void onClick(View v) {        Intent intent = new Intent(MainActivity.this, activity2.class);        startActivity(intent);        }                });这里,intent就是显示使用,在intent的第一个参数,传入MainActivity.this作为上下文,而第二参数直接指明了我要启动的activity的名字,非常的明确,就是在MainActivity上启动activity2。

11

现在把代码运行起来,点击“启动另一个activity”,就可以直接启动第二个activity了

二.使用隐式intent
1

隐式intent相比于显式intent要隐晦的多,显式intent就是直接知道你的名字,直接喊你。但是隐式intent就是不知道你的名字,喊的是特性。比如,你在医院,不知道护士叫什么名字,你就可以喊“那个戴眼镜的年轻的护士”,“那个2楼耳鼻喉专家科室里的那个年轻的实习生”,医院再根据当前上下文,就知道你喊的是谁了。隐式intent就是这样子

2

在清单文件中,更改下activity2的相关内容                                                    其中,是必须要加上的,因为启动隐式intent默认的intent就是这个,如果不加上这个,会出错

3

更改mainactivity.java中的内容,将显式intent更改为隐式intent。注意,这里不需要单独去匹配android.intent.category.DEFAULT,因为这个是默认的

推荐信息