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来完成的。