《ANDROID平台概述》由会员分享,可在线阅读,更多相关《ANDROID平台概述(47页珍藏版)》请在金锄头文库上搜索。
1、Google Android智能手机应用开发智能手机应用开发based on android2011.9内容包括:内容包括:1、Android 平台概述平台概述2、搭建、搭建 Android 开开发环境境3、第一个、第一个 Android 应用程序用程序4、Android 用用户界面界面设计5、Activity、Intent、Service、Broadcast Receiver6、Android 中的数据存取中的数据存取7、Android 的多媒体的多媒体应用用8、Android 网网络通信通信 9、 Android硬件硬件访问 10、 Android AIDL服服务 11、 Android
2、OpenGL 12、 应用例子用例子a,b,c,d课程结构课程结构n开放手机开放手机联盟(盟(OHA)nAndroid 平台平台综述:述:n平台介平台介绍、开、开发者社区者社区n开开发环境:境:n构建构建 Android 开开发环境境n应用程序:用程序:n应用程序用程序结构构n典型典型应用:用:n用用户界面、界面、图形形编程程n数据存取、网数据存取、网络连接接n硬件硬件访问平台综述平台综述开发环境开发环境程序结构程序结构数据存取数据存取网络连接网络连接硬件访问硬件访问图形编程图形编程用户界面用户界面获取获取 Android 资料的途径资料的途径nhttp:/nhttp:/nhttp:/ sdk
3、 等相关等相关软件件n查看文档、在看文档、在线帮助帮助n开开发社区社区n国内需要代理才能国内需要代理才能访问nhttp:/ Android1、Android 平台概述平台概述about android开放手机联盟开放手机联盟n开放手机开放手机联盟(盟(Open Handset Alliance):):美国美国 Google 公司于公司于2007年年11月月5日日发起起组建的一个全球性的建的一个全球性的联盟盟组织。网址:网址:http:/n联盟支持盟支持 Google 可能可能发布的手机操作系布的手机操作系统或者或者应用用软件,件,共同开共同开发名名为 Android 的开放源代的开放源代码的移
4、的移动系系统n开放手机开放手机联盟成盟成员已达已达 80 家,包括五大家,包括五大类:n手机制造商、手机芯片商手机制造商、手机芯片商n移移动运运营商商n软件开件开发商、商、软件服件服务商商联盟创始成员联盟创始成员nAplix、Ascender、Audience、Broadcom、中国移、中国移动、eBay、Esmertec、谷歌、宏达、谷歌、宏达电、英特、英特尔、KDDI、Living Image、LG、Marvell、摩托、摩托罗拉、拉、NMS、NTT DoCoMo、Nuance、Nvidia、PacketVideo、高通、三星、高通、三星、SiRF、SkyPop、Sonic Network
5、、Sprint Nextel、Synaptics、TAT、意大利、意大利电信、西班牙信、西班牙电信、德州信、德州仪器、器、T-Mobile 和和 Wind RiverGoogle PhoneOHA 与与 AndroidnOHA 是一个是一个软硬件开硬件开发者者组织,包括,包括 Google, NTT DoCoMo, Sprint Nextel, and HTC n目目标:n加速智能移加速智能移动设备的的发展展 n提供用提供用户更多更好更便宜的服更多更好更便宜的服务n由由 OHA 开开发的的 Android,是第一个完整的、开放的、免,是第一个完整的、开放的、免费的智能移的智能移动开开发平台。平
6、台。AndroidnAndroid 软件系列包括操作系件系列包括操作系统、中、中间件和一些关件和一些关键应用用n基于基于 Linux 2.6 内核,使用内核,使用 Java 开开发应用程序用程序nAndroid SDK 提供多种开提供多种开发所必要的工具与所必要的工具与 API特点特点 1n应用框架可以重复使用,其用框架可以重复使用,其组件也可以更件也可以更换nDalvik 虚虚拟机机针对移移动设备进行了行了优化化n优化的化的图形能力支持形能力支持 2D/3D 图形(形(OpenGL ES 1.0 )n集成了基于开源集成了基于开源 WebKit 引掣的引掣的浏览器器n采用采用 SQLite 实
7、现结构化数据存构化数据存储特点特点 2n多媒体支持多种音多媒体支持多种音频、视频格式格式nGSM Telephony (hardware dependent)n支持支持蓝牙牙 Bluetooth,3G 和和 WiFin支持照相机、支持照相机、GPS、指南、指南针和加速度和加速度仪等等传感器硬件感器硬件n丰富的开丰富的开发环境,包括模境,包括模拟机、机、调试工具、内存运行工具、内存运行检测,以及以及为 Eclipse IDE 所写的插件所写的插件优势:开放性优势:开放性n源代源代码完全开放,便于开完全开放,便于开发人人员更清楚的把握更清楚的把握实现细节,便于提高开,便于提高开发人人员的技的技术水
8、平,有利于开水平,有利于开发出更出更具差异性的具差异性的应用用n开放性开放性对于于 Android 的的发展而言,有利于展而言,有利于积累人气,累人气,这里的人气包括消里的人气包括消费者和厂商,而者和厂商,而对于消于消费者来者来讲,最大的受益之最大的受益之处在于丰富的在于丰富的软件件资源源n开放的平台也会开放的平台也会带来更多来更多竞争,如此一来,消争,如此一来,消费者将者将可以用更低的价位可以用更低的价位购得手机得手机优势:挣脱运营商的束缚优势:挣脱运营商的束缚n在在过过去很去很长长的一段的一段时间时间,特,特别别是在欧美地区,手机是在欧美地区,手机应应用往往受到运用往往受到运营营商制商制约
9、约,使用什么功能接入什么网,使用什么功能接入什么网络络,几乎都受到运几乎都受到运营营商的控制商的控制n自从自从 iPhone、GPhone 上市,用上市,用户户可以更加方便地可以更加方便地连连接网接网络络,运,运营营商的制商的制约约减少减少n随着随着 2G 至至 3G 移移动动网网络络的逐步的逐步过过渡和提升,手机随渡和提升,手机随意接入网意接入网络络已不是运已不是运营营商口中的笑商口中的笑谈谈优势:丰富的硬件选择优势:丰富的硬件选择n由于由于 Android 的开放性,众多的厂商会推出千奇百的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种怪,功能特色各具的多种产品品n功能上的差异和特色
10、,却不会影响到数据同步、甚至功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容件的兼容优势:不受限制的开发商优势:不受限制的开发商n采用了采用了对有限内存、有限内存、电池和池和 CPU 优化化过的的 Dalvik 虚虚拟机,机,Android 的运行速度比想象的要快很多的运行速度比想象的要快很多nAndroid 的源代的源代码遵循遵循 Apache V2 软件件许可,而可,而不是通常的不是通常的 GPL v2 许可,更有利于商可,更有利于商业开开发nAndroid 平台提供平台提供给第三方开第三方开发商一个十分商一个十分宽泛、泛、自由的自由的环境,催生各种新境,催生各种新颖别致的致的应用
11、用软件件n具有具有强大的大的 Linux 社区的支持社区的支持优势:良好的盈利模式优势:良好的盈利模式n3-7 开的盈利模式,使得开的盈利模式,使得产业链条的各方:运条的各方:运营商、商、制造商、独立制造商、独立软件生件生产商都可以商都可以获得不得不错的利益的利益n将移将移动终端的端的评价价标准从硬件向准从硬件向软件件转变,极大的激,极大的激发了了软件开件开发者的者的热情情优势:无缝结合的优势:无缝结合的 Google 应用应用nGoogle 成成为最大的互最大的互联网网络搜索引擎已搜索引擎已经有有 10 多多年年历历史史n从搜索巨人到全面的互从搜索巨人到全面的互联联网渗透,网渗透,Googl
12、e 服服务务如地如地图图、邮邮件、搜索等已件、搜索等已经经成成为连为连接用接用户户和互和互联联网的重要网的重要纽带纽带nAndroid 平台手机将无平台手机将无缝结缝结合合这这些些优优秀的秀的 Google 服服务务Android 不足不足n由于采用了由于采用了 Java 作作为应用开用开发语言,目前可用的言,目前可用的传统第第三方三方应用用还很少很少nGoogle 提供了一套提供了一套 Java 核心包(核心包(J2SE 5,J2SE 6)的有限子集,尚不承的有限子集,尚不承诺遵守任何遵守任何 Java 规范,可能会造成范,可能会造成 Java 阵营的的进一步分裂一步分裂n基于基于 QEMU
13、 开开发的模的模拟器器调试手段不十分丰富,只支持通手段不十分丰富,只支持通话、SMS 等,速度慢等,速度慢n暂不具不具备 Push Mail 和和 Office 功能,目前主要面向功能,目前主要面向的是普通消的是普通消费者用者用户,对商商业用用户支持尚弱支持尚弱系统环境系统环境nAndroid SDK 所支持的操作系所支持的操作系统:nWindows XP(32 bit),Vista/win7(32/64 bit)nMac OS X 10.5.8 or later(x86 only)nLinux(tested on Linux Ubuntu Dapper Drake)Android 的系统架构
14、的系统架构Linux KernelLinux KernelnAndroid 基于基于 Linux 内核,但不是内核,但不是 Linuxn内核提供系内核提供系统核心服核心服务,如,如进程、内存、程、内存、电源管理,源管理,网网络连接,接,驱动与安全等与安全等n并不包括全部的并不包括全部的 LinuxLinux KernelnLinux 内核位于硬件和内核位于硬件和软件堆之件堆之间的抽象的抽象层n核心服核心服务:安全机制、内存管理、:安全机制、内存管理、进程管理、网程管理、网络、硬件硬件驱动n内核扮演的是硬件内核扮演的是硬件层和系和系统其它其它层次之次之间的一个抽象的一个抽象层的概念的概念n操作系
15、操作系统的初始化和的初始化和编程接口和程接口和标准准 Linux 系系统有有所不同所不同LibrariesLibrariesnBionic Libc:Google 自行开自行开发,未采用,未采用标准准 glibcFunction LibrariesNative ServersHardware Abstraction LibrariesBionic LibcnC/C+ 库:通:通过应用程序框架供各种用程序框架供各种 Android 组件使用,其功能包括:件使用,其功能包括:n媒体媒体库:MPEG4 H.264 MP3 JPG PNG .nWebKit/LibWebCore:Web 浏览引擎引擎n
16、SQLite 关系数据关系数据库引擎引擎n2D,3D 图形形库、引擎、引擎Function LibrariesnWebKitn基于开源基于开源 WebKit的的浏览器器n支持支持 CSS、Javascript、DOM、Ajaxn多媒体框架多媒体框架n基于基于 PacketVideo OpenCORE 平台平台n支持支持标准音准音频、视频nSQLiten轻型数据型数据库,支持多种平台,支持多种平台Native Servers:Surfacen为多种多种应用提供用提供2D、3D表面表面设计Native Servers:Audion音音频处理理Hardware Abstraction Librari
17、esn硬件抽象硬件抽象层 HALnUser space C/C+ library layern硬件接口硬件接口驱动n作用:隔离硬件接口与作用:隔离硬件接口与 Android 平台平台逻辑Andoid RuntimeAndoid Runtimen应用开用开发语言:言:JavanDalvik 虚虚拟机机n指令指令 : Dalvik Excutable nJava 标准准库n把把 Java 代代码编译为 Dalvik 可可执行文件(行文件(dex)Andoid Runtimen核心核心库提供的提供的 Java 功能、功能、Dalvik 虚虚拟机依机依赖于于 Linux 内核内核n可同可同时运行多个运
18、行多个 Dalvik 虚虚拟机机n每个每个 Android 应用程序在它自己的用程序在它自己的 Dalvik VM 实例中例中执行行优化的化的 Dalvik 可可执行文件(行文件(.dex)nDx-工具把工具把编译过的的 Java 文件文件转换为 dex 文件文件Dalvik Virtual MachinenAndroid custom implementation virtual machinenProvides application portability and runtime consistencynRuns optimized file format (.dex) and Dalv
19、ik bytecodenJava .class / .jar files converted to .dex at build timenDesigned for embedded environmentnSupports multiple virtual machine processes per devicenHighly CPU-optimized bytecode interpreternEfficiently Using runtime memorynCore LibrariesnCore APIs for Java language provide a powerful, yet
20、simple and familiar development platformDVM vs. JVMnDVMnGooglenDalvik excutable bytecoden对便携便携设备有限的系有限的系统资源和供源和供电进行了行了专门优化化nJVMnSunnJava bytecoden跨平台跨平台Applications FrameworkApplications FrameworknActivity managern管理运行管理运行应用程序用程序nContent Providern在各在各应用之用之间共享数据共享数据nNotification Managern显示用示用户提示和状提示和
21、状态栏nViews Systemn可可扩展展显示,用于构建示,用于构建 UIApplications Frameworkn核心核心应用:用:n联系人,系人,邮件,件,电话,浏览器,日器,日历,地,地图n充分充分访问所有核心所有核心应用的用的 APIn简化化组件的重用件的重用n用用 Java 编写写应用程序用程序ApplicationsApplicationsnJAVA 编写的写的应用程序用程序n程序程序员、软件服件服务商商开发环境、工具开发环境、工具 nIDE:Eclipse nEclipse plug-in:ADT(Android Development Tools)nSoftware De
22、velopment Kit:Android SDKnAndroid Emulator:AVD(Android Virtual Device)nDebuger:ADB(Android Debug Bridge)DDMS(Dalvik Debug Monitor Service)Android 版本历史版本历史自自 1.5 起,起,Android 用甜点作为系统版本代号,按用甜点作为系统版本代号,按26个字母的数序:个字母的数序:Android 1.1:2008 年年 9 月,代表机型:月,代表机型:HTC G1Android 1.5 Cupcake:2009 年年 5 月月Android 1.6
23、 Donut:2009 年年 9 月月Android 2.0 Eclair:2009 年年 10 月月Android 2.1 Eclair:2009 年年 10 月月Android 2.2 Froyo:2010 年年 5 月月 20 日日Android 2.3 Gingerbread:2010 年年 12 月月(Android 2.3.4:2011 年年 5 月)月)Android 2.4 Ice Cream Sandwich:即将发布:即将发布Android 3.0 Honeycomb:2011 年年 1 月,针对平月,针对平板设备的优化板设备的优化最新消息最新消息n2011年年5月,在旧金山月,在旧金山举办的的 I/O 开开发者大会上,者大会上,Google 展示了展示了 Android 2.4 版,版,侧重于解决重于解决设备分散分散问题,统一手机平台一手机平台n2011年年7月,国内可直接月,国内可直接访问 Android 开开发者网站者网站 http:/n2011年年8月月15日,日,Google 宣布以每股宣布以每股 40 美元,美元,总额约 125 亿美元收美元收购摩托摩托罗拉移拉移动,以,以应对Apple 和微和微软针对 Android 设备制造商制造商进行的行的专利利诉讼thanks