Android学习笔记(二)第一个Activity

来源:互联网 发布:翼支付淘宝 编辑:程序博客网 时间:2024/05/04 08:37
 

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中键入一个函数或类,系统能否自动匹配?