350 likes | 556 Views
基于 Android 的移动应用开发. 概述. 提纲. 智能终端及移动操作系统 Android 概述. 智能终端. 超小型移动个人电脑 —UMPC ( Ultra-Mobile PC ) 上网本 - Netbook 平板电脑 PDA. 智能终端. PMP - Portable Media Player 电子书 车载 GPS ……. 智能终端. 手机 普通手机 智能手机. 手机的发展与特点. 手机的发展 功能手机 智能手机 服务手机 手机的用途 娱乐化 商务化 媒体化 生活化 …… 手机的特点 强制性、准确性、隐私性
E N D
提纲 • 智能终端及移动操作系统 • Android概述
智能终端 • 超小型移动个人电脑—UMPC(Ultra-Mobile PC) • 上网本 - Netbook • 平板电脑 • PDA
智能终端 • PMP - Portable Media Player • 电子书 • 车载GPS • ……
智能终端 • 手机 • 普通手机 • 智能手机
手机的发展与特点 • 手机的发展 • 功能手机 • 智能手机 • 服务手机 • 手机的用途 • 娱乐化 • 商务化 • 媒体化 • 生活化 • …… • 手机的特点 • 强制性、准确性、隐私性 • 随时随地、时间碎片
智能终端 • 优点 • 便携性 • 开放的操作系统平台 • 丰富的应用 • 可扩展性 • 缺点 • 硬件能力较弱 • 屏幕小 • 电池续航能力弱
丰富的智能手机平台 Android 应用开发平台
什么是移动操作系统 • 移动操作系统(Mobile operating system) • 指在移动设备上运作的操作系统 • 移动操作系统近似在台式机上运行的操作系统,但是他们通常较为简单,而且提供了无线通信的功能 • 使用移动操作系统的设备有:智能手机、PDA、平板电脑等,另外包括嵌入式系统、移动通信设备、无线设备等
移动操作系统历史 • 在移动操作系统出现前,移动设备如移动电话一般是使用嵌入式系统运作 • 1993年,IBM推出了首台智能手机IBM Simon • 其后Palm及微软先后于1996年推出Palm OS及Windows CE,开始移动操作系统争霸的局面、 • 2007年苹果推出iPhone,迎来了一个新时代的智能手机操作系统,其重点在于用户体验,触控式面板开始有突破性的发展 • 2007年9月, 谷歌发表开放手持设备联盟,并推出Android 操作系统 • 由于苹果的iOS以及谷歌的Android推波助澜,至2010年5月, 智能手机有爆量的增加,估计有17.3%的手机出现 • 至今各厂商已推出不同的移动操作系统,包括谷歌的Android、苹果的iOS、微软的Windows Phone
主要移动操作系统 • Android(谷歌,开放源代码) • 是一个基于开放源代码的Linux平台的操作系统,受谷歌及参与开放手持设备联盟的主要硬件和软件开发商(如英特尔、宏达电、ARM公司、三星、摩托罗拉等)支持 • IOS(苹果,封闭源代码) • 是由苹果公司为移动设备所开发的操作系统,支持的设备包括iPhone、iPod touch、iPad、Apple TV。与Android及Windows Phone不同,iOS不支持非苹果硬件的设备 • Windows phone(微软,半封闭源代码) • 是微软发布的一款手机操作系统,它将微软旗下的Xbox Live游戏、Xbox Music音乐与独特的视频体验集成至手机中,取代windows mobile
其他移动操作系统 • Blackberry 10:黑莓公司的移动操作系统 • Nokia os:诺基亚的移动操作系统 • Firefox os:Mozilla基金会旗下所开发的移动操作系统 • Sailfish OS:基于Linux的移动操作系统,由MeeGo的分支Mer在分支而成 • Tizen:由Linux基金会和Limo基金会主导的开放源代码专案 • Ubuntu Touch:由Canonical公司发起的开放源代码专案,基于Ubuntu,正在开发中 • 停止更新的移动操作系统:OpenEmbedded、Openmoko linux、Limo、Meego、Bada、webos、symbian、windows mobile
Android概述 • 历史 • 许可证 • 系统特点 • 系统架构 • 版本演化
Android概述-历史 • 2003年10月,有“Android之父”之称的安迪·鲁宾(Andy Rubin)在美国加利福尼亚州帕洛阿尔托创建了Android科技公司(Android Inc.) • 鲁宾说:“聪明的移动设备能更好的意识到用户的爱好和要求。” • 2005年8月17日,Google收购了Android科技公司,Android科技公司成为Google旗下的一部分 • 2007年11月5日,在Google的领导下,成立开放手持设备联盟(Open Handset Alliance) • 是为了创建一个更加开放自由的移动电话环境 • 包括了电信运营商、半导体芯片商、手机硬件制造商、软件厂商和商品化公司 • 联盟创建的同一日,联盟对外展示了他们的第一个产品:一部搭载了以Linux 2.6为内核基础的Android操作系统的智能手机 • 一个负责持续发展Android操作系统的开源代码项目成立了AOSP(Android Open Source Project)
Android概述-许可证 • Android的许可证 • Android操作系统使用开放免费代码许可证,一切代码都是公开免费 • Google对Android所使用的Linux内核依据Apache开源条款2.0中所规定的内容进行了修改,包括添加智能手机网络和电话协议栈等智能手机所必需的功能,使它们能更好的在移动设备上运行,并且根据第二版GNU条款中所规定的内容对修改的Linux内核信息公布 • Android操作系统是完全免费开源的,任何厂商都可以不经过Google和开放手持设备联盟的授权随意使用Android操作系统;但是制造商不能随意地在自己的产品上使用Google的标志和Google的应用程序,例如Google Play等 • 如果Google证明其生产的产品设备符合Google兼容性定义文件(CDD),这样才能在智能手机上预装Google Play Store、Gmail等应用程序,并且获得CDD的智能手机厂商也可以在其生产的智能手机上印上“With Google”的标志
Android概述-系统特点 • Linux内核 • Android操作系统的内核属于Linux内核的一个分支,具有典型的linux调度和功能 • Google为了能让linux在移动设备上良好的运行,对其进行了修改和扩充 • 去除了 • Linux中的本地X Window System • 标准的GNU库,这使得Linux平台上的应用程序移植到Android平台上变得困难 • 增加了 • 移动设备电源管理功能 • …
Android概述-系统特点 • 显示布局 • Android操作系统支持更大的分辨率,VGA,2D显示,3D显示都给予OpenGL ES 2.0标准规格,并且支持传统的智能手机 • 数据存储 • Android操作系统内置SQLite小型关联式资料库管理系统来负责存储数据 • 网络 • Android操作系统支持所有的网络制式,包括GSM/EDGE、IDEN、CDMA、EV-DO、UMTS、Bluetooth、Wi-Fi、LTE、NFC和WiMAX
Android概述-系统特点 • 信息 • 作为原设计给智能手机使用的操作系统,Android操作系统原生支持短信和邮件,并且支持所有的云信息和服务器信息 • 语言 • Android操作系统支持多语言 • 浏览器 • Android操作系统中内置的网页浏览器基于WebKit内核,并且采用了Chrome V8引擎。在Android 4.0内置的浏览器测试中,HTML5和Acid3故障处理中均获得了满分,并且于2.2版及之后能原生支持Flash
Android概述-系统特点 • 支持java • 虽然Android操作系统中的应用程序大部分都是由Java编写的,但是Android却是以转换为Dalvik executables的文件在Dalvik虚拟机上运行的。由于Android中并不自带Java虚拟机,因此无法直接运行Java程序。不过Android平台上提供了多个Java虚拟机供用户下载使用,安装了Java虚拟机的Android系统可以运行Java_ME的程序 • 媒体支持 • Android操作系统本身支持以下格式的音频/视频/图片媒体:WebM、H.263, H.264 (in 3GP or MP4 container)、MPEG-4 SP、AMR, AMR-WB (in 3GP container)、AAC, HE-AAC (in MP4 or 3GP container)、MP3、MIDI、Ogg Vorbis、FLAC、WAV、JPEG、PNG、GIF、BMP。如果用户需要播放更多格式的媒体,可以安装其他第三方应用程序
Android概述-系统特点 • 流媒体支持 • Android操作系统支持RTP/RTSP(3GPP PSS, ISMA)的流媒体以及(HTML5 <video>)的流媒体,同时还支持Adobe的Flash,在安装了RealPlayer之后,还支持苹果公司的流媒体 • 硬件支持 • Android操作系统支持识别并且使用视频/照片摄像头,多点电容/电阻触摸屏,GPS,加速计,陀螺仪,气压计,磁强计,键盘,鼠标,USB Disk,专用的游戏控制器,体感控制器,游戏手柄,蓝牙设备,无线设备,感应和压力传感器,温度计,加速2D位位块传输(硬件方向,缩放,像素格式转换)和3D图形加速
Android概述-系统特点 • 多点触控 • Android支持本地的多点触摸,在最初的HTC Hero智能手机上即有这个功能。该功能是内核级别(为了避免对苹果公司的触摸屏技术造成侵权) • 蓝牙 • Android支持A2DP,AVRCP,发送文件(OPP),访问电话簿(PBAP),语音拨号和发送智能手机之间的联系。同时支持键盘,鼠标和操纵杆(HID) • 多任务处理 • Android操作系统支持本地的多任务处理
Android概述-系统特点 • 语音功能 • 除了支持普通的电话通话之外,Android操作系统从最初的版本开始就支持使用语音操作来使用Google进行网页搜索等功能。而从Android OS v2.2开始,语音功能还可以用来输入文本、语音导航等功能 • 无线共享功能 • Android操作系统支持用户使用本机充当“无线路由器”,并且将本机的网络共享给其他智能手机,其他机器只需要通过WiFi查找到共享的无线热点,就可以上网。而在Android OS v2.2版本之前的操作系统则需要通过第三方应用或者其他定制版系统来实现这个功能 • 截图功能 • 从Android OS v4.0版本开始,Android操作系统便支持截图功能,该功能允许用户直接抓取智能手机屏幕上的任何画面,用户还可以通过编辑功能对截图进行处理,还可以通过蓝牙/E-mail/微博/共享等方式发送给其他用户或者上传到网络上,也可以拷贝到电脑中
Android概述-系统特点 • 由于Android操作系统的开放性和可移植性,它可以被用在大部分电子产品上 • 智能手机,上网本,平板电脑,个人电脑,笔记本电脑,电视,机顶盒,MP3播放器,MP4播放器,掌上游戏机,家用主机,电子手表,电子收音机,耳机,汽车设备,导航仪,CD机,VCD机,DVD机,机顶盒以及其他设备 • Android操作系统大多搭载在使用了ARM架构的硬件设备上。但是同样也有支持X86架构的Android操作系统,比如Google的Google TV • Android操作系统可以容易的移植到不同的设备: • 苹果公司的iOS设备,比如iPhone、iPod Touch以及iPad产品都可以安装Android操作系统 • 微软的Windows Mobile、Windows Phone产品也一样可以
Android概述-系统架构 采用软件堆层的架构
Android概述-系统架构 • Linux内核 • 硬件和其他软件堆层之间的一个抽象隔离层(HAL),能以封闭源码形式提供硬件驱动模块,HAL的目的是为了把Android framework与Linux kernel隔开,让Android不至过度依赖Linux kernel,以达成“内核独立”(kernel independent)的概念,也让Android framework的开发能在不考量驱动程序实作的前提下进行发展 • 提供安全机制、内存管理、进程管理、网络协议堆栈、和驱动程序等
Android概述-系统架构 • 中间件层,操作系统与应用程序的沟通桥梁,并分为两层: • 由函数库 • Android的多媒体资料库采用SQLite资料库系统 • … • Android运行时 • 核心库,提供Android系统的特有函数功能和Java语言函数功能 • Dalvik虚拟机,是一种“寄存器型态”的Java虚拟机器,变量皆存放于寄存器中,虚拟机器的指令相对减少,可以有多个实例,每个Android应用程序都用一个自属的Dalvik虚拟机器来执行,让系统在执行程序时可达到优化。Dalvik虚拟机器并非执行Java字节码,而是执行一种称为.dex格式的文件
Android概述-系统架构 • 应用程序框架:提供Android平台基本的管理功能和组件重用机制 • Activity Manager,管理应用程序的生命周期 • Windows Manager,启动应用程序的窗体 • Content Provider,共享私有数据,实现跨进程的数据访问 • Resource Manager,允许应用程序使用非代码资源 • Location Manager,管理与地图相关的服务功能 • Notification Manager,允许应用程序在状态栏中显示提示信息 • Package Manager,管理安装在Android系统内的应用程序 • TelePhony Manager,管理与拨打和接听电话的相关功能
Android概述-系统架构 • 应用程序 • 提供一系列的核心应用程序 • 包括电子邮件客户端、浏览器、通讯录和日历等
Android概述-版本演化 • Android操作系统曾有两个内部版本,分别是阿童木(Astro)和发条机器人(Bender),在这两个版本之后,Google为了避免商标问题,将Android操作系统的代号由机器人系列转变为了现在的甜点系列 • 现时Android系统以差不多每半年一次的步伐进行升级,比如1.5版叫做Cupcake(纸杯蛋糕)、1.6版为Donut(甜甜圈)、2.0/2.1版为Éclair(闪电泡芙,一种法式奶油夹心甜点)、2.2版为Froyo(凍酸奶)、2.3版为Gingerbread(姜饼)、3.0版为Honeycomb(蜂窝)、4.0版为Ice Cream Sandwich(冰激凌三明治)、4.1/4.2/4.3版称为Jelly Bean(果冻豆)及5.0版称为Key Lime Pie(墨西哥莱檬派)。这些是以A、B、C、D、E、F、G、H、I、J、K字头顺序来排列的
Android概述-版本演化 • 截止至2013年6月3日,不同的Android操作系统版本的用户比例
Android概述-版本演化 • Android 2.3(基于Linux内核2.6.35) • 2010年12月7日,2.3(Gingerbread 姜饼)主要的更新如下: 修补UI、支持更大的屏幕尺寸和分辨率(WXGA及更高)、系统级复制粘贴、重新设计的多点触摸屏幕键盘、原生支持多个镜头(用于视频通话等)和更多传感器(陀螺仪、气压计等)、电话簿集成Internet Call功能、支持近场通信(NFC)、强化电源、应用程序管理功能、新增下载管理员、优化游戏开发支持、多媒体音效强化、从YAFFS转换到ext4文件系统、开放了屏幕截图功能、对黑色及白色的还原更加真实、Google Talk视讯功能
Android概述-版本演化 • Android 4.0(基于linux内核3.0.1) • 2011年10月19日,4.0(Ice Cream Sandwich 冰激凌三明治)版本主要更新如下: HOLO主题(Google力荐第三方应用使用HOLO主题并将官方应用全部改写为HOLO风格,但仍向下兼容原来的android应用视觉样式)、相机自带全景(Panorama)模式、Gmail 外观有所改动、改动用户界面,新的启动画面,Home 画面右下角类似 Tray 的图标,内有多个程序可运行、Google Search Bar 会设置在最上方、Apps/Widgets 会类似 Honeycomb 模样、系统字体由原先的Droid Sans变更为Roboto
Android概述-版本演化 • Android 4.1(基于linux内核3.4.0) • 2012年6月28日,Android 4.1(Jelly Bean 果冻豆)版本主要更新如下: 基于Android 4.0改善、“牛油”性能(Project Butter),意思是可以让 Jelly Bean 的体验像“牛油般顺滑”(锁定并提升用户页面的速度与流畅性,对低配置的设备效果不大)、“Google Now”可在 Google 日历内加入活动举办时间、地点,系统就会在判断当地路况后,提前在“适当的出门时间给予通知”、新增脱机语音输入、通知中心显示更多信息,如支持拉开栏项以查看详细图片(如截屏)、更多的平板优化、语音助理:与 S Voice 类近,相抗于 Apple Siri、Google Play 增加电视视频与电影的购买、提升反应速度、强化默认键盘、大幅改变用户界面设计、更多的Google 云集成、不会自带Flash Player,并且adobe声明停止开发
Android概述-版本演化 • Android 4.2(基于linux内核3.4.0) • 2012年10月30日,Android 4.2(Jelly Bean 果冻豆)版本主要更新如下: • 多重用户帐户 • 通知中心里的设置键 • 照片球(球形全景拍摄) • Google Now 更新,除了搜索外,现在可查看 Gmail 与飞机航班等数据;更提供用户购买票卷、音乐会、股票、突发新闻等 • 手势输入 • 多媒体无线传输 Miracast • 屏幕锁定时的小工具,唯目前支持的小工具十分有限(基于开发者有无加入此功能) • 白日梦,类似于屏幕保护
Android概述-版本演化 • Android 4.3(基于linux内核3.4.0) • 2013年7月25日,Android 4.3(Jelly Bean 果冻豆)版本主要更新如下: • 支持多用户登录,支持一台终端设备上有多个登录帐号 • “蓝牙低功耗”功能,开启蓝牙后,耗电量相比之前大幅降低 • 支持OpenGL ES 3.0,将为Android游戏带来更出色的视觉体验 • DRM APIs,提供全新数字版权加密技术支持 • 支持4K分辨率,加入对640PPI(XXXHDPI)的支持 • 提高了全景相机的校准和缝合,优化曝光修正 • 增加TRIM指令,使得内存(Internal Storage)不会越用越慢