您的位置:首页 > 移动开发 > Android开发

Android应用开发学习总结(二)——新建项目与目录结构了解

2012-05-06 13:59 921 查看
  打开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里进行设置:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: