eclipse
android开发坏境
通过指定Intent组件名称来实现的,一般是在同一个应用程序内部使用的。比如:我知道你的名字叫王XX,我就直接说,王XX过来一下,简单明了。
首先,创建一个android项目;然后,增加一个按钮,这个按钮就是用来启动另一个activity的。XML布局代码如下:很简单,就是增加一个按钮,这样我们第一个activity就完成了
然后,创建我们的第二个activity。从零创建一个acitivy需要3个步骤:1)首先要有一个java文件,是我们的acitivy的代码;2)要有一个布局文件XML,然后java文件中会引入这个布局,作为我们第二个activity的布局;3)将这个activity在清单文件中注册。
首先是第一步:创建一个新的java文件。直接右击工程/包(package) -->new->class,填写包名package,类名activity2,并点击SuperClass后面的browse..,输入Activity,让新建的这个类继承与此。
加入如下代码,调用父类的onCreate方法。public class activity2 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); }}
然后是第二步,创建一个XML布局文件。右键res->layout,选择new->android xml file,名称为layout2
在这个XML中加入一个button按钮
创建XML成功后,回到刚才的代码中,引入这个布局
最后,在清单文件中对这个activity进行注册,加入如下代码:
回到第一个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。
现在把代码运行起来,点击“启动另一个activity”,就可以直接启动第二个activity了
隐式intent相比于显式intent要隐晦的多,显式intent就是直接知道你的名字,直接喊你。但是隐式intent就是不知道你的名字,喊的是特性。比如,你在医院,不知道护士叫什么名字,你就可以喊“那个戴眼镜的年轻的护士”,“那个2楼耳鼻喉专家科室里的那个年轻的实习生”,医院再根据当前上下文,就知道你喊的是谁了。隐式intent就是这样子
在清单文件中,更改下activity2的相关内容
更改mainactivity.java中的内容,将显式intent更改为隐式intent。注意,这里不需要单独去匹配android.intent.category.DEFAULT,因为这个是默认的