1 / 13
文档名称:

AndroidCamera框架结构.doc

格式:doc   大小:315KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

AndroidCamera框架结构.doc

上传人:中华文库小当家 2020/4/3 文件大小:315 KB

下载得到文件列表

AndroidCamera框架结构.doc

文档介绍

文档介绍: AndroidCamera包含取景器(viewfinder)与拍摄照片功能。目前Android发布版Camera程序虽然功能比较简单,但是其程序架构分成客户端与服务器两个部分,它们建立在Android进程间通讯Binder结构上。   以开源Android为例,Camera代码主要在以下目录中: CameraJAVA程序路径: packages/apps/Camera//android/camera/   frameworks/base/core/java/android/hardware/ 这个类是与JNI中定义类是一个,有些方法通过JNI方式调用本地代码得到,有些方法自己实现。  CameraJAVA本地调用部分(JNI): frameworks/base/core/jni/  。  主要头文件在以下目录中: frameworks/base/include/ui/  Camera底层库在以下目录中: frameworks/base/libs/ui/ 。  Camera服务部分: frameworks/base/camera/libcameraservice/ 。    为了实现一个具体功能Camera,在最底层还需要一个硬件相关Camer库(例如通过调用videoforlinux驱动程序与Jpeg编码程序实现)。。:  在Camera系统各个库中,,它对上层提供接口主要是Camera类,,。   ,,(即Binder机制)方式进行通讯。 ,其中除了Camera还有其他方面功能。    Camera部分头文件在frameworks/base/include/ui/目录中,。    Camera主要头文件有以下几个:                                     ,而其他几个头文件都是提供一些接口类(即包含了纯虚函数类),这些接口类必须被实现类继承才能够使用。 整个Camera在运行时候,可以大致上分成Client与Server两个部分,它们分别在两个进程中运行,它们之间使用Binder机制实现进程间通讯。这样在客户端调用接口,功能则在服务器中实现,但是在客户端中调用就好像直接调用服务器中功能,进程间通讯部分对上层程序不可见。 从框架结构上来看,、,,Camera具体功能在下层调用硬件相关接口来实现。从Camera整体结构上,类Camera是整个系统核心,ICamera类提供了Camera主要功能接口,在客户端方面调用,CameraService是Camera服务,它通过调用实际Camera硬件接口来实现功能。事实上,图中红色虚线框部分都是Camera程序框架部分,它主要利用了Android系统Binder机制来完成通讯。蓝色部分通过调用Camera硬件相关接口完成具体Camera服务功能,其它部分是为上层JAVA程序提供JNI接口。在整体结构上,左边可以视为一个客户端,右边是一个可以视为服务器,二者通过AndroidBimder来实现进程间通讯。