




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、OHAOHA(Open Handset Alliance) 开放手机联盟 , 是Google 与 33 家公司联手组织的,致力于关注Android 移动平台系统的发展。后经进一步扩展。 Android发展史发展史时间表:时间表:20072007年年1111月月5 5日,开放手机联盟成立日,开放手机联盟成立 20072007年年1111月月1212日,谷歌发布日,谷歌发布Android SDK预览版预览版 ,这是第一个对外公布的,这是第一个对外公布的Android SDK,为发布正式版收集用户反馈;,为发布正式版收集用户反馈;20082008年年8 8月月2828日,谷歌开通日,谷歌开通Andr
2、oid Market,供,供Android手机下载需要使用的应用程序手机下载需要使用的应用程序20082008年年9 9月月2323日,发布日,发布Android SDK v1.0版,这版,这是第一个稳定的是第一个稳定的SDK版本版本20082008年年1010月月2121日,谷歌开放日,谷歌开放Android平台的源代平台的源代码码Android发展史发展史20082008年年1010月月2222日,第一款日,第一款Android手机手机T-Mobile G1在美国上市,由中国台湾的宏达在美国上市,由中国台湾的宏达电制造电制造20092009年年2 2月,发布月,发布Android SDK
3、v1.1版版20092009年年2 2月月1717日,第二款日,第二款Android手机手机T-Mobile G2正式发售,仍由中国台湾的宏正式发售,仍由中国台湾的宏达电制造达电制造20092009年年4 4月月1515日,发布日,发布Android SDK v1.5版版20092009年年6 6月月2424日,中国台湾的宏达电发布了日,中国台湾的宏达电发布了第三款第三款Android手机手机HTC Hero时间事件2007年年11月月5日日Google公司宣布组建一个全球性的开放手机联盟,创建时,联盟成员数量已经达公司宣布组建一个全球性的开放手机联盟,创建时,联盟成员数量已经达到了到了34家
4、家2008年年9月月22日日美国运营商美国运营商T-Mobile在纽约正式发布第一款在纽约正式发布第一款Google手机:手机:T-Mobile G12009年年1月月1日日Google的的Android应用程序市场(应用程序市场(App Market)将在)将在2009年初开始出售年初开始出售Android付费应用程序,标志着付费应用程序,标志着Android Market营收的开始营收的开始2009年年11月月25日日AdMob的调查显示,在美国的调查显示,在美国Android系统市场占有率系统市场占有率11%,居于第三位,居于第三位2009年年12月月9日日宏达电将逐渐放弃宏达电将逐渐放
5、弃Windows Mobile系统,继而转向系统,继而转向Android系统系统2009年年12月月23日日Google在中国大陆推出中文版在中国大陆推出中文版Android Market,国内已经有开发者推出针对国内,国内已经有开发者推出针对国内用户的用户的Android Market,易联致远公司已经推出名为,易联致远公司已经推出名为eoeMarket的专门针对国内的专门针对国内用户的第三方用户的第三方Android Market2010年年1月月6日日Google正式发布首款自有品牌手机正式发布首款自有品牌手机Nexus One,该机采用,该机采用Android 2.1操作系统操作系统2
6、010年年2月月24日日全球瞩目的世界移动大会(全球瞩目的世界移动大会(Mobile World Congress2010)召开)召开2010年年3月月3日日运营商运营商AT&T宣布本月即将推出首款宣布本月即将推出首款Android手机手机2010年年3月月10日日网络分析公司网络分析公司Quantcast最新报告显示,最新报告显示,Android市场占有率份额约市场占有率份额约15%,位居第,位居第三三2010年年5月月20日日Android 2.2 Froyo 发布发布2010年年12月月7日日Android 2.3 Ginerbread发布发布2011年年5月月7日日Androi
7、d的市场份额已占有的市场份额已占有43.7%,在智能手机中已位居第一,在智能手机中已位居第一Android网络资源网络资源http:/ 开放源代码,用于移植制作手机http:/ 应用程序市场系统架构系统架构架构层次架构层次Android 的软件架构的几个层次:1. 操作系统层( Linux ,相关驱动)2. 库( Libraries )和运行环境( RunTime )3. 应用程序框架( Application Framework )4. 应用程序( Application )操作系统层使用 C 语言编写,运行于内核空间。底层库和 JAVA 虚拟机使用 C /c+语言编写,运行于用户空间JAV
8、A 框架和 JAVA 应用程序使用 Java 语言编写,运行于用户空间。架构层次架构层次n第 1 层次和第 2 层次之间,从 Linux 操作系统的角度来来看,是内核空间与用户空间的分界线,第 1 层次运行于内核空间,第2、3、4层次运行于用户空间;n第 2 层次和第 3 层次之间,是本地代码层和 Java代码层的接口;n第 3 层次和第 4 层次之间,是 Android 的系统 API的接口;n对于 Android 应用程序的开发,第 3 层次以下的内容是不可见的,仅考虑系统 API 即可。Linux 内核内核Android基于linux,但其linux内核跟标准的linux内核有所差异:a
9、ndroid没有使用linux的X窗口系统;android没有采用glibc作为C库,另开发了一套Bionic Libc来代替glibc,故其编程接口和标准的系统有所不同;增加了一些android专用的驱动程序 数据加密与安全传数据加密与安全传输输传统方式使用so动态库,通过so库来操作硬件Application Framework共享私有数据,实现跨进程的数据访问共享私有数据,实现跨进程的数据访问Windows Manager启动应用程序的窗体启动应用程序的窗体Teleghony Manager管理与拨打和接听电话相关的功能管理与拨打和接听电话相关的功能Location Manager管理与
10、地图相关的服务功能管理与地图相关的服务功能Package Manager管理安装在管理安装在AndroidAndroid系统内的应用程序系统内的应用程序二二. Android系统的开发概述系统的开发概述开发概述开发概述Android 的开发分成三种类型:1. 移 植 开 发 手 机 系 统2. 应 用 程 序 开 发3. Android 系 统 开 发开发概述开发概述硬件层Android应用应用程序开发移植开发手机系统移植开发手机系统移植开发手机系统应用开发应用开发核心库核心库nAndroid应用程序使用Java语言编写,其大部分Java语言基础功能都由Android核心库提供,比如基础数据结
11、构、数学、I/O、工具、数据库、网络等库。其中大部分实现来源于ApacheHarmony项目,核心库的具体实现位于libcore目录中,Java部分最终会被打包为core.jar包,经过安装,最终将被放置在目标文件系统的systemframework目录中,当桌面启动时首先加载,作为Java程序的一个基础包。nlibcore中的C/C+代码被编译为libjavacore.a静态库,是Java核心库的本地代码。n另外,libcore目录中还包括部分测试用例,用来测试Java核心库的基本接口功能实现,在移植Android或者其虚拟机时,也可以使用它们来测试Java核心库的功能。n核心库主要实现了以
12、下Java基础包:Java标准API(java包)Java扩展API(javax包)企业和组织提供的Java类库(org包)注意:Android核心库虽然实现了Java标准部分的大部分内容,但也有部分API没有被支持,比如GUI系统的Swing等Android系统开发系统开发开发环境开发环境应用开发:应用开发:SDK(windows或或Linux系统)系统)系统开发:系统开发:NDK(Linux系统,可能用系统,可能用windows)移植开发手机系统:完全源代码开发移植(移植开发手机系统:完全源代码开发移植(Linux系统)系统)Android源代码源代码n 基于源代码 Android 的开发
13、在获取所有源代码的基础上进行,可以开发应用程序,进行系统移植,或开发系统本身。Android 的源代码可以从其 git 的源代码仓库中获得:Android知识结构知识结构Android 的知识结构( SDK 方面):JAVA 语言知识应用程序架构GUI 设计基础知识各种视图的使用2D/3D 图形 API应用程序的设计思想Android知识结构知识结构Android 的知识结构(源代码方面):Linux 操作系统知识Linux 内核知识( C 语言)Linux 驱动程序知识( C 语言)Android 底层库( C 语言、 C+ )Dalvik 虚拟机
14、( C+ 、 JAVA )Android GUI 系统( C+ 、 JAVA )音频、视频和多媒体( C 语言、 C+ 、 JAVA )电话部分的( C 语言、 C+ 、 JAVA )连接部分( C 语言、 C+ 、 JAVA )传感器部分( C 语言、 C+ 、 JAVA )三三. Android SDK开发环境搭建开发环境搭建 3.1 JDKJDK (Java Development Kit) ,JDK 是整是整个个Java的核心,包括了的核心,包括了Java运行环境(运行环境(Java Runtime Envirnment),一堆),一堆Java工具和工具和Java的基础类库。的基础类库
15、。JDK是是Sun Microsystems针对针对Java程序员的产品。程序员的产品。自从自从Java推出以来,推出以来,JDK已经成为使用最已经成为使用最广泛的广泛的Java SDK 。JDK版本版本nSE(J2SE),standard edition,标准版,是我,标准版,是我们通常用的一个版本,从们通常用的一个版本,从JDK 5.0开始,改名为开始,改名为Java SE。nEE(J2EE),enterprise edition,企业版,使用,企业版,使用这种这种JDK开发开发J2EE应用程序,从应用程序,从JDK 5.0开始开始,改名为,改名为Java EE。nME(J2ME),mic
16、ro edition,主要用于移动设,主要用于移动设备、嵌入式设备上的备、嵌入式设备上的java应用程序,从应用程序,从JDK 5.0开始,改名为开始,改名为Java ME。没有没有JDK的话,无法编译的话,无法编译Java程序,如果想只运行程序,如果想只运行Java程序,要确保已安装相应的程序,要确保已安装相应的JRE。JDK组成组成JDK包含的基本组件包括:包含的基本组件包括:javac 编译器,将源程序转成字节码编译器,将源程序转成字节码jar 打包工具,将相关的类文件打包成一个文件打包工具,将相关的类文件打包成一个文件javadoc 文档生成器,从源码注释中提取文档文档生成器,从源码注
17、释中提取文档jdb debugger,查错工具,查错工具java 运行编译后的运行编译后的java程序(程序(.class后缀的)后缀的)appletviewer:小程序浏览器,一种执行:小程序浏览器,一种执行HTML文件文件上的上的Java小程序的小程序的Java浏览器。浏览器。Javah:产生可以调用:产生可以调用Java过程的过程的C过程,或建立能过程,或建立能被被Java程序调用的程序调用的C过程的头文件。过程的头文件。Javap:Java反汇编器,显示编译类文件中的可访反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。问功能和数据,同时显示字节代码含义。Jconso
18、le: Java进行系统调试和监控的工具进行系统调试和监控的工具 安装安装JDK在在windows系统下,运行系统自带系统下,运行系统自带jdk-6u25-windows-i586.exe。设置环境变量设置环境变量假设安装在假设安装在C:Program FilesJavajdk1.6.0_25目录下。目录下。对对“计算机计算机”-“属性属性”-“高级系统设置高级系统设置”-“环境环境变量变量”- Path进行编辑,前面添加进行编辑,前面添加C:Program FilesJavajdk1.6.0_25;C:Program FilesJavajdk1.6.0_25bin; 测试测试JDK环境环境在
19、在Dos窗口执行窗口执行java和和javac ,如果不能执行,如果不能执行,需查看和重配置环境变量。,需查看和重配置环境变量。用文本编辑器编辑用文本编辑器编辑/* This is the HelloWorld sample application*/*hello.java*/public class hellopublic static void main(Stringarg)System.out.println(hello,world!);保存为保存为C:temphello.java 测试测试JDK环境环境在在Dos终端,到终端,到c:temp目录目录执行:执行: c:temp javac
20、 hello.java c:temp java hello结果应该显示结果应该显示 hello,world!测试测试JDK环境环境3.2 安装安装Android SDK直接运行直接运行installer_r11-windows.exe如果显示找不到如果显示找不到JDK,”back”再再“next”。安装成功:安装成功:SDK Tools & AVD manager启动后会在线下载启动后会在线下载SDK资源。如果网络不够资源。如果网络不够顺畅,可以取消,使用自带顺畅,可以取消,使用自带SDK程序包。程序包。SDK Tools & AVD manager将自带的 android-s
21、dk-windows.rar包解压覆盖到上图目录 c:Program FilesAndroidandroid-sdk(这就是前面未能下载完成的SDK,此处包含Android1.5-Android4.2全部) SDK Tools & AVD managerSDK manager这个这个程序,需要配置成程序,需要配置成以以Administrator权限运行。权限运行。3.3 Eclipse集成开发环境集成开发环境Eclipse 是一个开放源代码的、基于是一个开放源代码的、基于Java的的可扩展开发平台。就其本身而言,它只是可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件
22、组件一个框架和一组服务,用于通过插件组件构建开发环境。构建开发环境。Eclipse 附带了一个标准附带了一个标准的插件集,包括的插件集,包括Java开发工具(开发工具(Java Development Kit,JDK)。)。 可以通过增可以通过增加加ADT插件,使插件,使Eclipse支持支持Android开开发。发。Eclipse安装安装直接将自带直接将自带Eclipse软件复制到硬盘,例如这软件复制到硬盘,例如这里里C:Eclipse学习资源学习资源Eclipse从入门到精通从入门到精通Eclipse使用入门教程使用入门教程Eclipse Web开发从入门到精通开发从入门到精通(实例版实例
23、版)(配光盘配光盘)常用快捷键常用快捷键 Ctrl + 1 (快速修复)(快速修复) Ctrl + D (删除当前行(删除当前行) Ctrl + Alt + (复制当前行到下一行)(复制当前行到下一行)Alt + / 快速插入。快速插入。Alt+Shift+R 重命名非常好用。重命名非常好用。Ctrl + Q 定位到最后编辑的地方。定位到最后编辑的地方。Ctrl + Shift + O 自动导入包自动导入包Ctrl+/ 注释当前行注释当前行,再按则取消注释。再按则取消注释。 3.4 安装安装ADT在在Eclipse编译编译IDE环境中,需安装环境中,需安装ADT(Android Develop
24、ment Tools)Plug-in,这是这是Android在在Eclipse上上的开发工具。的开发工具。 ADT将将ADT覆盖到覆盖到Eclipse安装目录。安装目录。3.5 Eclipse导入导入SDK启动启动Eclipse,在,在Eclipse主界面上点击主界面上点击Window菜单,选择菜单,选择Preferences,在,在Preferences对话框中,在左侧选中对话框中,在左侧选中“Android”,在右侧的,在右侧的SDK Location右右边点击边点击Brower按钮,选择按钮,选择SDK的安装路的安装路径径c:Program FilesAndroidandroid-sdk
25、,然后,然后apply 3.6配置配置AVDnAVD(Android Virtual Device)是)是Android运行的虚拟设备。建立的运行的虚拟设备。建立的Android程序要虚拟运行,必须创建程序要虚拟运行,必须创建AVD,每个,每个AVD上可以配置很多的运行项目。上可以配置很多的运行项目。n选择选择Eclipse菜单中菜单中Windows菜单下的菜单下的Android AVD Manager.然后点击然后点击new,并设置一些自己的想要的参数,包括屏幕并设置一些自己的想要的参数,包括屏幕大小,大小,sdk版本,版本,sd卡大小等等。然后选卡大小等等。然后选中刚才创建的模拟器,选择中
26、刚才创建的模拟器,选择start即可运行即可运行。 点击New,创建新的AVD。在Name中输入:Android2.3-AVD,Device中选择WVGA(480*800)Target中选择:Android 2.3.3 - API Level 10,SD Card输入512,其它选项默认,点击“Create AVD”按钮即可,如下图所示: 成功建立成功建立AVD如果看不到已经建立的如果看不到已经建立的AVD,点,点Refresh启动启动AVD点点start启动:启动:四四. HelloWorld例程例程创建新工程创建新工程FilenewAndroid Application project例子
27、例子生成生成HelloWorld工程实例工程实例运行运行然后在然后在package explorer 选中此选中此project “HelloWorld”,执行,执行“run as ”“android application ”,会启动,会启动AVD,然后会自动,然后会自动运行此程序(运行此程序(AVD中需解除屏幕锁定)。中需解除屏幕锁定)。 实例在实例在AVD运行结果运行结果实例在实例在AVD运行结果运行结果点击菜单按钮:程序分析程序分析其其Package Explorer 目录结构:目录结构:MainActivity.java其主要其主要java控制源代码是控制源代码是src中的中的Mai
28、nActivity.java。其代码如下:。其代码如下:package com.example.hellowrold;import android.os.Bundle;import android.app.Activity;import android.view.Menu;public class MainActivity extends Activity Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.ac
29、tivity_main);Overridepublic boolean onCreateOptionsMenu(Menu menu) / Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.activity_main, menu);return true; 只有一个类只有一个类MainActivity。在。在OnCreate中,中,会显示会显示R.layout.activity_main.这是个主这是个主窗口布局。在窗口布局。在OptionsM
30、enu中,则会显中,则会显示示R.menu.activity_main.主窗口布局主窗口布局R.layout.activity_main, 在在res-layout-activity_main.xml中描述。有中描述。有两种表述方式两种表述方式Graphical Layout和和activity_main.xml。Graphical Layout是图形化的界面设计,直接由组件来直观是图形化的界面设计,直接由组件来直观搭建搭建UI。 图形化界面设计方式图形化界面设计方式XML语言描述方式语言描述方式 显示显示Hello world!的组件便是一个!的组件便是一个TextView,其,其xml语言描述如下:语言描述如下: 其中其中android:layout_width=wrap_content android:layout_height=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培训机构安全教育课
- 2025综合文化活动中心租赁合同
- 2025订购茶叶合同模板
- 2025版合同:国内许可合同的格式
- 2025年房屋买卖合同
- 2025建筑工程补充合同
- 2024-2025教科版科学一年级下册第二单元测试卷及答案
- 2025年供气合同常用范本
- 小数的读法和写法教学设计
- 2025标准技术咨询合同范本
- GB/T 4909.2-2009裸电线试验方法第2部分:尺寸测量
- DB11-T 065-2022电气防火检测技术规范
- 09S304 卫生设备安装图集
- 肌肉注射操作评分标准
- 配电箱验收记录表
- DB11-T1788-2020技术转移服务人员能力规范
- 建设项目用地预审与选址意见课件讲解
- GB∕T 23524-2019 石油化工废铂催化剂化学分析方法 铂含量的测定 电感耦合等离子体原子发射光谱法
- 宝宝生日祝福可爱卡通电子相册PPT模板
- 盗窃案件现场勘查应注意的问题
- 用人单位职业健康监护档案(一人一档)
评论
0/150
提交评论