• 1. 第 1 章Android概述
  • 2. 本章目标了解移动信息设备分类 了解Android的历史和优缺点 熟悉Android平台的体系架构 掌握Android应用程序结构 掌握Android应用程序的编写2
  • 3. 移动设备开发平台 面对巨大的移动应用开发市场,国内外的IT厂商纷纷推出各 种各样的移动应用平台: Symbian Android Windows Mobile iOS 到了2010年,业内移动设备开发平台对市场的争夺日益激烈,也正是在这一年移动互联网进入了一个快速发展的阶段。3
  • 4. 移动信息设备系统 移动信息设备中的操作系统却呈现出群雄割据的局面,常用的操作系统有: Symbian Windows Mobile iOS Linux(含Android、Maemo和WebOS) Palm OS和BlackBerry OS 这些系统之间的应用软件互不兼容,因此移动信息设备中的应用程序需要根据不同的操作系统进行专门的开发。 4
  • 5. Symbian Symbian是一家软件公司,研发与授权Symbian操作系统。全球的各大手机领导厂商,包括摩托罗拉、诺基亚、三星、西门子与索尼爱立信等,都获得了Symbian操作系统的授权。目前,Symbian OS的获授权厂商的销售额已超过全球手机总销售额的50%。 5
  • 6. iOS iOS是苹果公司为其旗下的手机iPhone开发的操作系统。目前主要用于苹果公司的一系列产品,如iPhone、iPod、iTouch以及iPad等。 iOS的系统架构分为四个层次:核心操作系统层(the Core OS layer)、核心服务层(the Core Services layer)、媒体层(the Media layer)和可轻触层(the Cocoa Touch layer)。 6
  • 7. BlackBerry OS BlackBerry OS是RIM(Research In Motion)公司专用的操作系统,是为其智能手机产品BlackBerry开发的专用操作系统。 该平台支持移动式电子邮件、移动电话、文字短信、互联网传真、网页浏览及其他无线资讯服务。 BlackBerry开发平台分为三部分,分别是:BlackBerry Browser Development(黑莓浏览器开发)、Rapid Application Development(快速程序开发)和Java Application Development(Java程序开发)。 BlackBerry既支持标准Java ME程序,也可以开发黑莓专用的Java程序。 7
  • 8. Android 网络巨头Google发布的基于Linux平台的开源手机操作系统Android的诞生,标志着移动信息设备的开发平台进入一个崭新的领域。该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件开发平台。Android上的应用程序开发使用Java语言,并提供了专门的SDK 8
  • 9. 开放手机联盟 开放手机联盟(Open Handset Alliance,OHA)由一群共同致力于构建更好的手持移动信息设备的公司组成。 该组织由Google领导,包括移动运营商、手持设备制造商、零部件制造商、软件解决方案和平台提供商以及市场营销公司。 目前已达34家成员分类成员手机制造商台湾宏达国际电子(Palm等多款智能手机的代工厂)摩托罗拉(美国最大的手机制造商)韩国三星电子(仅次于诺基亚的全球第二大手机制造商)韩国LG电子移动运营商中国移动(全球最大的移动运营商,7.03亿用户)日本KDDI(2900万用户)日本NTT DoCoMo(5200万用户)美国Sprint Nextel(美国第三大移动运营商,5400万用户)意大利电信(意大利主要的移动运营商,3400万用户)西班牙Telefónica(在欧洲和拉美有1.5亿用户)T-Mobile(德意志电信旗下公司,在美国和欧洲有1.1亿用户)9
  • 10. 半导体公司Audience Corp(声音处理器公司)Broadcom Corp(无线半导体主要提供商)英特尔(Intel)Marvell Technology GroupNvidia (图形处理器公司)SiRF(GPS技术提供商)Synaptics(手机用户界面技术)德州仪器(Texas Instruments)高通(Qualcomm )惠普HP(Hewlett-Packard Development Company,L.P)软件公司AplixAscendereBay的SkypeEsmertecLiving ImageNMS CommunicationsNoser Engineering AGNuance CommunicationsPacketVideoSkyPopSonix NetworkTAT-The Astonishing TribeWind River Systems10
  • 11. OMS简介 OMS(Open Mobile System)操作系统是中国移动和Google合作联合开发的一款基于Linux内核Android平台构建的开放式手机操作系统,它在原有Android平台基础上针对中国市场做了特殊优化,加入了对中国移动运营的3G网络TD-SCDMA的支持,针对中国用户的中文录入、简体中文显示都进行了特殊的优化。OMS系统有望成为中国移动“掌控移动互联网平台的入口”。 OMS包括移动终端下层操作系统、上层应用软件、中间件、Java虚拟机、硬件参考设计以及基于WebKit的各类应用,具有强大的兼容性、扩展性和安全性,以及简单易用、友好的人机界面等良好用户体验,而且具有完全自主的知识产权。在此之上,OMS拥有开放统一的API开发接口、完备的集成开发环境,极大地方便了移动应用的开发。 OMS致力于成为世界主流的、开放的、安全的、便利的移动终端基础软件平台,目标是赶超现有终端软件平台(微软、苹果、诺基亚、RIM等),力争为品牌厂商在TD-SCDMA/GSM/EDGE等不同的智能终端上提供差异化的竞争优势,并最终为广大移动终端用户提供尽可能多的面向移动互联网的应用与服务。 OMS的可移植性将使该软件平台在其他领域具有广泛的应用,如航空航天、军事、制造业等领域的应用。 11
  • 12. Android简介 Android一词本意是指“机器人”,是Google公司推出的开源手机操作系统。Android作为Google移动互联网战略的重要组成部分,推进“随时随地为每个人提供信息”这一企业目标的实现,完善企业移动发展战略:通过与全球各地的手机制造商和移动运营商成为合作伙伴,开发即实用又有吸引力的移动服务,并推广这些产品。 12
  • 13. Android的历史 时间事件2007年11月5日Google公司宣布组建一个全球性的开放手机联盟,创建时,联盟成员数量已经达到了34家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日宏达电将逐渐放弃Windows Mobile系统,继而转向Android系统2009年12月23日Google在中国大陆推出中文版Android Market,国内已经有开发者推出针对国内用户的Android Market,易联致远公司已经推出名为eoeMarket的专门针对国内用户的第三方Android Market2010年1月6日Google正式发布首款自有品牌手机Nexus One,该机采用Android 2.1操作系统2010年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日Android的市场份额已占有43.7%,在智能手机中已位居第一13
  • 14. Android的优缺点 Android的优势主要体现在: 系统的开放性和免费性 移动互联网的发展 相关厂商的大力支持 Android也不是一个完美的系统,同样面临着许多挑战: 技术的进一步完善 开放手机联盟模式的挑战 其他技术的竞争14
  • 15. Android平台的技术架构 15
  • 16. Android应用程序构成 一个Android应用程序通常是由以下4个组件构成的: 活动(Activity) 意图(Intent) 服务(Service) 内容提供器(Content Provider) 16
  • 17. 活动(Activity) 活动(Activity)是最基本的Android应用程序组件。 在应用程序中,一个活动通常就是一个单独的屏幕。 每个活动都通过继承活动基类而被实现为一个独立的活动类。 活动类将会显示由视图控件组成的用户接口,并对事件做出响应。 17
  • 18. 意图(Intent) Intent用来描述应用程序的功能。 Intent是利用消息实现应用程序间的交互机制,能够在程序运行的过程中连接两个不同的组件。 Intent描述了应用中一次操作的动作、数据以及附加数据,向Android表达某种请求或者意愿,Android系统会根据Intent描述的内容来选择适当的组件来响应,并将Intent传递给该组件,完成组件的调用。18
  • 19. 服务(Service) 服务是Android应用程序中具有较长的生命周期但是没有用户界面的程序。 Service运行在后台,并且可以与其他程序进行交互。 Service跟Activity的级别差不多,但是不能独立运行,需要通过某一个Activity来调用。 Android应用程序的生命周期是由Android系统来决定的,不由具体的应用程序线程来控制。 如果应用程序要求在没有界面显示的情况还能正常运行(要求有后台线程,而且直到线程结束,后台线程才会被系统回收),此时就需要用到Service。19
  • 20. 内容提供器(Content Provider) Android应用程序可以使用文件或SQLite数据库来存储数据。 Content Provider提供了一种多应用间数据共享的方式。 一个Content Provider类实现一组标准的方法,能够让其他的应用保存或读取此内容提供器处理的各种数据类型,即一个应用程序可以通过实现一个ContentProvider的抽象接口将自己的数据暴露出去。外界根本看不到,也不用看到该应用程序暴露的数据是如何存储的,但是外界可以通过这一套标准及统一的接口和应用程序里的数据打交道,可以读取应用程序的数据,也可以删除应用程序的数据。 20
  • 21. 第一个Android应用 编写并运行Android的应用程序通常需要如下3个步骤: 创建一个新的Android项目; 创建一个启动配置; 运行Android应用程序。21
  • 22. Android项目的架构 src文件夹:用来存放项目的源文件 android.jar文件:包含构建应用程序所需的Android SDK库 资源引用文件资源目录 图标文件 界面布局文件 字符串引用文件 Android项目的总配置文件 22
  • 23. 字符串引用文件strings.xml Hello World, Ch01Activity! Ch01 界面布局文件main.xml 23
  • 24. 资源引用文件R.java public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; } public static final class layout { public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; } }源文件Ch01Activity.java public class Ch01Activity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } 24
  • 25. 项目配置清单文件AndroidManifest.xml 根元素,指定了命名空间、包、版本代号及名称等信息 根元素,指定了命名空间、包、版本代号及名称等信息 图标 标题 类名 标题 过滤器 程序的入口 加载程序时运行 版本 25
  • 26. 运行结果 :26
  • 27. 小结: Android是Google公司推出的开源手机操作系统 Android上的应用程序开发使用Java语言 Android平台采用了软件栈的架构,主要分为活动、意图、服务和内容提供器四部分 活动(Activity)是最基本的Android应用程序组件 意图(Intent)利用消息实现应用程序间的交互机制 服务(Service)是Android应用程序中具有较长的生命周期但是没有用户界面的程序 内容提供器(Content Provider)提供了一种多应用间数据共享的方式 27
  • 28. 谢谢!28