【原】Android学习二:Helloword和Android项目介绍

                   Android学习二:HellowordAndroid项目介绍

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程序。

posted @ 2011-12-01 16:30  roemin  阅读(2075)  评论(0编辑  收藏  举报