Activity的建立以及Intent的使用
上一篇中我们建立了一个工程并运行了它,当我们建立工程的时候会自动建立一个Activity,那么如果我们想自己写一个Activity也是可以的,下面我们来看一下具体怎么做:
同样我们需要建立一个工程,这里不再重述,建立好工程之后,在src的包下面右键New——》class,并起好名字,然后打开,在里面我们就可以写自己的Activity,看下具体代码:
package com.example.activity; import android.app.Activity; import android.os.Bundle; /** * 创建Activity: * 1.继承Activity * 2.覆写oncreate方法 * 3.创建一个xml文件 * 4.通过setContentView加载视图 * 5.在AndroidManifest文件中注册:书写一个activity标签,标签中需加入一个name属性 */ //继承Activity类 public class L001_Activity extends Activity{ //重写OnCreate方法 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //加载视图 setContentView(R.layout.act2); } }
在这之前我们需要创建一个xml文件,找到res——》layout——》右击New——》Android XML File,这里我们取的名字是act2,这个名字对应的就是上面代码中的R.layout.act2,这是在加载视图时用到的,我们可以在这个Activity中建立自己的组件。每一个Android应用都需要有一个入口Activity,当我们建立工程的时候,这个入口就是“MainActivity”,如果我们想运行自己写的Activity,则需要在AndroidMainfest.xml文件中注册一个,具体代码是这样的:
<activity android:name="L001_Activity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
上面的代码中需要我们写的就是第一行和最后一行,中间的内容是我们在MainActivity剪贴过来的,中间的内容其实就是程序的入口,因为只能有一个入口,所以我们剪贴过来。这样我们自己的Activity就建立好了,并且运行之后就是我们自己建立组件的内容。
上面的工程中在src中有两个class,一个是我们自己创建的,一个是系统自动创建的。那么怎么实现两个Activity的跳转呢?这就用到了Intent,看一下具体怎么做吧:因为是跳转所以最开始入口还是MainActivity,所以我们只需注册一个Activity,而不需要剪贴入口,然后我们在activity_main.xml中建立一个按钮,通过点击按钮来进行跳转。剩下的改动的地方就是MainActivity,代码如下:
package com.anjoyo.twoactivity; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { //声明Button对象 private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //找到Button的id btn = (Button) findViewById(R.id.button1); //创建Button的监听,使用内部类的形式 btn.setOnClickListener(new OnClickListener() { //触发事件的方法 @Override public void onClick(View v) { //表示从MainActivity跳到Act2 Intent i = new Intent(MainActivity.this,Act2.class); //启动Activity的方法 startActivity(i); } }); } }
这样执行的时候,当我们点击按钮,就会从当前界面跳转到我们自己写的界面,跳转是通过Intent来完成的。