一、 前言: android是一个针对手机的开源软件工具包,它由Google和开发手机联盟(open handset alliance)共同创建,是当今手机操作系统中最火的。许多大型厂商如:moto、htc、三星等等都采用,本人最近也购入了一台小米。由于对android手机兴趣浓厚,故开始学习android手机开发,想以此独立开发几个小型应用在自己的手机上玩玩,要是你的手机上面很多软件都是自己开发的那将是多么酷的事情啊。
二、基本概念:
2.1android系统架构
1、linux内核,android建构在linux内核之上,linux为android提供了硬件抽象层以便于android应用程序的移植,从内部来看,android使用linux完成了其内存管理、进程管理、网络和其它操作系统服务.
2、本机库,linux内核的上一层包含了本机库。这些库都是使用c和c++语言编写的,针对电话使用的特定硬件架构进行了编译,并已有手机制造商预先安装到手机中。包括以下主要部分:
界面管理器(surface manager):android使用组合窗口管理器,它并不是将显示内容直接绘制到屏幕缓冲区中,而是将绘制命令传递给屏幕外的位图,然后将该位图与其它位图组合起来形成用户看到的显示内容。这种方法允许系统实现许多有趣的效果如透明的窗口和奇特的过渡效果。
2D和3D图形:使用android时,二维和三维元素可以结合到一个用户界面中,库将使用3D硬件或者快速软件渲染器。
媒体编码器:android可以播放视频内容,并可以用各种格式录制和播放音频。
数据库: android提供轻量级的sqlite数据库引擎,使用该引擎可以在应用程序中持续存储。
浏览器引擎:为保障快速显示HTML内容,android使用了webkit库。
3、android运行时,在linux内核上面还有一个android运行时层,该层包括dalvik虚拟机和java核心库,dalvik是针对手机低内存低能耗开发的java虚拟机,大体与java虚拟机相同区别有:dalvik运行的是.dex文件,既编译时会把.class文件和.jar转化从dex文件,它比类文件更加紧凑和高效。然后就是android附带的核心库与java核心库有区别。
4、应用程序框架:
位于本机内库和运行时上面的是应用程序框架层,该层提供了在创建应用程序时所需要的各种高级构建块。
5、应用程序,最终呈现出来的。