6,创建和启动手机模拟器
AVD:Android Virtual Device
Target:指定手机模拟器需要使用的Android平台版本
SD Card:指定SD Card所在位置,Size是SD卡的容量
Skin:指定所要使用的屏幕分辨率
QVGA (240x320, low density, small screen)
WQVGA (240x400, low density, normal screen)
FWQVGA (240x432, low density, normal screen)
HVGA (320x480, medium density, normal screen)
WVGA800 (480x800, high density, normal screen)
WVGA854 (480x854, high density, normal screen)
点击Create AVD,模拟器就创建好了。然后点击右边菜单栏"start"按钮,启动模拟器。
7、学习使用Android操作系统
8、开发与运行、卸载第一个Android应用
Applicaion name:应用的名称
package name: 应用所在的包名称
Activity:接受和处理用户请求,显示界面
Min SDK Version: 最低兼容版本号,根据需要输入相应的API Level
9、Android应用的目录结构
|---src:存放Java源文件。
|---gen:自动生成目录,该目录中的R文件存放res中某个资源的引用,不要试图手工修改R文件,R文件自动生成。
|---assets:存放资源文件,比如大容量视频文件,存放的资源不会在R文件中生成引用,会被打包到安装程序中。
|---res:存放资源文件,存放的资源会在R文件中生成引用。
| |---drawable:存放图片、图标。
| |(1)drawable-hdpi里面存放高分辨率的图片,如WVGA(480x800)、FWVGA(480x854)。
| |(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA(320x480)。
| |(3)drawable-ldpi里面存放低分辨率的图片,如QVGA(240x320)。
| |系统会根据机器的分辨率分别在这几个文件夹里面去找对应的图片,三种分辨率的图片文件名称必须一致。
| |在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同分辨率图片。
| |---layout:存放应用中使用的界面文件,main.xml相当于html、jsp,自己也可以新建###.xml,结构需和main.xml一致。
| |---values:存放应用中使用到的常量数据,比如按钮上的文字、颜色、尺寸数据等等。strings.xml文件名称可以是任意名称,可有多个结构相同的
| strings.xml。
| |---anim:存放定义动画的XML文件。
| |---xml:在Activity中使用getResources().getXML()读取该目录下的XML资源文件。
| |---raw:该目录用于存放应用使用到的原始文件,如音效文件等。编译软件时,这些数据不会被编译,它们被直接加入到程序安装包里。为了在程序中使用 | 这些资源,可以调用getResources().openRawResource(ID),参数ID形式:R.raw.somefilename
|---AndroidManifest.xml:项目清单文件,存放应用中使用到的组件、权限等等,安装应用程序时此文件由操作系统读取。
| Android应用中四大组件:Activity、内容提供者、服务、广播接收者。
|---default.properties:该文件说明Android应用所使用的SDK版本。
10、分析项目清单文件AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xawx.activity" ---------应用所在的包,四大组件必须在应用所在的包或者其子包中创建。
android:versionCode="1" ---------应用的版本号,一般是从1开始,往后每发布一个新版本递增1。
android:versionName="1.0"> ---------应用的版本名称,是一个string,用于显示给用户。在程序中可以通过PackageManager的getPackageInfo
(java.lang.String, int)来获取版本信息。
<application android:icon="@drawable/icon" android:label="@string/app_name">
//android:icon---应用的图标;android:label---应用的标题(标签);@代表R文件
//定义activity组件
<activity android:name=".MainActivity" -----activity类名,此时可以省略前面的.,但是类在子包中时,不可以省略前面的.。.代表应用所在的包
android:label="@string/app_name"> ----activity的标题(标签)
<intent-filter> --------意图过滤器,类似于Filter的filter-mapping。
<action android:name="android.intent.action.MAIN" /> -------需要进行过滤的条件,该Activity作为应用的入口类(只有一个入口类)
<category android:name="android.intent.category.LAUNCHER" /> ---------需要进行过滤的类别,该Activity会出现在启动器列表中
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="8" /> --------最低兼容版本号
</manifest>
11、分析布局文件layout/main.xml以及Android应用的界面布局
顶级元素(例如LinearLayout)的schema不能省略。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"----------------LinearLayout:线性布局,其中的控件以行或者列来显示
android:orientation="vertical" ----------------vertical以列来显示,horizontal以行来显示
android:layout_width="fill_parent" ----------------宽度填充父元素,在此填充整个手机屏幕的宽度
android:layout_height="fill_parent" ----------------高度填充父元素,在此填充整个手机屏幕的高度
>
<TextView ----------------类似于Label,此控件用于显示文字
android:layout_width="fill_parent" ----------------宽度填充父元素,在此填充整个线性布局的宽度,也可以使用具体的数值,比如100px
android:layout_height="wrap_content"----------------包裹内容
android:text="@string/hello" -----要显示的文字内容,也可以这样写android:text="你好网星"(不建议这样写,以便于国际化,节省手机内存)
/>
</LinearLayout>
显示单位:
px (pixels)像素
一般HVGA代表320x480像素,这个用的比较多。
dip或dp (device independent pixels)设备独立像素
和设备硬件有关,一般为了支持WVGA、HVGA和QVGA推荐使用它,不依赖像素。
sp (scaled pixels — best for text size)比例像素
主要处理字体的大小,可以根据系统的字体自适应。
除了上面三个显示单位,此外还有几个不太常用的:
in (inches)英寸
mm (millimeters)毫米
pt (points)点,1/72英寸
为了适应不同分辨率,不同的像素密度,推荐使用dip,文字使用sp。
界面布局方式:
LinearLayout(线性布局)、AbsoluteLayout(绝对布局,不建议使用)、RelativeLayout(相对布局)、TableLayout(表格布局)、FrameLayout(帧布局)
可以参看D:\android-sdk-windows\docs\guide\topics\ui\layout-objects.html