Android学习二:Helloword和Android项目介绍
1、新建项目
搭建好开发环境之后,我们来创建一个Hello World工程,体验一下Android的开发。
1) 选择【File】>【New】>【Project】
2) 选择【Android】>【Android Project】,点击【Next】
将会出现以下界面:
这里新建项目的对话框:
Project name:项目名
Build Target:Android SDK 的版本,我这里选择的是2.2版本.
Application name:应用程序的名称
Package name:包名
Create Activity:是否创建Activity一般都是默认创建的.
Min SDK Version: 这里填写的内容根据你上面Build Target勾选的SDK.的Api Level
这里是8,所以填写8
2、介绍项目文件
项目创建后文件夹展开如上图所示。
Src:里com.boject.helloworld下有一个Helloworld.java,他的名字就来自于我们新建项目的时候填写的Acivity name, 这个Helloworld就继承自Activity(Android Framework里面最重要的一个类,详细信息可以参考 -> (Activity ), 我们简单地理解为它是一个UI的容器,直接跟用户打交道最前端的类。
Gen:Android自己维护这一个public final class R类主要是跟新资源文件,这个R.java无需我们自己去修改,如果你不了解千万不要去修改它,它定义的每个资源值都是唯一的,不会和系统冲突。这个文件由ADT插件自动更新,当你编辑过Res文件后保存,这个类就会自动更新。 R.java里面一般有attr、drawable、id、raw、layout、string以及xml等,根据你工程使用的资源而定。无法当R.java文件丢失时,就需要重建这个。
Res: res是resources的缩写,顾名思义,你程序中所需要的文字,图片,布局文件等等资源都是放在这个文件夹下面的,你现在看到这个文件夹下面有:
Drawable-hdpi
Drawable-ldpi
Drawable-mdpi
这三个都是存放图片.对于这三个文件夹的说明可以看看这篇文章.
Layout: 这个是放布局文件的
Values: 下面放字符串(strings.xml ),颜色(colors.xml ),数组(arrays.xml )
Res远不止放这些内容,可以参加其他资料深一步了解.
Android 帮我们把这些资源都管理起来,内容资源化的作用是很明显的,做国际化方便了,使用同一个资源的时候也方便也更节省空间(全局的引用),res文件夹中内容变化,R.java都会重新编译同步更新,所以这个类不需要你去手动更新了。
最后一个AndroidManifest.xml是每一个应用都需要的文件. 位于应用根目录下, 描述了程序包的一个全局变量, 包括暴露的应用组件(activities, services等等)和为每个组件的实现类, 什么样的数据可以操作, 以及在什么地方运行.
3、 项目运行
右键项目选择【Run As】>【Android Application】运行
运行出来的界面如下:
可能有些人运行出来看不到这样的界面。可能是屏幕被锁了,这个时候点击右边的 menu按钮就可以解锁了。
4、代码说明
A、Helloworld.java分析
1 public class Helloworld extends Activity {
2
3 /** Called when the activity is first created. */
4
5 @Override
6
7 public void onCreate(Bundle savedInstanceState) {
8
9 super.onCreate(savedInstanceState);
10
11 setContentView(R.layout.main);
12
13 }
14
15 }
Helloworld继承Activity,需要重载onCreate方法.
setContentView(R.layout.main)告诉activity使用的是哪个UI文件
这里的R.layout.main 就是指Layout文件夹下面的main.xml文件。
B、R文件分析
1 public final class R {
2
3 public static final class attr {
4
5 }
6
7 public static final class drawable {
8
9 public static final int icon=0x7f020000;
10
11 }
12
13 public static final class layout {
14
15 public static final int main=0x7f030000;
16
17 }
18
19 public static final class string {
20
21 public static final int app_name=0x7f040001;
22
23 public static final int hello=0x7f040000;
24
25 }
26
27 }
这个文件主要存放android用到的资源常量。Android会自动为添加在res文件下面的资源生成一个常量ID,供项目开发中使用。例如:大家可以看一下drawable文件夹下面的有一张icon.png文件,在这里就会自动为这个文件生成一个ID。
C、main.xml布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"/>
</LinearLayout>
开发中所用到的所有控件声明都有在这里体现。
LinearLayout这个标签说明是使用线性布局,里面的属性分别说明了,垂直分布,宽度和高度全屏填充。
这里还声明了一个TextView控件。
针对UI布局的学习笔记将会在后续的文章中展示出来,这里只做一些粗略的说明。
D、string.xml文件
这里主要声明开发中常用到的字符串、颜色等等,当然这些也可以在程序中写。但是为了可以更好的国际化,建立还是在这里声明然后在程序中调用。
<resources>
<string name="hello">Hello World, Helloworld!</string>
<string name="app_name">Helloworld</string>
</resources>
这里的hello和app_name 都有在R文件中生成相应的ID。
大家动起来吧~创建自己第一个helloworld版本的android程序。