android 在activity中使用intent
1、通过指定Intent组件名称来实现的,一般是在同一个应用程序内部使用的。比如:我知道你的名字叫王XX,我就直接说,王XX过来一下,简单明了。
2、首先,创建一个android项目;
然后,增加一个按钮,这个按钮就是用来启动另一个activity的。
XML布局代码如下:
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="启动另一个activity"
/>
很简单,就是增加一个按钮,这样我们第一个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
android:name="com.example.test.activity2"
android:label="@string/app_name" >
</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了
1、隐式intent相比于显式intent要隐晦的多,显式intent就是直接知道你的名字,直接喊你。但是隐式intent就是不知道你的名字,喊的是特性。比如,你在医院,不知道护士叫什么名字,你就可以喊“那个戴眼镜的年轻的护士”,“那个2楼耳鼻喉专家科室里的那个年轻的实习生”,医院再根据当前上下文,就知道你喊的是谁了。隐式intent就是这样子
2、在清单文件中,更改下activity2的相关内容
<activity
android:name="com.example.test.activity2"
android:label="@string/app_name" >
<intent-filter>
<action android:name="alsp" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="yinshi" />
</intent-filter>
</activity>
其中,
<category android:name="android.intent.category.DEFAULT" />
是必须要加上的,因为启动隐式intent默认的intent就是这个,如果不加上这个,会出错

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