2024年2月20日发(作者:)

Android教案

第一章. 搭建开发环境

一. 在Eclipse中安装ADT插件

二. 配置Android SDK

三. 使用Android模拟器

四. 开发第一个Android应用

1. 创建HelloWorld程序

2. 介绍Android组件

3. UI组件的通用属性

 android:id:该属性指定了该控件的唯一标识,在Java程序中可通过findViewById(“id”)方法来获取指定的Android界面组件。

 android:layout_width:指定该界面组件的宽度。如果该属性值为fill_parent,则说明该组件与父容器具有相同的宽度;如果属性值为wrap_content,则说明该组件的宽度取决于它的内容。

 android:layout_height:指定该界面组件的高度。

注意:Android把用户界面放在XML文档中定义,这样就可以让XML文档专门负责用户UI设置,而Java程序则专门负责业务实现,这样可以降低程序的耦合性。

4. src中的源码介绍

第二章. 初级界面编程

一. 界面编程与视图组件

1. 视图组件基本介绍

Android应用的绝大部分UI组件都放在包及其子包、包及其子包中,Android应用的所有UI组件都继承了View类、View组件非常类似于Swing编程的JPanel,它代表一个空白的矩形区域。

Android推荐使用XML布局文件来定义用户界面。

2. 使用XML布局文件控制UI界面

通过使用XML布局文件来控制视图,可以将应用的视图控制逻辑从Java代码中分离出来,放入XML文件中控制,这样更好地体现MVC原则。

Java代码可以通过如下方法在Activity中显示该视图:

setContentView(.<资源文件名>);

当在布局文件中添加多个UI组件时,都可以为该UI组件指定android:id属性,该属性的属性值代表该组件的唯一标识。

在Java代码中访问指定UI组件,可通过:

FindViewById(.<属性值>);

3. 使用XML布局文件和Java代码混合控制UI界面

使用原则:将变化小,行为比较固定的组件放在XML布局文件中管理,而那些变化较多、行为控制比较复杂的组件则交给Java代码来管理。

实例:图片浏览器

(1) Activity_

xmlns:android="/apk/res/android"

android:id="@+id/root"

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent">

(2) MainActivity

public class MainActivity extends Activity {

int[]images=new int[]

{1,2,3,4,5};

int currentImage = 0;

@Override

protected void onCreate(Bundle savedInstanceState) {

te(savedInstanceState);

setContentView(ty_main);

LinearLayout layout =

(LinearLayout)findViewById();

final ImageView imageView = new ImageView(this);

w(imageView);

geResource(images[0]);

lickListener(new OnClickListener() {

@Override

public void onClick(View v) {

if(currentImage>4){

}

currentImage = 0;

geResource(images[currentImage++]);

}});

}

}

4. 将程序部署到真机

 手机链接电脑并开启USB调试功能。

 在Eclipse中右击项目->Run as->Run Configurations->Target在该选项卡下不选择任何目标设备,此时在运行项目时可以选择真机运行。

二. 布局管理器

创建一个文本框

TextView hello = new TextView(this);

t(“Hello Android”);

为了让这个组件在不同的手机屏幕上都能运行良好,不同手机屏幕的分辨率、尺寸并不完全相同,如果让程序手动控制每个组件

的大小、位置,则将给编程带来巨大的困难。为了解决这个问题,Android提供了布局管理器。

布局管理器可以根据运行平台来调整组件的大小,程序员要做的,只是为容器选择合适的布局管理器。

布局管理器可以作为容器,管理各个组件。

1. 线性布局

线性布局由LinearLayout类来代表,将容器里的组件一个挨着一个地排列起来。LinearLayout不仅可以控制各组件横向排列,也可控制各组件纵向排列。

注:当组件一个挨着一个地排列到头之后,Android的线性布局不会换行,剩下的组件将不会被显示出来。

LinearLayout支持的常用XML属性

XML属性 相关方法 说明

设置布局管理器内组件的对齐方式。该属性支持top、bottom、left、right、center_vertical、fill_vertica、center_horizontal、fill_horizontal、center、fill、clip_vertical、clip_horizontal几个属性。也可以同时指定多种对齐方式的组合,例如:left|center_vertical代表出现在屏幕左边,而且垂直居中。

android:gravity setGravity(int)

设置布局管理器内组件的排列方式,可以设android:orientation setOrientation(int)

置为horizontal(水平排列)、vertical(垂直排列、默认值)两个值的其中之一。

2. 表格布局

表格布局由TableLayout所代表,表格布局采用行、列的形式来管理UI组件,TableLayout并不需要明确地声明包含多少行、多少列,而是通过添加TableRow、其他组件来控制表格的行数和列数。

每次向TableLayout中添加一个TableRow,该TableRow就是一个

表格行,TableRow也是容器,因此它也可以不断地添加其他组件,每添加一个子组件该表格就增加一列。

在表格布局中,列的宽度由该列中最宽的那个单元格决定,整个表格布局的宽度则取决于父容器的宽度。

为单元格设置的3种行为方式:

shrinkable:如果某个列被设为shrinkable,那么该列的所有单元格的宽度可以被收缩,以保证该表格能适应父容器的宽度。

stretchable:如果某个列被设为stretchable,那么该列的所有单元格的宽度可以被拉伸,以保证组件能完全填满表格空余空间。

collapsed:如果某个列被设为stretchable,那么该列的所有单元格会被隐藏。

xmlns:android="/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="match_parent">

android:layout_width="fill_parent"

android:layout_height="match_parent">

android:layout_width="fill_parent"

android:layout_height="match_parent">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:text="员工编号"/>

android:layout_width="match_parent"

android:layout_height="match_parent"

android:text="员工姓名"/>

android:layout_width="match_parent"

android:layout_height="match_parent"

android:text="员工年龄"/>

android:layout_width="match_parent"

android:layout_height="match_parent"

android:text="所属部门"/>

android:layout_width="match_parent"

android:layout_height="match_parent"

android:text="操作"/>

android:layout_width="match_parent"

android:layout_height="match_parent"

android:text="7781"/>

android:layout_width="match_parent"

android:layout_height="match_parent"

android:text="张三"/>

android:layout_width="match_parent"

android:layout_height="match_parent"

android:text="26"/>

android:layout_width="match_parent"

android:layout_height="match_parent"

android:text="研发部"/>