今天介绍一下第一个Android程序。顺便熟悉一下eclipse中开发Android应用程序的基本步骤。
首先,打开eclipse,在Package Explorer中点击右键,选择New -- Android Project
然后,在弹出的对话框中,在Project Name中输入helloworld
在Build Target中选择需要的SDK版本,我选择Android2.2
接下来在Properties中输入需要的信息:
在Application name中输入应用的名字,我输入“第一个android程序”
在Package name中输入包名,com.ui.view
如果勾选了Create Activity,则在后面输入Activity的名字HelloActivity(对于Activity,可以理解成手机的一屏)
最后输入Min SDK Version:8(因为选择了Android2.2,它对应的API Level版本是8)
然后点击Finish
到此未知,第一个Android应用程序已经创建完成!
现在对这个项目大致浏览一下,可以发现helloworld下的目录结构是
helloworld
--src
----com.ui.view(为什么是这个名字,是因为刚才在Package name中输入了com.ui.view)
------HelloActivity.java(这个同理)
--gen
----com.ui.view
------R.java
--Android 2.2
----android.jar
--assets
--res
----drawable-hdpi
----drawable-ldpi
----drawable-mdpi
----layout
------main.xml
----values
------string.xml
--AndroidManifest.xml
--default.properties
src为源文件存放目录
gen为编译器自动生成的文件存放目录
assets和res目录为存放程序中需要的资源的目录,包括字符串,文件,图片等
区别在于assets中存放的资源不会在R.java中生成资源标识,如果要引用它里面的资源,需要写上相对路径。
注意:R.java中的内容不要去改动它!!
res下中存放资源后,将会自动在R.java中生成一个唯一的资源标识
drawable-hdpi,drawable-ldpi,drawable-mdpi分别用于存放高分辨率,分辨率,中分辨率的图片
layout用于存放布局文件,布局文件是xml格式的,可以手动编辑也可以在可视化环境中修改。
values下的strings.xml是为了方便管理字符串以及国际化考虑,如果要发布不同语言的应用,只需把这个文件做多个语言的版本即可。
最后介绍AndroidManifest.xml
这是一个功能清单文件,会自动将一些项目信息放在这里。
如果要在应用中使用一些系统功能,如写了一个新的Activity、访问SD卡,则需要在这里申明权限。具体使用将在以后遇到的时候介绍。这里只需知道这个文件是自动生成的,在一般情况下,不需要改动它。
基本点都在这里了,有些枯燥,下面来运行一下这个项目,看看效果:
在项目名上点右键,选择Run As --> Android Application
点击按钮Home,回到主屏幕,可以看到刚才写的“第一个android程序”就是应用的名字:
下面,简单分析程序中的代码
HelloActivity.java代码
package com.view.ui;
import android.app.Activity;
import android.os.Bundle;
public class HelloActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
自定义的Activity类都要继承Activity,并覆盖onCreate方法,该方法会被android系统自动调用。
setContentView用于显示视图界面。
R.java文件代码:
package com.view.ui;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}
该类是一个资源索引类,由编译器自动生成,无需修改
一般attr中声明属性;drawable中声明图片资源;
layout中声明布局文件;string中声明字符串;
如果在布局文件中对控件添加android:id="@+id/xxxName",则会在R.java中生成以id为类名的资源索引
string.xml文件代码:
Hello World, HelloActivity!
第一个Android程序
该文件中声明字符串常量,一是为了维护方便,方便国际化;二是提高程序运行效率,节约内存
main.xml文件代码:
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
LinearLayout是线性布局方式,android共有五种布局方式,线性布局是比较常用的一种
android:orientation="vertical"属性表明组件以垂直方式排列,即如下图方式
如果希望水平方式,则使用android:orientation="horizontal"
接下去的
android:layout_width="fill_parent" 表示布局的宽度充满父控件
android:layout_height="wrap_content"表示组件的高度根据自身高度
最后
android:text="@string/hello"表示文本内容引用string.xml文件中的hello元素
AndroidManifest.xml文件代码:
package="com.view.ui"
android:versionCode="1"
android:versionName="1.0">
android:label="@string/app_name">
每一个Android工程都有一个名为AndroidManifest.xml配置文件,是一个全局配置文件,项目中用到的四大组件(Activity,Service,ContentPrivider,Broadcast Receiver)都要在该文件中声明。以及声明一些权限以及SDK的最低版本等信息。
是找到该Activity的过滤器,这里的action表明该Activity是程序的入口,category属性表明在加载程序时运行。
表明使用的SDK最低版本。
ok。今天的介绍就到这里。
阅读(2514) | 评论(0) | 转发(0) |