Activity在Android程序中是一个最基本的单元,可以说Activity就是我们看到的每一个界面。今天就来初步学习和体验一下这个概念:
一、Activity的概念
一个activity相当于手机的一屏,它能够获得焦点,用户一般都在它上面操作。几乎所有的activity都跟用户打交道,所以Activity类主要负责创建一个窗口,而你可以通过调用setContentView(View)方法在Activity上放置你的UI组件。Activity除了通常作为一个全屏的窗口呈现给用户之外,他们还有其他的使用方法:1、作为一个浮动窗口,这可以通过设置theme属性windowIsFloatting来实现;2、嵌入其他的Activity,这使用ActivityGroup来实现。
Activity的子类通常要实现如下两个方法,也就是说,当你要自己创建一个activity的时候,一般需要实现的:
1. onCreate(Bundle)。我们可以在该方法里面初始化Activity。通常,我们在这个方法里面调用setContentView(int)来设置Activity的内容,这个方法的int类型的形参是一个布局资源的ID,我们在这个布局中就设计好了Activity的内容了。此外,使用findViewById(int)方法检索到我们要进行交互的widgets组件。
2. onPause()。当用户离开当前activity的时候,我们就在这个方法里面处理,一般来说,就是处理用户所做的改变,譬如用户填写了一些数据,我们就在这个方法里提交这些数据进行保存,通常是保存到ContentProvider。
二、创建一个Activity的步骤
1、一个Activity就是一个类,并且这个类需要继承Activity
2、需要复写OnCreat方法
3、每个Activity都需要在Androidmanifest.xml中进行配置。
4、为Activity添加必要的控件
三、实验步骤
1、在Eclipse中新建一个Android工程文件,系统自动匹配一个Activity文件,它的布局文件在LayOut文件中的Main.xml文件。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" 宽度满屏
android:layout_height="fill_parent" 高度满屏
android:orientation="vertical" > 控件线性排列
<TextView 系统自动包含的一个TextView控件
android:id="@+id/myTextView" 手动为该控件添加ID
android:layout_width="fill_parent"
android:layout_height="wrap_content" 高度根据内容自动匹配
/>
<Button 在Activity上添加了一个Button控件
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
2、在Activity文件中设置控件的值
package MrGet.Activity;
import android.app.Activity; 导入的一些文件,可以通过ctrl+shift+o使系统自动导入必要文件
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
/*
* 1、一个Activity就是一个类,并且这个类要继承Activity
* 2、需要复写OnCreate方法
* 3、每一个Activity都需要在Androidmanifest.xml中进行注册
* 4、为Activity添加必要的组件
*/
public class Activity01 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView myTextView=(TextView)findViewById(R.id.myTextView);
Button MyButton=(Button)findViewById(R.id.button1);
myTextView.setText("11111111111111");
MyButton.setText("anniu!");
}
}
可以通过findViewById方法获得控件的句柄,当然要注意返回值的类型匹配。
3、运行
在模拟器中运行的程序效果如下:
三、几个思考的问题
1、Eclipse中提供了对于布局文件的可视化操作,方便简洁,但具体使用方法还需进一步学习
2、Androidmanifest.xml文件的具体配置选项
3、Eclipse中键入一个函数或类,系统能否自动匹配?