在Eclipse里建立一个helloworld工程,具体做法网上很多,这里就不介绍了。
这里建立一个工程【TestAndroid】,展开工程,目录结构如下:
在展开的文件夹层中,”src”、”Android Library”、”assets”、”res”与”AndroidManifest.xml”同属一层,放置在”\src”里的为主程序、程序类(class);放置在”\res”里的为资源文件(Resource Files),如程序ICON图标、布局文件(\layout)与常数(\values)。
以此TestAndroid程序为例,主程序为”act.java”,其内容与一般Java程序格式相类似:
03 | import android.app.Activity; |
04 | import android.os.Bundle; |
06 | public class Act extends Activity { |
08 | ?? public void onCreate(Bundle savedInstanceState) { |
10 | ???? super .onCreate(savedInstanceState); |
11 | ???? setContentView(R.layout.main); |
主程序里可看见Act类继承自Activity类,在类中重写了onCreate() 方法,在方法内以setContentView() 来设置这个Acvitity要显示的布局(R.layout.main),使用布局配置”\layout\main.xml”,布局文件是以XML格式编写的,内容如下:
01 | <? xml version = "1.0" encoding = "utf-8" ?> |
02 | < LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" |
03 | ???? android:orientation = "vertical" |
04 | ???? android:layout_width = "fill_parent" |
05 | ???? android:layout_height = "fill_parent" |
08 | ???? android:layout_width = "fill_parent" |
09 | ???? android:layout_height = "wrap_content" |
10 | ???? android:text = "@string/hello" |
布局配置中设置了一个TextView TAG,用以配置文本标签Widget,其内部设置的android:text属性,则是要显示的文字内容,[email protected]
查看”values/strings.xml”字符串常数设置如下:
1 | <? xml version = "1.0" encoding = "utf-8" ?> |
3 | ???? < string name = "hello" >Hello World, act!</ string > |
4 | ???? < string name = "app_name" >机器人测试</ string > |
其中”hello”字符串变量的内容为”Hello World, act”,这即是TestAndroid程序显示的文字内容了。
Android应用程序有以下三种类型:
前端Activity(Foreground Activities)。
后台服务(Background Services)。
间隔执行Activity(Intermittent Activities)。
前端Activity就如同这个TestAndroid一样,运行在手机前端程序中;后台服务可能是看不见的系统服务(System Service)、系统Broadcast(广播信息)与Receiver(广播信息)接收器);间隔执行Activity则类似如进程(Threading)、Notification Manager等等。
每一个项目都有一个”AndroidManifest.xml”设置文件,里头包含这个Android应用程序具有哪些Activity、Service或者Receiver,先来看看Hello World制作好的”AndroidManifest.xml”设置文件的内容描述:
01 | <? xml version = "1.0" encoding = "utf-8" ?> |
02 | < manifest xmlns:android = "http://schemas.android.com/apk/res/android" |
03 | ?????? package = "com.gandl" |
04 | ?????? android:versionCode = "1" |
05 | ?????? android:versionName = "1.0" > |
06 | ???? < application android:icon = "@drawable/icon" android:label = "@string/app_name" > |
07 | ???????? < activity android:name = ".act" |
08 | ?????????????????? android:label = "@string/app_name" > |
09 | ???????????? < intent-filter > |
10 | ???????????????? < action android:name = "android.intent.action.MAIN" /> |
11 | ???????????????? < category android:name = "android.intent.category.LAUNCHER" /> |
12 | ???????????? </ intent-filter > |
16 | ???? < uses-sdk android:minSdkVersion = "5" /> |