8、谷歌关注Android技术 谷歌最初开始销售Android操作系统时,其意图和计划并不为人所知。谷歌过去一直大 力投资搜索和广告市场,其对移动技术专注程度到底有多深,这似乎仍不为人所知。但目前 似乎一切真相大白,Android操作系统已经成为谷歌战略的重要因素,这对谷歌的合作伙伴 而言也将是一个大好消息,这种趋势对谷歌本身也必将是有百利而无一害。 9、更多生产商青睐Android 摩托罗拉和宏达电在运营Android方面的成功已经诱发了更多公司关注谷歌的移动操 作系统,因此,谷歌也将有更多的机会来让新生产商选择其Android操作系统。例如,戴尔 已经推出了3杜6吐平板电脑和八虹0智能手机,这些产品都运行Android操作系统。当然, 戴尔只是诸多类似的公司之一。对消费者而言,可供选择的产品越多,那就越好。 10、谷歌应用商店Android market发展壮大 苹果应用商店(App Store)催生了移动市场的一个全新行业,但是,尽管谷歌的应用 商店AndroidMarket拥有的应用数量要大大低于苹果应用商店,但事实上,AndroidMarket 一直在发展壮大。不可否认的是,苹果应用商店中的诸多尖端应用方案,在谷歌的Android Market应用商店中也有,一些收费,一些可供免费下载。这些局面进一步增加了谷歌Android 操作系统的价值,当然也会让Android系统未来更具吸引力。 Android的高速发展为我们带来了很多就业机会。据0064最新的来自全球招聘市场的 报告显示,Android平台开发者的需求量从2009年10月到2010年10整整上升了 H0%。这个需求量的增长是不足为奇的,由于手机(移动)操作系统在过去12多个月的快速攀升, 现在形成了新的形式。在006士最新的在线就业报告中,总计审查了超过57000份工作的汇总数据,需要熟练掌握“Android”的(与去年同期相比)提升了70位,自上次报告去年 8月的时它还是很普通的第110位。 因此掌握Android开发技术不仅仅是谋得一份好工作的契机,更是弄潮户互联网行业的 一个新的创业机会。玩腻了linux的远程控制技术,或许新的智能手机远程控制技术会让你眼前一亮,激发起学习Android编程的兴趣。 Android系统架构 Android是一个为移动设备设计的软件平台,包括操作系统、中间件和一些关键应用。 目前发布的Android sdk提供了必须的工具和进行应用开发所必须的api,在Android上的开发使用java语言。 Android软件层次结构包括了一个操作系统(0S),中间件(MiddleWare)和应用程序 (Application)。根据八1?^013的软件框图,其软件层次结构自下而上分为以下几个层次: ![]() 第一、操作系统层(0S) 第二、各种库(Libraries) *Android 运行环境(RunTime) 第三、应用程序框架(Application Framework) 第四、应用程序(Application) 对于操作系统层,Android使用Linux 2.6作为操作系统,Linux2. 6是一种标准的技术, Linux也是一个开放的操作系统。Android对操作系统的使用包括核心和驱动程序两部分, Android的Linux核心为标准的Linux2. 6内核,Android更多的是需要一些与移动设备相关 的驱动程序。这主要包括基于^皿丨的帧缓冲的显卡驱动;作为输入设备的键盘驱动;基于MTD的Flash驱动;照相机驱动;音频驱动;基于IEEE 802. 15. 1标准的蓝牙驱动;基于IEEE 802.11标准的WiFi驱动;提供进程间通信的Binder IPC驱动等。 Android使用的库主要包括系统c库(一个从BSD继承来的标准C系统函数库,专门 为基于嵌入式linux设备定制);媒体库(基于PacketVideo的opencore,该库支持录放, 并且可以录制许多流行的音频视频格式,还有静态印像文件包括MPEG4,H.264,MP3,AAC,AMR, JPG, png等;SGL (—个内置的20图形引擎);OpenGL (基于openGL ES 1.0 apis 实现,该库可以使用硬件30加速或者使用高度优化的30软加速;FreeType (位图和向量字体 显示);SQLite (一个对于所有应用程序可用,功能强劲的轻量级关系数据库引擎); LibWebCore (一个最新的web浏览器引擎用来支持Android浏览器和一个可嵌入的WEB视 图)。Android运行环境主要指的虚拟机技术Dalvik。Dalvik虚拟机和一般JAVA虚拟机(Java VM)不同,它执行的不是从7八标准的字节码(bytecode) 而是Dalvik可执行格式(.dex) 中执行文件。在执行的过程中,每一个应用程序即一个进程(linux的一个process)。二 者最大的区别在于JavaVM是以基于桟的虚拟机(Stack_based),而Dalvik是基于寄存器的虚拟机(Register-based)。显然,后者最大的好处在于可以根据硬件实现更大的优化, 这更适合移动设备的特点。 |