您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 第1章Android开发环境配置
第一章:Android开发环境配置本章学习目标:了解Android的起源掌握Android的优点掌握Android的系统架构掌握Android开发环境的安装配置方法了解AndroidSDK的目录结构和示例程序1.1.1Android的起源Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android本是一家公司的名称,这家公司的创始人名叫AndyRubin。AndyRubin创立了两个手机操作系统公司:Danger和Android。Danger以5亿美元卖给微软,成为了今天的Kin,Android以4千万美元卖给Google。1.1.1Android的起源Android手机就是使用Android操作系统或OMS操作系统的手机,2008年9月22日,美国运营商德国T-Mobile在纽约正式发布第一款Android手机——T-MobileG1,如图1-1。2009年9月初,摩托罗拉坐镇主场在旧金山举办的GigaOM2009大会上携手T-Mobile正式发布了旗下首款搭载Android操作系统的智能手机——MOTOCLIQ,如图1-2。2009年10月28日摩托罗拉正式发布了Android2.0智能手机操作系统。2010年1月索尼爱立信首款Android机型X10上市。2010年1月7日,Google在其美国总部正式向外界发布了旗下首款合作品牌手机NexusOne(HTCG5),并同时开始对外发售。2010年7月9日,美国NDP集团调查显示,Android系统已占据了美国移动系统市场28%的份额。图1-1第一款Google手机--T-MobileG1图1-2MOTOCLIQ1.1.2Android的优点目前市场上的手机操作系统除了Android,还有Symbian、iPhone等,与这些手机系统相比,Android具有如下的优点:第一:真正开放性。Android是一个真正意义上的开放性移动开发平台,它同时包含底层操作系统以及上层的用户界面和应用程序------移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。另一方面,Android平台的开放性还体现在不同的厂商可以根据自己的需求对平台进行定制和扩展,以及使用这个平台无需任何授权许可费用等。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的收益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心意的手机。1.1.2Android的优点第二:应用程序相互平等。所有的Android应用程序之间是完全平等的,所有的应用程序都运行在一个核心引擎上面,这个核心引擎就是一个虚拟机,它提供了一系列用于应用程序和硬件资源间通信的API。抛开这个核心引擎,Android的所有其他的东西,包括系统的核心应用和第三方应用都是完全平等的。第三:应用程序之间沟通无界限。在Android平台下开发应用程序,可以方便实现应用程序之间的数据共享,只需要经过简单的声明或操作,应用程序可以访问或调用其他应用程序的功能,或者将自己的部分数据和功能提供给其他应用程序使用。第四:快速方便的应用程序开发。Android平台为开发人员提供了大量的实用库和工具,开发人员可以快速创建自己的应用程序。如今叱诧互联网的Google已经走过10年度历史,从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。1.1.3Android的系统架构Android是基于Linux内核的软件平台和操作系统,采用了软件堆层(SoftwareStack,又名软件叠层)的架构,主要分为四部分,如图1-3。第一层以Linux内核工作为基础,由C语言开发,只提供由操作系统内核管理的底层基本功能;第二层为中间件层,包括函数库Library和虚拟机VirtualMachine,由C++开发;第三层为应用程序框架层,提供了Android平台基本的管理功能和组件重用机制;第四层为应用程序层,提供了一系列核心应用程序,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。1.1.3Android的系统架构图1-3Android体系结构图1.1.3Android的系统架构LinuxKernelAndroid基于Linux2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。LinuxKernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。AndroidRuntimeAndroid包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx是一套工具,可以将Java.class转换成.dex格式。一个dex文件通常会有多个.class。由于dex有时必须进行最佳化,会使文件大小增加1-4倍,以ODEX结尾。Dalvik虚拟机依赖于Linux内核提供基本功能,如线程和底层内存管理。1.1.3Android的系统架构LibrariesAndroid包含一个C/C++库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(applicationframework)暴露给开发者。下面列出一些核心库:系统C库——标准C系统库(libc)的BSD衍生,调整为基于嵌入式Linux设备。媒体库——基于PacketVideo的OpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG。界面管理——管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层。LibWebCore——新式的Web浏览器引擎,驱动Android浏览器和内嵌的web视图。SGL——基本的2D图形引擎。3D库——基于OpenGLES1.0APIs的实现。库使用硬件3D加速或包含高度优化的3D软件光栅1.1.3Android的系统架构FreeType——位图和矢量字体渲染。SQLite——所有应用程序都可以使用的强大而轻量级的关系数据库引擎。ApplicationFramework通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。开发者可以完全使用核心应用程序所使用的框架APIs。应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。所有的应用程序其实是一组服务和系统,包括:视图(View)——丰富的、可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器。1.1.3Android的系统架构内容提供者(ContentProviders)——使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据。资源管理器(ResourceManager)——提供访问非代码资源,如本地化字符串、图形和布局文件。通知管理器(NotificationManager)——使所有的应用程序能够在状态栏显示自定义警告。活动管理器(ActivityManager)——管理应用程序生命周期,提供通用的导航回退功能。ApplicationsAndroid装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。1.2Android开发环境配置Android开发环境的安装和配置是开发Android应用程序的第一步,也是深入Android平台的一个非常好的机会。Eclipse是开发Android应用程序的首选集成开发环境,因此我们这本书的案例都是在Eclipse工具中编写和调试的。第一步:安装JDK和Eclipse工具。这一步对于我们熟悉java开发的读者来说,不是难事,只是告诉大家不要忘记了jdk环境变量的配置。第二步:下载AndroidSDK工具包。AndroidSDK是Android软件开发工具包(AndroidSoftwareDevelopmentKit)的简写。是Google公司为了提高Android应用程序开发效率、减少开发周期而提供的辅助开发工具、开发文档和程序范例。AndroidSDK可以从Google的中文Android开发网站上下载,网站的地址是。打开Android开发网页,会看到如表1-1所示的三种版本AndroidSDK压缩文件。开发网站不仅能够下载最新的AndroidSDK,还有许多有价值的学习内容,如开发文档、常见问题解答等等。1.2Android开发环境配置表1-1Android软件开发包SDK表作业平台Android-SDKMD5检查码Windowsandroid-sdk_r17-windows.zip3af1baeb39707e54df068e939aea5a79installer_r17-windows.exe(Recommended)5afaf6511ebaa52bd6d1dba4afc61e41MacOSX(intel)android-sdk_r17-macosx.zip52639aae036b7c2e47cf291696b23236Linux(i386)android-sdk_r17-linux.tgz14e99dfa8eb1a8fadd2f3557322245c41.2Android开发环境配置第三步:ADT插件的安装。ADT插件是Eclipse集成开发环境的定制插件,为开发Android应用程序提供了一个强大的、完整的开发环境,可以快速建立Android工程,用户界面和基于AndroidAPI的组件,还可以使用AndroidSDK提供的工具进行程序调试,对apk文件进行签名等等。安装ADT插件有两种方法,一种是手动下载ADT插件的压缩包,然后在Eclipse中进行安装,这里对ADT插件的下载和配置就不累述了,比较简单,读者也可以通过网络进行学习;第二种是在Eclipse中输入插件的下载地址,由Eclipse自动完成下载和安装工作。第二种方法比较简单方便,但出错的几率较第一种大,我们这里用第二种方法。启动Eclipse,选择Help—InstallNewSoftware,打开Eclipse的插件安装界面,如Eclipse插件安装界面图1-4所示,点击Add按钮,进入AddSite界面,图1-5,在AddSite界面的Name文本框中输入插件名称如android,在Location文本框中输入ADT插件的下载网络路径。1.2Android开发环境
本文标题:第1章Android开发环境配置
链接地址:https://www.777doc.com/doc-921187 .html