第一章: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,该库支持多种常见格式的音频,视频的回放和录制,以及图片。比如MPEG4MP3AACAMRJPGPNG等。

3.       SGL2D图形引擎库

4.       SSL:位于TCP/IP协议与各种应用层协议之间,为数据通信提供支持。

5.       OpenGL ES 1.03D效果的支持。

6.       SQLite:关系数据库

7.       WebkitWeb浏览器引擎。

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):基于MTDFlash驱动程序。

4.       照相机驱动(Camera Driver):常用的基于Linuxv412Video for Linux)驱动。

5.       音频驱动(Audio Driver):常用的基于ALSAAdvanced 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介绍

       OMSOpen Mobile System的简称,即面向移动互联网的开放型移动智能终端软件平台。它具有强大的兼容性,扩展性和安全性。

1.2.1 OPhone 介绍

       Ophone 是基于Linux的面向移动互联网的终端基础软件及系统解决方案。

 1.2.2 Widget介绍

       OMS除了支持基于Java的应用,还支持Widget应用开发。Widget应用采用了JILJoint Innovation LabWidget标准,JIL Widget 是一个采用HTMLJavaScriptCSS等网络技术的应用程序。

      

 

      

 

 

 

 

 

 

 

 

 

 

 

 

更多相关文章

  1. Android硬件抽象层(HAL)概要介绍和学习计划
  2. Android: java应用程序进程启动过程的代码分析
  3. Android(安卓)应用程序之间数据共享—ContentProvider
  4. Android简明开发教程一:概述
  5. Android(安卓)应用程序不能全屏显示
  6. android 4.04的应用程序启动过程及与Zygote的交互(基于静态源码分
  7. Android经典应用程序开发
  8. Android应用程序的生命周期
  9. Android架构分析之基于Android系统的C应用程序开发

随机推荐

  1. android 自定义对话框 背景透明
  2. android中利用itext读取pdf文档
  3. android intent.setType指定浏览本地多种
  4. Android(安卓)EditText得到和失去焦点时,
  5. Android推荐资源
  6. Android 获取设备各种信息以及其它
  7. 自己定义的Tabhost
  8. 修改不启动Launcher导致开机广播无法发出
  9. Android wifi提示已连接但是无法访问网络
  10. Android 双开沙箱 VirtualApp 源码分析(二