android开发初步RN2RDSW刘勋RN2SW2Android概述31目录Android版本32Android优点33Android架构34Sample开发35RN2SW3美国人安迪鲁宾(AndyRubin)他创办了新的公司,致力于研发手机操作系统。因为LinusTorvalds把自己写的操作系统称为Linux,安迪鲁宾的名字是Andrew(Andy为Andrew的昵称),加上他是个机器人迷,所以新公司取名叫做Android。安迪鲁宾的最初目标是想把Android打造成一个可以对任何软件设计人员开放的移动终端平台,很快这个公司就获得了青睐。最后,Google就抢先把他的公司收购。发展成为目前最流行的手机操作系统之一。什么是androidRN2SW4•APK是AndroidPackage的缩写,即Android安装包。•通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。•我们安装APK一般有这样几种途径:1、使用电脑上的91/360手机助手,连接手机进行安装,此方法简单明了,只要连接好手机在你的电脑上双击APK文件,即可将程序安装在手机上;2、将APK文件拷贝入手机的存储卡,在手机上运行安装好的APK程序安装器,找到拷贝的APK文件进行安装。什么是APKRN2SW5ROM,是用来刷你手机系统的数据文件,也就是Android系统的封装包,通过手机的工程模式解压安装到手机中形成你手机的操作系统。什么是ROMRN2SW6•root就是你手机的boss,它可以访问和修改你手机几乎所有的文件,这些东西可能是制作手机的人不愿意你修改和触碰的东西,因为他们有可能影响到手机的稳定,还容易被一些hacker有机会入侵你的手机。所以一般来说,出厂手机不具备root权限。•比如修改开机画面;为系统瘦身—卸载系统自带的软件;关闭某些不需要的后台程序,以节省系统内存开销;这些都需要root权限。•推荐root工具:什么是ROOTRN2SW7Android版本RN2SW8•开放性。Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望通过建立标准化、开放式的移动电话软件平台。•应用程序无界限。Android上的应用程序可以通过标准API访问核心移动设备功能。通过互联网,应用程序可以声明它们的功能可供其他应用程序使用。•应用程序是在平等的条件下创建的。移动设备上的应用程序可以被替换或扩展,即使是拨号程序或主屏幕这样的核心组件。•应用程序可以轻松地嵌入网络。应用程序可以轻松地嵌入HTML、JavaScript和样式表,还可以通过WebView显示网络内容。•应用程序可以并行运行。Android是一种完整的多任务环境,应用程序可以在其中并行运行。在后台运行时,应用程序可以生成通知以引动注意。Android系统优点RN2SW9Android企业级应用(1)RN2SW10Android系统从底向上一共分了4层,每一层都把底层实现封装,并暴露调用接口给上一层。Android系统架构RN2SW11Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。应用程序层RN2SW12•丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至可嵌入的web浏览器。•内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据•资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。•通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。•活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。应用程序框架层RN2SW131)程序库*系统C库-专门为基于embeddedlinux的设备定制的标准C系统函数库(libc)。*媒体库-支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。*SurfaceManager-对显示子系统的管理,提供2D和3D图层的无缝融合。*LibWebCore-web浏览器引擎,支持Android浏览器和一个可嵌入的web视图。*SGL-底层的2D图形引擎*3Dlibraries-使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。*FreeType-位图(bitmap)和矢量(vector)字体显示。*SQLite-功能强劲的轻型关系型数据库引擎。2)Android运行库*Dalvik是一个设备可以同时高效地运行多个虚拟系统。系统运行库RN2SW14Android的核心系统服务依赖于Linux2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层。Linux内核层RN2SW15Android企业级应用(2)RN2SW16Sample界面和功能展示RN2SW17程序实现Xml结构说明RN2SW18程序调试RN2SW19目录结构分析RN2SW20源码分析