分类: 嵌入式
2010-10-02 23:15:25
环境搭建
在开始之前,你需要先准备以下环境以及程序
必备 |
Microsoft Windows XP/Microsoft Windows Vista操作系统 |
Android SDK 1.1r1 |
Java Development Kit(JDK)v6.0以上 |
eclipse-jee-ganymede-SR1-win32版本为编译环境 |
好,开始下载吧!
下载完成后,我们进行android 开发环境的搭建。
1.在Eclipse编译IDE环境中,需安装ADT(Android Development Tools)plug-in,此为Android的开发工具,启动Eclipse后,请运行“Help—Software Updates>>Find and Install”,并按下“Add Site”输入ADT plug-in网址后(如下),按下“Install”便开始自动下载安装:
下载后,安装向导会显示两项必须安装的程序:Android Development Tools与Android Editors。
安装ADT所需的时间不长,也可以在后台运行,不会影响现有的操作系统程序。安装完毕后,需要重新启动Eclipse,才能使用Android ADT。
至此Android SDK及ADT已安装完毕,所有准备工作都已经就绪,随时可以开始建立Android项目。
2.初次建立Android项目之前,需要设置Android SDK的路径,让Eclipse可以找到Android SDK,先执行“Window—Preferences”。
点击“Android”的树状列表,单击“Browse”按钮,选择刚才解压的Android SDK的路径,而后按下“Apply”设置让Eclipse引用的SDK文件夹。
l
开发经典案例HelloWorld
1.开发步骤
Android SDK的引用路径设置完成之后,就可以开始建立Hello World这个经典范例了;运行“File—New>>Project”建立新项目。
新建项目向导需要指定一种应用程序类型,故展开“Android”后,点击“Android Project”,按下“Next”按钮继续。
新建Android项目需输入项目名称(Project name)、Package name、Activity name以及Application name,最后按下“Finish”按钮,项目随即建立完成。
到目前为止,新建Android项目已经完成,而且这个新建立的程序也已经可以运行,运行的方法是在“Package Explorer”窗口里,点开刚建立好的“HelloWorld”项目文件夹,并在项目名称上单击鼠标右键,在功能菜单上运行“Run As>Android Application”功能。
假若此时尚未将手机与计算机联机,那么Eclpise将打开默认的Android模拟器(Emulator),运行画面就如同真的手机开机一样,随着计算机硬件环境的不同,运行模拟器也会有不同的性能表现,开机之后,随即打开刚建立好的Hello World程序。
要退出被启动的“Hello World”程序,可以按下手机模拟器上的退格键(Backspace)。
2.代码认识
虽然半行代码都没有写,但向导却帮忙写好了程序进入点、布局配置、字符串常数、应用程序访问权限等,除了可作为程序模板之外,也是Android手机程序的最佳学习范例。
让我们回过头来看看刚才Android项目建立向导帮忙做了哪些工作,以此来了解Android应用程序的生命周期及其文件组成方式;首先,展开“Package Explorer”窗口里的“HelloWorld”项目名称,可以看见如下数据结构的文件:
+HelloWorld
+-src
+-helloworld.irdc.eracom.com.cn
+-HelloWorld.java
+-R.java
+-Android Library
+-android.jar - D:\SDK\android
+-assets
+-res
+-drawable
+-icon.png
+-layout
+-main.xml
+-values
+-strings.xml
+-AndroidManifest.xml
在展开的文件夹层中,“src”、“Android Library”、“assets”、“res”与“AndroidManifest.xml”同属一层,放置在“\src”里的为主程序、程序类(class);放置在“\res”里的为资源文件(Resource Files),如程序ICON图标、布局文件(\layout)与常数(\values)。
以此Hello World程序为例,主程序为“HelloWorld.java”,其内容与一般Java程序格式相类似:
package helloworld.irdc.eracom.com.cn;
import android.app.Activity;
import android.os.Bundle;
public class HelloWorld extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
主程序里可看见HelloWorld类继承自Activity类,在类中重写了onCreate() 方法,在方法内以setContentView() 来设置这个Acvitity要显示的布局(R.layout.main),使用布局配置“\layout\main.xml”,布局文件是以XML格式编写的,内容如下:
xmlns:android=""
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"
/>
布局配置中设置了一个TextView TAG,用以配置文本标签Widget,其内部设置的android:text属性,则是要显示的文字内容,引用“@string”里的hello字符串常数。
查看“values/strings.xml”字符串常数设置如下:
其中“hello”字符串变量的内容为“Hello World, HelloWorld”,这即是刚才看见的Hello World程序显示的文字内容了。
Android应用程序有以下三种类型:
l 前端Activity(Foreground Activities)。
l 后台服务(Background Services)。
l 间隔执行Activity(Intermittent Activities)。
前端Activity就如同这个Hello World一样,运行在手机前端程序中;后台服务可能是看不见的系统服务(System Service)、系统Broadcast(广播信息)与Receiver(广播信息)接收器);间隔执行Activity则类似如进程(Threading)、Notification Manager等等。
每一个项目都有一个“AndroidManifest.xml”设置文件,里头包含这个Android应用程序具有哪些Activity、Service或者Receiver,先来看看Hello World制作好的“AndroidManifest.xml”设置文件的内容描述:
xmlns:android=""
package="helloworld.irdc.eracom.com.tw"
android:versionCode="1"
android:versionName="1.0.0">
android:icon="@drawable/icon"
android:label="@string/app_name">
android:name=".HelloWorld"
android:label="@string/app_name">
在manifest文件中有一个名为HelloWorld的Activity,设置其intent-filter的category android:name为"android.intent.category.LAUNCHER",写在intent-filter里是指定此
Activity为默认运行的主要Activity,除了在manifest文件中手动设置之外,也可在Eclipse右击项目名称,运行“Run As—Run Configurations”,设置Launch Action。
Activity类的应用程序有其默认运行的方式,为了确保应用程序运行的优先级,理解Activity在手机运行时的生命周期,及其可视性(Visible)周期。
l ▲Activity自onStop之后,程序即可被关闭
以Hello World程序里继承自Activitry类开始,一旦程序被执行,即会照以上流程顺序进行,若需要在Activity程序里编写程序,默认常见的进入点为重写onCreate(Activity)或onStart(Service),重写的方式可通过Eclipse来选择,方法为将鼠标光标停在继承自Activity的空白处,单击鼠标右键展开菜单,点开执行“Source—Override/Implement Methods”功能。
在重写于实现方法的对话框中,点开“Activity”树状列表,在其中找到了onCreate(Bundle)方法,勾选前方的选择项(CheckBox),再按下“OK”按钮即可。