Android应用程序中文教材 有米分享_第1页
Android应用程序中文教材 有米分享_第2页
Android应用程序中文教材 有米分享_第3页
Android应用程序中文教材 有米分享_第4页
Android应用程序中文教材 有米分享_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Android应用程序中文教材试 阅:上一小节已经对SDK进行了安装与配置,本节将带领读者构建基于Eclipse的集成开发环境,具体步骤如下。 (1)读者只需登录到/downloads/即可下载最新版本的Eclipse安装程序,本书采用的版本是3.5.1。 (2)将下载好的Eclipse解压到C盘根目录,如图1-7所示。 图1-7 eclipse安装目录(3)双击C:eclipse目录下的eclipse.exe运行Eclipse,依次单击菜单Help/Install New Software,如图1-8所示。 图1-8 Eclipse的软件安装 (4)

2、单击弹出的Install界面中的“Add”按钮,在Name中输入任意的名字,并在Location中输入ADT的下载地址/android/eclipse/,如图1-9所示.正 文: 第1章 Android平台简介 Android是Google公司于2007年11月5日发布的基于Linux内核的移动平台,该平台由操作系统、中间件、用户界面和应用软件组成,是一个真正开放的移动开发平台。 本章将介绍Android系统的起源、特点、应用程序框架以及开发环境的搭建,让读者对Android平台有个初步的了解,之后将开发第一个Android程序Hello And

3、roid,并通过对该程序的简单分析,带领读者步入Android开发的大门。 1.1 Android的来龙去脉 Android的创始人Andy Rubin是硅谷著名的“极客”,他离开Danger移动计算公司后不久便创立了Android公司,并开发了Android平台,他一直希望将Android平台打造成完全开放的移动终端平台。之后Android公司被Google公司看中并将其收购。不久,号称全球最大的搜索服务商Google大举进军移动通信市场,并推出自主品牌的移动终端产品。 2007年11月初,Google正式宣布与其他33家手机厂商、软硬件供应商、手机芯片供应商、移动运营商联合组成开放手机联盟

4、(Open Handset Alliance),并发布名为Android的开放手机软件平台,希望建立标准化、开放式的移动电话软件平台,在移动行业内形成一个开放式的生态系统。 Android作为谷歌企业战略的重要组成部分,将进一步推进“随时随地为每一个人提供信息”这一企业目标的实现。但Android只是补充,并不会代替谷歌长时间以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成企业合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。 1.2 掀起Android的盖头来 自从Android发布以来,越来越多的人关注Android的发展,越来越多的开发人员为Android系统开

5、发应用,那是什么使Android备受青睐,什么使Android在众多移动平台中脱颖而出呢? 1.2.1 选择Android的理由 与其他手机的操作系统相比,Android具有如下优点: . 开放性; . 平等性; . 无界性; . 方便性; . 硬件的丰富性。 下面将对以上各个优点进行简单介绍。 1开放性 提到Android的优势,首先想到的一定是其真正的开放,其开放性包含底层的操作系统以及上层的应用程序等,Google与开放手机联盟合作开发Android的目的就是建立标准化、开放式的移动单击软件平台,在移动产业内形成一个开放式的生态系统。 Android的开放性也同样会使大量的程序开发人员投

6、入到Android程序的开发中,这将为Android平台带来大量新的应用。 2平等性 在Android的系统上,所有的应用程序完全平等,系统默认自带的程序与自己开发的程序没有任何区别,程序开发人员可以开发个人喜爱的应用程序未替代系统的程序,构建个性化的Android手机系统,这些功能在其他的手机平台是没有的。 在开发之初,Android平台就被设计成由一系列应用程序组成的平台,所有的应用程序都运行在一个虚拟机上面。该虚拟机提供了系列应用程序之间和硬件资源通信的API。而除了该虚拟机,其他的所有应用全部平等。 3无界性 Android平台的无界性表现在应用程序之间的无界,开发人员可以很轻松地将自

7、己开发的程序与其他应用程序进行交互,比如应用程序需要播放声音的模块,而正好你的手机中已经有一个成熟的音乐播放器,此时你就不需要再重复开发音乐播放功能,只需简单地加上几行代码即可将成熟的音乐播放功能添加到自己的程序中。 4方便性 在Android平台中开发应用程序是非常方便的,如果你对Android平台比较熟悉的话,想开发一个功能全面的应用程序并不是什么难事。Android平台为开发人员提供了大量的实用库及方便的工具,同时也将Google Map等强大的功能集成了进来,只需简单的几行调用代码即可将强大的地图功能添加到自己的程序中。 5硬件的丰富性 由于平台的开放,众多的硬件制造商推出了各种各样、

8、千奇百怪的产品,但这些产品功能上的差异并不影响数据的同步与软件的兼容,例如原来在诺基亚手机上的应用程序,可以很轻松地被移植到摩托罗拉手机上使用,且联系人、短信息等资料更是可以方便地转移。 1.2.2 Android的应用程序框架 从软件分层的角度来说,Android平台由应用程序、应用程序框架、Android运行时库层以及Linux内核共4部分构成,本节将分别介绍各层的功能,分层结构如图1-1所示。 图1-1 Android平台架构图 1应用程序层 本层的所有应用程序都是由Java编写的,一般情况下,很多应用程序都是在同一系列的核心应用程序包中一起发布的,主要有拨号程序、浏览器、音乐播放器、通

9、信录等。该层的程序是完全平等的,开发人员可以任意将Android自带的程序替换成自己的应用程序。 2应用程序框架层 对于开发人员来说,接触最多的就是应用程序框架层。该应用程序的框架设计简化了组件的重用,其中任何一个应用程序都可以发布自身的功能供其他应用程序调用,这也使用户可以很方便地替换程序的组件而不影响其他模块的使用。当然,这种替换需要遵循框架的安全性限制。 该层主要包含以下九大部分,如图1-2所示。 图1-2 应用程序框架 . 活动管理(Activity Manager)。用来管理程序的生命周期,以及提供最常用的导航回退功能。 . 窗口管理(Window Manager)。用来管理所有的应

10、用程序窗口。 . 内容管理(Content Providers)。通过内容管理,可以使一个应用程序访问另一个应用程序的数据,或者共享数据。 . 视图管理(View System)。用来构建应用程序的基本组件,包括列表、网格、按钮、文本框,甚至是可嵌入的Web浏览器。 . 包管理(Package Manager):用来管理Android系统内的程序。 . 电话管理(Telephony Manager)。所有的移动设备的功能统一归电话管理器管理。 . 资源管理(Resource Manager)。资源管理器可以为应用程序提供所需要的资源,包括图片、文本、声音、本地字符串、甚至是布局文件。 . 位置

11、管理(Location Manager)。该管理器是用来提供位置服务的,比如GPRS定位等。 . 通知管理(Notification Manager)。主要对手机顶部状态栏的管理,开发人员在开发Android程序时会经常使用,比如来短信提示、电量低提示,还有后台运行程序的提示等。 3Android运行时库 该层包含两部分,程序库及Android运行时库。 程序库为一些C/C+库,这些库能够被Android系统中不同的应用程序调用,并通过应用程序框架为开发者提供服务。而Android运行时库包含了Java编程语言核心库的大部分功能,提供了程序运行时所需调用的功能函数。 程序库主要包含的功能库如图

12、1-3所示。 图1-3 程序库框架 . libc。是一个从BSD继承来的标准C系统函数库,专门针对移动设备优化过的。 . Media Framework。基于PacketVideo公司的OpenCORE。支持多种常用音频、视频格式回放和录制,并支持多种图像文件,如MPEG-4、H.264、MP3、AAC、AMR、JPG、PNG等。 . Surface Manager。Surface Manager主要管理多个应用程序同时执行时,各个程序之间的显示与存取,并且为多个应用程序提供了2D和3D图层无缝的融合。 . SQLite。所有应用程序都可以使用的轻量级关系型数据库引擎。 . WebKit。是一

13、套最新的网页浏览器引擎。同时支持Android浏览器和一个可嵌入的Web视图。 . OpenGLIES。是基于OpenGL ES 1.0 API标准来实现的3D绘制函数库。该函数库支持软件和硬件两种加速方式执行。 . FreeType。提供位图(bitmap)和矢量图(vector)两种字体显示。 . SGL。提供了2D图形绘制的引擎。 Android运行时库包括核心库及Dalivik虚拟机,如图1-4所示。 图1-4 Android运行时库 . 核心库(Core Libraries)。该核心库包括Java语言所需要的基本函数以及Android的核心库。与标准Java不一样的是,系统为每个An

14、droid的应用程序提供了单独的Dalvik虚拟机来执行,即每个应用程序拥有自己单独的线程。 . Dalvik虚拟机(Dalvik Virtual Machine)。大多数的虚拟机(包括JVM)都是基于栈的,而Dalvik虚拟机则是基于寄存器的,它可以支持已转换为.dex格式的Java应用程序的运行。.dex格式是专门为Dalvik虚拟机设计的,更适合内存和处理器速度有限的系统。 4Linux内核 Android平台中操作系统采用的是Linux 2.6内核,其安全性、内存管理、进程管理、网络协议栈和驱动模型等基本依赖于Linux。对于程序开发人员,该层为软件与硬件之间增加了一层抽象层,使开发过

15、程中不必时时考虑底层硬件的细节。而对于手机开发商而言,对此层进行相应的修改即可将Android平台运行到自己的硬件平台之上。 1.3 Android开发环境的搭建 本节主要讲述如何构建基于Eclipse的Android开发环境,之后对开发环境进行测试并创建第一个Android应用程序Hello Android。 1.3.1 SDK的下载及安装 前面已经对Android平台进行了简单的介绍,从本节开始,将带领读者逐步搭建自己的开发环境,具体的步骤如下。 (1)登录到SUN官方网站/javase/downloads下载最新的JDK安装程序。 (2)双击刚刚下载的

16、JDK安装程序jdk-6u18-windows-i586.exe,根据提示将JDK安装到默认目录。 (3)右键单击我的电脑,依次选择属性/高级/环境变量,在系统变量中新建一个名为JAVA_HOME,值为“C:Program FilesJavajdk1.6.0_18”的环境变量。 (4)再打开Path环境变量,在最后加上“C:Program FilesJavajdk1.6.0_18bin;”,单击“确定”按钮即可。 (5)到页面下载最新的SDK,本书使用的版本是2.1,其他版本的安装与配置方法基本相同。 (6)将下载好的SDK压缩包解压到C盘

17、根目录下,如图1-5所示。 图1-5 Android SDK安装环境(7)右键单击我的电脑,依次选择属性/高级/环境变量,打开Path系统环境变量,在其最后加上SDK的解压目录中的tools目录“C:android-sdk-windowstools”,单击“确定”按钮完成配置,如图1-6所示。 图1-6 SDK环境变量配置 1.3.2 Eclipse集成开发环境的搭建 上一小节已经对SDK进行了安装与配置,本节将带领读者构建基于Eclipse的集成开发环境,具体步骤如下。 (1)读者只需登录到/downloads/即可下载最新版本的Eclipse安装程

18、序,本书采用的版本是3.5.1。 (2)将下载好的Eclipse解压到C盘根目录,如图1-7所示。 图1-7 eclipse安装目录(3)双击C:eclipse目录下的eclipse.exe运行Eclipse,依次单击菜单Help/Install New Software,如图1-8所示。 图1-8 Eclipse的软件安装 (4)单击弹出的Install界面中的“Add”按钮,在Name中输入任意的名字,并在Location中输入ADT的下载地址/android/eclipse/,如图1-9所示。 图1-9 填写ADT地址 提示 如果输入的地址

19、不能正常下载ADT,读者可以尝试将/ android/eclipse/改为/android/eclipse/。如果出现下载的ADT与已经安装的SDK版本不兼容的情况,可以手动下载ADT压缩包,然后单击“Archive”按钮选择手动下载ADT压缩文件即可安装,如图1-10所示。 图1-10 选择ADT压缩文件 (5)在Install界面选中“Developer Tools”并单击“Next”按钮,如图1-11所示。 图1-11 选择Develpoer Tools (6)在弹出的界面中,直接单击“Fini

20、sh”按钮,如图1-12所示。Eclipse将弹出提示窗口,单击“Yes”按钮,系统将自动重启Eclipse,到此为止已经完成ADT的安装。 图1-12 ADT安装完成界面(7)重启Eclipse后,依次选择Window/Preferences,如图1-13所示。 图1-13 选择“Preferences”菜单 (8)在弹出的窗口中选择左侧的“Android”,然后通过单击右侧的“Browse”按钮来选择SDK的安装目录,单击“OK”按钮完成配置,如图1-14所示。 图1-14 Preferences配置 1.3.3 虚拟设备的创建与模拟器的运行 前几小节已经完成了Eclipse集成环境的搭建

21、工作,但在运行模拟器前还需要创建AVD(Android Virtual Device,Android虚拟设备)。AVD实质上是用来描述模拟器的属性的,有了AVD开发人员可以为自己的模拟器进行必要的设置,比如屏幕尺寸、内存等。本节将运用之前搭建好的Eclipse环境创建虚拟设备并运行模拟器,具体步骤如下。 (1)在系统的开始菜单中单击“运行”按钮,在弹出的窗口中输入“cmd”进入命令行,如图1-15所示。 图1-15 启动cmd命令行(2)通过cd命令导航到android的安装目录下的tools下,并通过android list target命令来显示当前可用的目标机,如图1-16所示。 图1-

22、16 当前可用的目标机 (3)然后通过android create avd-name android21-target 6命令创建一个名为android21、目标机id为6的AVD,创建的AVD默认存放在我的文档下,而Android的AVD并不支持中文目录,可以通过配置ANDROID_SDK_HOME环境变量来指定所创建的avd的存放位置。 提示 除了使用命令行方式来创建AVD外,还可以使用Eclipse自带的AVD Manager来创建。在Eclipse中依次选择“Window/Android SDK and AVD Manager”打开AVD管理界面,如图1-17和图1-18所示,在AVD

23、管理界面中不仅可以创建AVD,还可以对已经存在的AVD进行管理。 图1-17 打开AVD管理器 图1-18 AVD管理界面 (4)在CMD命令行中导航到android的tools目录后输入emulator-avd android21命令启动Android模拟器,如果安装和配置正确的话,将出现如图1-19所示的模拟器界面。 图1-19 Android2.1模拟器效果图 提示 运行模拟器时可能会很慢,有时甚至可能达到几分钟时间,如果没有报错,请读者耐心等待。 1.3.4 第一个Android程序 前面已经对Android的开发环境和模拟器进行配置,本节将带领读者构建第一个Android程序并对该程

24、序进行简单的讲解。 1创建第一个Android应用程序 (1)启动Eclipse,依次选择“File/New/ OtherEclipse”将弹出创建项目的窗口,如图1-20所示。 图1-20 创建项目界面 (2)选择“Android Project”,单击“Next”按钮,将弹出填写项目信息的界面,如图1-21所示。 图1-21 填写项目信息(3)填写如图1-21所示的信息后单击“Finish”按钮即可完成项目的创建。创建后可在Package Explorer窗口中观察到项目的目录结构,如图1-22所示。 图1-22 HelloAndroid项目目录结构 (4)在项目名上单击鼠标右键,然后依次

25、选择“Run As/Android Application”即可运行刚才创建的HelloAndroid项目,运行效果图如图1-23所示。 图1-23 HelloAndroid项目竖屏效果图 提示 因为有很多程序或者游戏是横屏模式的,所以在程序调试过程中,可能需要将模拟器切换成横屏模式,读者可以通过使用快捷键Ctrl+F12来切换模拟器的横竖屏模式,HelloAndroid程序在横屏模拟器中运行效果如图1-24所示。 图1-24 HelloAndroid项目横屏效果图 2HelloAndroid的简单讲解 通过前面的学习,读者已经能够创建并运行简单的Android程序了,但可能对Android项

26、目还不够了解,接下来将通过对HelloAndroid程序的详细介绍使读者了解Android项目的目录结构以及HelloAndroid的运行机理。 (1)先来看看HelloAndroid项目中各个目录和文件的作用。 . src目录,src目录用来存放应用程序中所有的源代码,代码的源文件一般是存放在相应的包下面,我们在开发Android应用程序时,大部分时间都是在编写src中的源代码。 . gen目录,该目录下一般只有一个文件,即R文件。该文件是由ADT自动产生的,存放的是应用程序中所使用的全部资源文件的ID,在应用程序开发过程中只是使用R文件,一般不需人工修改该文件。 . Android 2.1

27、目录。该目录存放的是项目所需要的支持.jar包。 . assets目录。该目录存放应用程序中使用的外部资源文件,程序中可以通过输入/输出流对该目录中的文件进行读写。 . res资源目录:该目录下有多个目录,分别用来存放程序中用到的图片、界面布局文件及XML格式的描述文件。 . AndroidManifest.xml。该文件是整个程序的系统控制文件,是每个应用程序都不可缺少的。其描述了应用程序有哪些组件、哪些资源、哪些权限等。 (2)AndroidManifest.xml文件是该项目的系统控制文件,该文件的代码如下。 代码位置:见随书光盘中源代码/第1章/Sample_1_1目录下的Androi

28、dManifest.xml。 *1 2 6 7 8 10 11 12 13 14 15 16 17 . 第15行定义了程序的版本、编码方式、用到的架构以及该程序的所在的包与版本号。 . 第6行定义了程序在手机上的显示图标及显示名称。 . 第814行定义了一个名为HelloAndroid的Activity以及该Activity能够接受的Intent。 (3)main.xml是该项目的布局文件,其代码如下。 代码位置:见随书光盘中源代码/第1章/Sample_1_1/res/Layout目录下的main.xml。 1 2 7 12 . 第2行定义了布局方式为LinearLayout,且左右和上下的

29、填充方式为fill_parent。 . 第7行中向该布局中添加了一个TextView控件,其宽度和高度模式分别为fill_parent、wrap_content,在TextView控件显示的内容为string.xml中的hello的内容。 (4)项目的主类HelloAndroid.java的代码如下。 代码位置:见随书光盘中源代码/第1章/Sample_1_1/src/wyf/ytl目录下的HelloAndroid.java。 1 package wyf.ytl; 2 import android.app.Activity; /引入相关类 3 import android.os.Bundle; 4 public class HelloAndroid extends Activity /定义一个Activity 5 Override 6 public void onCreate(Bundle savedInstanceState) /重写的onCreate回调方法 7 super.onCreate(savedInstanceState); /调用基类的onCreate方法 8 setContentView(R.layout.main); /指定当前显示的布局 9 10 . 第4行是对继

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论