Android应用开发揭秘 第一章
2011-06-15 09:38
246 查看
第一章:Android开发简介 1.1 Android基本概念 Android:它是Google推出的开源手机操作系统。Android基于Linux平台,由操作系统,中间件,用户界面和应用软件组成。 1.1.1Android系统5个特点: 1.开放性。 2.应用程序无界限。 3.应用程序是在平等的条件下创建的。 4.应用程序可以轻松地嵌入网络 5.应用程序可以并行运行。 1.1.2 Android系统结构图 1.应用层:应用是用java语言编写的运行在虚拟机上的程序。 2.应用框架层:编写Google发布的核心应用时所使用的API框架。 组件:1.丰富而又可扩展的视图(View):可以用来构建应用程序。它包括列表(List),网络(Grid),文本框(TextBox),按钮(Button)以及可嵌入的Web浏览器。2.内容提供器(Content Providers):它可以让一个应用访问另一个应用的数据(如联系人数据库),或共享它们自己的数据。3.资源管理器(Resource Manager):提供非代码资源的访问,如本地字符串,图形和布局文件(Layout file)。4.通知管理器(Notification Manager):应用可以在状态栏中显示自定义的提示信息。5.活动管理器(Activity Manager):用来管理应用程序生命周期并提供常用的导航退回功能。6.窗口管理器(Window Manager):管理所有的窗口程序。7.包管理器(Package Manager):Android系统内的程序管理。 3.系统运行库(C/C++库以及Android运行库)层 当使用Android应用框架层时,Android系统会通过一些C/C++库来支持我们使用的各个组件使其能更好地为我们服务。1. Bionic系统C库:C语言标准库,系统最底层的库,C库通过Linux系统来调用。2. 多媒体库(MediaFrameWork):Android系统多媒体库,基于PacketVideo OpenCORE,该库支持多种常见格式的音频,视频的回放和录制,以及图片。比如MPEG4,MP3,AAC,AMR,JPG,PNG等。3. SGL:2D图形引擎库4. SSL:位于TCP/IP协议与各种应用层协议之间,为数据通信提供支持。5. OpenGL ES 1.0:3D效果的支持。6. SQLite:关系数据库7. Webkit:Web浏览器引擎。8. FreeType:位图(bitmap)及矢量(vector)。每个java程序都运行在Dalvik虚拟机之上。与PC一样,每个android应用程序都用自己的进程,Dalvik虚拟机只执行.dex的可执行文件。当Java程序通过编译,最后还需要通过SDK中的dx工具转化成.dex格式才能正常在虚拟机上执行。 4.Linux内核层 Android的核心系统服务基于Linux2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型等都依赖与该内核。Linux内核同时也作为硬件和软件栈之间的抽象层。 Android 更多的是需要一些与移动设备相关的驱动程序,主要如下:1. 显示驱动(Display Driver):基于Linux的帧缓冲(Frame Buffer)驱动。2. 键盘驱动(KeyBoard Driver):作为输入设备的键盘驱动。3. Flash内存驱动(Flash Memory Driver):基于MTD的Flash驱动程序。4. 照相机驱动(Camera Driver):常用的基于Linux的v412(Video for Linux)驱动。5. 音频驱动(Audio Driver):常用的基于ALSA(Advanced Linux Sound Architecture)的高级Linux声音体系驱动。6. 蓝牙驱动(Bluetooth Driver):基于IEEE 802.15.1的标准的无线传输技术。7. WiFi驱动:基于IEEE 802.11标准的驱动程序。8. Binder IPC驱动:Android 的一个特殊的驱动程序,具有单独的设备节点,提供进程间通信的功能。9. Power Management(电源管理):比如电池电量等。 1.1.3 Android应用程序框架 框架可以说是一个应用程序的核心,是所有参与开发的程序员共同使用和遵守的约定,大家在其约定上进行必要的扩展,但程序始终保持主体结构的一致性。其作用是让程序保持清晰和一目了然,在满足不同需求的同时又不互相影响。 Android框架的主要功能有:1. android.app:提供高层的程序模型和基本的运行环境2. android.content:包含对各种设备上的数据进行访问和发布3. android.database:通过内容提供者浏览器和操作数据库。4. android.graphics:底层的图形库,包含画布,颜色过滤,点,矩形,可以将它们直接绘制到屏幕上。5. android.location:定位和相关服务的类。6. android.media:提供一些类管理多种音频,视频的接口。7. android.net:提供帮助网络访问的类,超过通常的java.net.*接口。8. android.os:提供了系统服务,消息传输和IPC机制。9. android.opengl:提供OpenGL的工具10. android.provider:提供访问Android内容提供者的类11. android.telephony:提供与拨打电话相关的API交互。12. android.view:提供基础的用户界面接口框架。13. android.util:涉及工具性的方法,例如时间和日期的操作。14. android.webkit:默认浏览器操作接口。15. android.widget:包含各种UI元素(大部分是可见的)在应用程序布局中使用。1.2 OMS介绍 OMS是Open Mobile System的简称,即面向移动互联网的开放型移动智能终端软件平台。它具有强大的兼容性,扩展性和安全性。1.2.1 OPhone 介绍 Ophone 是基于Linux的面向移动互联网的终端基础软件及系统解决方案。 1.2.2 Widget介绍 OMS除了支持基于Java的应用,还支持Widget应用开发。Widget应用采用了JIL(Joint Innovation Lab)Widget标准,JIL Widget 是一个采用HTML,JavaScript和CSS等网络技术的应用程序。
相关文章推荐
- android应用开发揭秘例4-4笔记(ListView及Adapter的使用)
- android应用开发揭秘之实现file与shared preferences这2种存储参数功能)
- Android应用开发揭秘的第14个程序5_9_MatrixScaleImg修改版和高仿版的源码注释
- Android应用开发揭秘[高清PDF版+源码]
- Android应用开发揭秘里的EX_03_02获取联系人号码的获取方法的修正
- Android应用开发揭秘的第二个程序3_1_Android_Intent修改版和高仿版的源码注释
- android应用开发揭秘是一本好书
- Android应用开发揭秘的第22,23个程序5_17_frame,5_18_framexml修改版和高仿版的源码注释
- Android应用开发揭秘第七章笔记(二)
- Android应用开发揭秘
- android应用开发揭秘例4-6笔记(EditText的使用)
- Android应用开发揭秘的第17个程序5_12_DBuffImg修改版和高仿版的源码注释
- Android应用开发揭秘的第一个程序HelloAndroid修改版和高仿版的源码注释
- android应用开发揭秘例example4-7笔记(RadioGroup和RadioButton的使用与改进)
- Android应用开发揭秘的第30个程序4_5_Toast应用的源码注释
- Android应用开发揭秘的第9个程序5_4_canvas修改版和高仿版的源码注释
- Android应用开发揭秘的第11个程序5_6_DrawText修改版和高仿版的源码注释
- android学习路线 1.1 Android应用开发揭秘 所学之对已用处
- Android应用开发揭秘的第18个程序5_13_SetFlags修改版和高仿版的源码注释
- android应用开发揭秘examples_04-08笔记(CheckBox的使用)