打开Eclipse,依次选择File——>New——>Android Project。如果New之后没有找到Android Project,就选择Project,在弹出的窗口里找Android Project。打开新建Android Project的窗口:
Project Name:项目名称;
红框里的三个选项:Create new project in workspace:直接建立一个新项目;
Create project from existing source:从已有项目中创建;
Create project from existing sample:从已有示例项目总创建。
根据需要选择如何创建新项目。在这里,选择“Create new project in workspace”,然后点击“Next>”:
这个界面是要选择这个Android项目对应的SDK版本,勾选自己需要的版本,在这里有两点需要注意:一是版本只能选一个,二是在高版本SDK下开发的应用在低版本Andoird环境下运行可能会出现问题。选好版本后,继续点击“Next>”:
在这里输入应用名称(Applicaton Name)、包名(Package Name),选择是否创建Activity(Create Activity),以及Activity的名称,选择该应用运行所需的最低SDK版本(就是上一篇中提到的那个API Level)。如果选择了一个较高版本的Minimum SDK,那么这个应用将不会被允许在低版本的Android环境下运行,不过这一点可以在后面再调。
这里出现了一个新的东西:Activity。Activity,直接翻译成汉语是“活动”的意思,但是这个翻译结果很难让人明白它到底是什么。其实一个Activity就是一个可见的、可交互的界面。比如说,打开短消息应用,显示出来的界面就是一个Activity,再打开写短信界面,这又是一个Activity。它是一个Android应用的组件。
填完这些内容之后,点击“Finish”,一个新的Android项目就创建完成了。如果勾选了刚才界面里的“Create a Test Project”,那么Eclipse还会在创建一个对应该项目的一个测试项目,一般情况下不用这样做。
接下来,看一下这个Android项目的目录结构:
src:java源文件;
gen:Generated Java Files,生成的Java文件,这里面的内容是由Eclipse自动生成并维护的,不需要手动去修改;
Android 2.2 & Android Dependices:Android类库,注意在这里面已经包含了Java的类库,所以不需要在项目中再引入JDK;
assets:这个目录下是放置这个应用中非编译的资源,即不会被安装,而是会被直接拷贝到存储卡里的内容,比如要在应用中打开一部视频,那么就可以把这部视频放到assets里,然后在程序里根据uri来打开它;
bin:编译好的文件(.class、.apk、.dex);
res:这个目录下放置了该Android应用所要用到的图标、布局文件和所有元素的显示内容。Android应用的界面是由res\layout目录下的xml文件来定义的,res\values里的settings.xml定义了所有元素默认显示的内容,res\drawable里的内容是存放应用程序的图标和一些固定显示的图片,需要注意的是drawable又分为hdpi(高分辨率)、ldpi(低分辨率)、mdpi(中分辨率)和xhdpi(极高分辨率),这是为了适应不同设备屏幕分辨率的要求而设定的,因此一个应用中的同一张图片也需要有对应不同dpi的版本放置在相应目录下,而且名字还得一样。在res里定义的所有的layout文件、放置的图片和settings里定义的每一个元素值,在应用中都有一个唯一的标识符,这个标识符存在于gen目录下的R.java文件中,应用程序应用这些资源时正是通过这个唯一的标识符来引用的,也因此R.java文件交由Eclipse来维护,开发人员不用去理会它。
res展开后的目录结构:
接下来看一下剩下的三个文件:
AndroidManifest.xml:Android清单,打开这个文件,可以看到以下的这些内容:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zzy.newapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".NewAndroidAPPActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
<uses-sdk android:minSdkVersion="8" />
这个标签定义了该Android应用运行所需的最低SDK版本
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".NewAndroidAPPActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
这一大段用于注册该Android应用中所有的Activity组件,如果一个Activity没有在这里注册,那么它在运行时将会提示出错。在这段代码里有这样一段:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
这段代码的意思是:这个应用程序运行时,首先打开的是包含这段代码的Activity元素。
除了上述两个标签外,还有一个常用的标签:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
uses-permission,定义了该应用所需要用到的权限。android.permission.ACCESS_WIFI_STATE即获取WIFI状态的权限。
剩下的两个文件:proguard-project.txt和project.properties是项目工程文件。
Android项目的主体目录就是这样,接下来运行一下这个项目,看一看运行起来是什么样子。
在项目目录文件上点击鼠标右键,选择Run As——>Android Application,然后会弹出这样一个选择框:
在这里可以选择在那个设备上运行,上面列表是一打开的设备,下面的是未打开的。选择一个设备,点击“OK”。如果该设备还没打开,那么需要等一段时间待设备打开后才能看到运行情况:
可以看到,这个应用成功运行并在屏幕上打印出一句话:“Hello World,NewAndroidAPPActivity!”
友情提示:Android虚拟设备启动非常缓慢,因此在实际做应用时建议先打开一个Android设备备用。
另外如果选择Run As——>Android Application后没有出现选择设备的界面,那么需要在Eclipse的Run Configurations里进行设置: