Android开发之“hello World”的实现

来源:
导读 大家好,我是本期栏目编辑小友,现在为大家讲解Android开发之“hello World”的实现问题。 按照惯例,为了更好地引导读者进入精彩的安卓世...

大家好,我是本期栏目编辑小友,现在为大家讲解Android开发之“hello World”的实现问题。

按照惯例,为了更好地引导读者进入精彩的安卓世界,我们将实现一个简单的“hello World”示例。本文以Android SDK 2.1为基础,以Eclipse Galileo(Eclipse 3.5)为IDE完成开发。

通过“文件”“新建”“项目”创建一个安卓项目,如图1所示。将“项目名称:”设置为“helloWorld”,“构建目标”设置为“Android 2.1”,“应用程序名称:”设置为“helloWorld”,“包名称:”设置为“com . miozl . hello world”,“创建活动:”设置为“hello”。然后单击“完成”按钮完成项目的创建。

1创建Android项目。

需要注意的是,在安卓的设计中,安卓1.0的SDK版本为“1”,安卓1.1的SDK版本为“2”,安卓1.5的SDK版本为“3”,安卓1.5的SDK版本为“4”,安卓2.0的SDK版本为“5”,安卓2.0.1的SDK版本为“6”,安卓2.1的SDK版本为“7”,安卓2.2的SDK版本为“8”,安卓2.3的SDK版本为“9”,而SDK版本为在选择具体的SDK版本时,要在考虑技术实现可行性的前提下,选择最小的版本,有利于扩展兼容的物理设备。

在创建安卓项目的过程中。由于Eclipse,系统可能会提示“没有指定类文件,转换为Dalvik格式失败,出现错误1”。如果出现此错误消息,请按“F5”刷新项目一次。需要注意的是,这个问题从Foryo之后就很少出现了。复制的项目可能会导致项目属性出现问题,可以通过在安卓项目的右键菜单中选择“安卓工具”“修复项目属性”修复系统属性来解决。

此外,如果是第一次创建项目,Eclipse会提示用户“未能找到与targetrdq兼容的avd”。

uo;。这是由于Android在稍后的版本中不再提供默认的Android虚拟设备(AVD,Android Virtual Device),需要用户自行创建。在Linux中,AVD相关的文件包括userdata.img映像文件,默认情况下存于/root/.android目录中,AVD描述了当前模拟器的设备配置信息。当工程创建完成后,即可在Eclipse的“Package Explorer”中看到Android的工程布局。Eclipse对于所辖工程的维护默认情况下位于/root/workspace/.metedata目录中。如果期望获得一个干净的运行环境,直接删除/root/.android和/root/workspace/.metedata目录即可。

如图2所示为所生成的Android的“helloWorld”工程布局,其中“.settings”描述了Eclipse和采用的JDT包的若干信息;“.assets”为空目录,描述了工程的断言信息,断言并不常用,常见的用法是维护一些工程的资源文件,但断言对于单个文件有1MB的大小限制。

“bin”为输出文件目录,包含了各源文件对应的CLASS字节码文件、“ap_”格式的资源文件、DEX字节码文件和最终利用“aapt”工具打包的APK格式的Android安装包。需要说明的是APK格式的Android安装包本质上为ZIP格式的压缩包,包含了资源、DEX字节码文件和AndroidManifest.xml等,当系统检测到APK格式的文件时,系统会把它当做一个应用看待。

“gen”为资源数据目录。包含了“aapt”工具在工程内所发现的所有资源数据。

“res”为描述资源的XML文件目录,通常包括“drawable”、“layout”、“values”等子目录,描述了工程涉及的图标、字符串和布局等信息,复杂的应用还涉及“menu”、“color”、“style”等目录。其中布局资源文件为main.xml,字符串资源文件为strings.xml。

“src”为工程源文件目录,包含了开发者创建的Java文件。

“.classpath”文件描述了工程涉及的路径信息。

“.project”文件描述了工程名、所需的编译命令等工程信息。

“AndroidManifest.xml”则描述了工程实现细节如“manifest”、“application”、“activity”、“intent-filter”、“action”、“category”、SDK版本信息等信息、应用程序的权限等,是Android工程中最重要的文件。

“default.properties”描述了SDK的版本信息。 图2 Android工程布局

对于基于原生代码的应用,在工程下可能还存在“jni”目录用于存放原生源代码,存在“libs”目录,用于存放编译原生源代码生成的动态共享库等。

按照惯例,同时也是为了更好地引导读者进入精彩的Android世界,我们接下来要实现一个简单的“hello World”例子。这里以Android SDK 2.1为基础基于Eclipse Galileo(Eclipse 3.5)作为IDE来完成开发。

通过“File”→“New”→“Project”创建Android工程,如图1所示。设置“Project name:”为“helloWorld”,设置“Build Target”为“Android 2.1”,设置“ApplicaTIon name:”为“helloWorld”,设置“Package name:”为“com.miaozl.helloWorld”,设置“Create AcTIvity:”为“helloWorld”。然后单击“Finish”按钮即可完成工程的创建。 图1 创建Android工程

需要说明的是,在Android的设计中,Android 1.0的SDK版本为“1”、Android 1.1的SDK版本为“2”、Android 1.5的SDK版本为“3”、 Android 1.5的SDK版本为“3”、 Android 1.6的SDK版本为“4”、 Android 2.0的SDK版本为“5”、 Android 2.0.1的SDK版本为“6”、 Android 2.1的SDK版本为“7”,Android 2.2的SDK版本为“8”,Android 2.3的SDK版本为“9”,Android 3.0的SDK版本为“Honeycomb”。在具体SDK版本的选择上,应在考虑技术实现可行性的前提下,选择尽量小的版本,这有利于扩大兼容的物理设备。

在创建Android工程的过程中。由于Eclipse的原因,系统可能会提示“no classfiles specified,Conversion to Dalvik format failed with error 1”,如果出现该错误信息,按“F5”键刷新一次工程即可。需要说明的是,在Foryo后,该问题已经很少出现。对于复制过来的工程,可能会引起工程属性方面的问题,这一问题可以通过Android工程的右键菜单选择“Android Tools”→“Fix Project ProperTIes”修复系统属性解决。

另外如果是第一次创建工程, Eclipse会提示用户“Failed to find an AVD compaTIble with target”。这是由于Android在稍后的版本中不再提供默认的Android虚拟设备(AVD,Android Virtual Device),需要用户自行创建。在Linux中,AVD相关的文件包括userdata.img映像文件,默认情况下存于/root/.android目录中,AVD描述了当前模拟器的设备配置信息。当工程创建完成后,即可在Eclipse的“Package Explorer”中看到Android的工程布局。Eclipse对于所辖工程的维护默认情况下位于/root/workspace/.metedata目录中。如果期望获得一个干净的运行环境,直接删除/root/.android和/root/workspace/.metedata目录即可。

如图2所示为所生成的Android的“helloWorld”工程布局,其中“.settings”描述了Eclipse和采用的JDT包的若干信息;“.assets”为空目录,描述了工程的断言信息,断言并不常用,常见的用法是维护一些工程的资源文件,但断言对于单个文件有1MB的大小限制。

“bin”为输出文件目录,包含了各源文件对应的CLASS字节码文件、“ap_”格式的资源文件、DEX字节码文件和最终利用“aapt”工具打包的APK格式的Android安装包。需要说明的是APK格式的Android安装包本质上为ZIP格式的压缩包,包含了资源、DEX字节码文件和AndroidManifest.xml等,当系统检测到APK格式的文件时,系统会把它当做一个应用看待。

“gen”为资源数据目录。包含了“aapt”工具在工程内所发现的所有资源数据。

“res”为描述资源的XML文件目录,通常包括“drawable”、“layout”、“values”等子目录,描述了工程涉及的图标、字符串和布局等信息,复杂的应用还涉及“menu”、“color”、“style”等目录。其中布局资源文件为main.xml,字符串资源文件为strings.xml。

“src”为工程源文件目录,包含了开发者创建的Java文件。

“.classpath”文件描述了工程涉及的路径信息。

“.project”文件描述了工程名、所需的编译命令等工程信息。

“AndroidManifest.xml”则描述了工程实现细节如“manifest”、“application”、“activity”、“intent-filter”、“action”、“category”、SDK版本信息等信息、应用程序的权限等,是Android工程中最重要的文件。

“default.properties”描述了SDK的版本信息。 图2 Android工程布局

对于基于原生代码的应用,在工程下可能还存在“jni”目录用于存放原生源代码,存在“libs”目录,用于存放编译原生源代码生成的动态共享库等。

技术专区 睿赛德科技喜迁新址 ,RT-Thread进入新的加速发展阶段 可靠性高、控制灵活、低功耗可调速风扇散热系统 安防监控摄像头LED驱动解决方案 如何定制嵌入式Linux发行版 基于SoC实现的数据采集系统详解

标签:

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。