版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android开发环境简介学习目标:了解Android的起源掌握Android的优点掌握Android的系统架构掌握Android开发环境的安装配置方法了解AndroidSDK的目录结构和例如程序掌握Android应用的结构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%的份额。在2013年第一季度,Android和iOS系统占的装机量到所有智能出货量的92.3%,其中谷歌的移动操作系统的市场占有率已经到达75%。图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。1.1.3Android的系统架构图1-3Android体系结构图第四层为应用程序层,提供了一系列核心应用程序,包括通话程序,短信程序等,应用软件那么由各公司自行开发,以Java作为编写程序的一局部。第三层为应用程序框架层,提供了Android平台根本的管理功能和组件重用机制;第二层为中间件层,包括函数库Library和虚拟机VirtualMachine,由C++开发;第一层以Linux内核工作为根底,由C语言开发,只提供由操作系统内核管理的底层根本功能;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应用程序开发效率、减少开发周期而提供的辅助开发工具、开发文档和程序范例。1.2安装JDK和Eclipse工具Eclipse可以从网上下载,下载地址://下载EclipseIDEforJavaEEDevelopers这个软件下载JDK7进行安装://安装完JDK后配置环境变量,计算机→属性→高级系统设置→高级→环境变量系统变量→新建JAVA_HOME变量。变量值填写jdk的安装目录〔例如E)系统变量→寻找Path变量→编辑,在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;〔注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码〕系统变量→新建CLASSPATH变量。变量值填写
.%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar〔注意最前面有一点〕1.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-4Eclipse插件安装界面图1.2Android开发环境配置正确填写ADT插件压缩包的下载路径后,在Eclipse的插件安装界面上会出现ADT插件的安装选项图,如图1-6,选中AndroidDDMS复选框和AndroidDevelopmentTools复选框,然后单击Next按钮进入ADT插件许可界面,如图1-7。在ADT插件许可界面中,选择Iacceptthetermsofthelicenseagreements单项选择项即可,待安装结束,重新启动Eclipse。使ADT插件生效。第四步:配置Android开发环境。在ADT插件安装之后,开始设置AndroidSDK的保存路径。首先选择WindowsPreferences命令,翻开Android配置界面,如图1-8,单击Browse按钮,在SDKLocation文本框中输入AndroidSDK的保存路径,最后单击Apply按钮使配置生效。1.2Android开发环境配置图1-5AddSite界面图图1-6ADT插件的安装选项图1.2Android开发环境配置图1-7ADT插件许可界面1.2Android开发环境配置图1-8Android配置界面图1.2Android开发工具集Android官方网站上提供了方便的Android应用程序开发环境,这里你可以下载一个包含了eclipse以及AndroidSDK还有ADT的的开发工具,要运行的话需要安装JDK。SDKManager用来管理SDK的版本,里面默认有最新的版本,需要以前的版本需要自行联网下载。Eclipse里有一个eclipse.exe可执行文件,翻开后就可以进入软件开发界面1.2Android开发环境配置第五步:虚拟设备AVD的创立。使用AndroidSDK开发的Android应用程序需要进行测试,Android为开发人员提供了可以在电脑上直接测试应用程序的虚拟设备AVD(AndroidVirtualDevice),或称做模拟器。AVD的创立,首先启动Eclipse,选择Windows-AndroidSDKandAVDManager,进入AndroidSDKandAVDManager界面如图1-9,单击图1-9中的New按钮,弹出AVD创立的对话框,如图1-10。在对话框中设置所要创立的AVD名称、API版本、SD卡大小以及AVD显示皮肤,单击CreateAVD按钮,就完成了一个AVD的创立,依此类推,可以创立多个不同API版本的模拟器。创立成功AVD以后,可以启动模拟器,调试我们自己开发的Android应用程序了。1.2Android开发环境配置图1-9AndroidSDKandAVDManager界面图1.2Android开发环境配置图1-10创立AVD对话框1.3第一个Android应用程序Android应用程序开发步骤如下:第一步:启动Eclipse,创立HelloAndroid工程。翻开Android工程向导:File→New→Project…︱Android→AndroidProject或File→New→Other…︱Android→AndroidProject进入Android工程向导对话框,如图1-11。在对话框的Projectname文本框中填入工程名称HelloAndroid,依次在工程界面中填入必要的信息,单击finish按钮,那么完成了我们的第一个工程创立。注意:工程名称必须唯一,不能与已有的工程重名,应用程序名称,即Android程序在中显示的名称,显示在的顶部;包名称是包的命名空间,需遵循Java包的命名方法,由两个或多个标识符组成,中间用点隔开,为了包名称的唯一性,可以采用反写电子邮件地址的方式;创立Activity是个可选项,如需要自动生成一个Activity的代码文件,那么选择该项。Activity的名称与应用程序的名称不同,但为了简洁,可以让他们相同,表示这个Activity是Android程序运行时首先显示给用户的界面。应用程序版本号是可选项,可以填所选择API版本的版本号。1.3第一个Android应用程序1.3第一个Android应用程序第二步:调试工程。在HelloAndroid工程上,鼠标右键单击,那么出现运行工程菜单项选择项,选择RunAs-AndroidApplication,如图1-12。系统将自动启动虚拟设备,并将应用程序在虚拟设备中运行。观察虚拟设备屏幕,将显示我们开发的第一个Android应用程序工程界面,如图1-13。注意,第一次启动模拟器所用时间较长,一般3到5分钟。1.3第一个Android应用程序图1-12运行工程菜单项选择项图图1-13HelloAndroid运行示意图1.3第一个Android应用程序图1-14HelloAndroid工程的目录结构图1.3第一个Android应用程序src目录中存放的是该工程的源文件,所有允许用户修改的java文件和用户自己添加的java文件,都保存在这个目录中。gen目录下的文件是ADT自动生成的,并不需要人为地去修改,实际上该目录下只定义了一个R.java文件,该文件相当于工程的字典,工程中所涉及到得用户界面、字符串、图片、声音等资源都会在该类中创立其唯一的ID编号,这些编号为整形,以十六进制自动生成。当工程中使用这些资源时,会通过该类得到资源的引用。assets目录用于存放工程相关的资源文件,例如文本文件等。此目录中的资源不能够被R.java文件索引,因此只能以字节流形式进行读取,一般情况下为空。1.3第一个Android应用程序res目录用于存放应用程序中经常使用的资源文件,包括图片、声音、布局文件及参数描述文件等,包括多个目录,其中以drawable开头的三个文件夹用于存储.png、.9.png、.jpg等图片资源,layout文件夹存放的是应用程序的布局文件,raw用于存放应用程序所用到得声音文件,values存放的那么是所有XML格式的资源描述文件,例如字符串资源的描述文件strings.xml、样式的描述文件styles.xml、颜色描述文件colors.xml、尺寸描述文件dimens.xml以及数组描述文件arrays.xml等。perties文件为工程配置文件,不需要人为改动,系统会自动对其进行管理。文件里面记录了Android工程的相关设置,例如编译目标和apk设置等。如果需要更改其中的设置,必须通过右键单击工程名称,在弹出的快捷菜单中选择Properties选项修改。1.3第一个Android应用程序AndroidManifest.xml文件为应用程序的系统配置文件也叫清单文件。该文件中包含了Android系统运行Android程序前所必须掌握的重要信息,这些信息包括应用程序名称、图标、包名称、模块组成、授权和SDK最低版本等。而且每个Android程序必须在根目录下包含一个AndroidManifest.xml文件。下面我们看一个AndroidManifest.xml文件的根本格式:1.3第一个Android应用程序<?xmlversion="1.0"encoding="utf-8"?><!—在根元素里面定义命名空间--><manifestxmlns:android="://schemas.android/apk/res/android"package="xsc.text"<!—定义应用程序包名-->android:versionCode="1"<!—定义应用程序版本号-->android:versionName="1.0"><!—定义应用程序版本名称--><!—定义应用程序的图标和标签名称--><applicationandroid:icon="@drawable/icon"android:label="@string/app_name"><!—声明需要显示的Activity类名和标签名称--><activityandroid:name=".HelloAndroidActivity"android:label="@string/app_name"><intent-filter><!—定义过滤器--><actionandroid:name="ent.action.MAIN"/><categoryandroid:name="ent.category.LAUNCHER"/></intent-filter></activity></application><uses-sdkandroid:minSdkVersion="4"/><!—定义版本号--></manifest>第一个Android应用程序在AndroidManifest.xml文件中还可以为应用程序指定相应的权限,例如网络权限、发送短信的权限、打的权限等等。应用程序的权限有很多,全部都封装到Manifest.permission类中,读者可以自行查阅API。权限的使用方法是将权限声明的语句添加到AndroidManifest.xml文件中</manifest>标签之前,例如当某个应用程序需要添加发送短信的权限时,只需将“<uses-permissionandroid:name="android.permission.SEND_SMS"/>”添加到AndroidManifest.xml文件</的manifest>标签之前就可以了。应用程序除了声明自身应该具有的权限外,还可以声明访问本应用程序的程序应该具有的权限,这样,其他应用程序需要访问该应用程序时,必须具有该应用程序需要的权限。例如在<activity></activity>之间添加权限,那么当其他应用程序需要访问该程序时,就必须具有SEN<uses-permissionandroid:name="android.permission.SEND_SMS"/>D_SMS权限。Android的API指南
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 威海经济技术开发区九年级上学期11月期中语文试题(图片版含答案)
- 2024年度技术服务合同:某互联网公司与客户之间的技术服务协议2篇
- 2024年度汽车销售合同:新能源汽车销售代理协议2篇
- 2024年度房地产销售风险管理合同
- 2024年度市场营销合同(标的:市场推广服务)2篇
- 2024年度盐化工用砂石料加工供应合同3篇
- 购买学校设备合同范例
- 融资租赁公司 合同范例
- 桥梁维修施工合同范例
- 购办公电脑合同范例
- DB15T 1700.1-2019“蒙字标”认证通用要求 农业生产加工领域
- 部编版八年级初二语文上册第六单元教材分析及全部教案(定稿;共7课)
- 妇产科学课件:子宫内膜异位症(英文版)
- 三年级上册数学课件-7.3 同分母分数加减法丨苏教版 (共17张PPT)
- 卧式单面多轴钻孔组合机床液压系统的设计
- 铁路线路工起道作业指导书
- 酒店安全生产规范要求
- 幼儿园:幼儿园食育课程的五个实施途径
- 人教版(2019)选择性必修第二册Unit3Food and Culture Reading Cultureand Cuisine课件(13张ppt)
- 2022年婚姻法与继承法案例分析题
- 物流配送路线优化毕业论文
评论
0/150
提交评论