第一部分 Camera概述
Android
Camera包含取景器(viewfinder)和拍摄照片的功能。目前Android发布版的Camera程序虽然功能比较简单,但是其程序的架构分成客户端和服务器两个部分,它们建立在Android的进程间通讯Binder的结构上。

以开源的Android为例Camera的代码主要在以下的目录中:

CameraJAVA程序的路径:
packages/apps/Camera/src/com/android/camera/
在其中Camera.java是主要实现的文件

frameworks/base/core/java/android/hardware/Camera.java
这个类是和JNI中定义的类是一个,有些方法通过JNI的方式调用本地代码得到,有些方法自己实现。


CameraJAVA本地调用部分(JNI):
frameworks/base/core/jni/android_hardware_Camera.cpp

这部分内容编译成为目标是libandroid_runtime.so

主要的头文件在以下的目录中:
frameworks/base/include/ui/

Camera底层库在以下的目录中:
frameworks/base/libs/ui/
这部分的内容被编译成库libui.so

Camera服务部分:
frameworks/base/camera/libcameraservice/
这部分内容被编译成库libcameraservice.so


为了实现一个具体功能的Camera,在最底层还需要一个硬件相关的Camer库(例如通过调用video for linux驱动程序和Jpeg编码程序实现)。这个库将被Camera的服务库libcameraservice.so调用。

本文转自www.35java.com

更多相关文章

  1. android沉浸状态栏实现、地图多线路规划、Retrofit+RxJava+Jsoup
  2. Android判断网络状态是否断开+Android完全关闭应用程序+ 本文讲
  3. Android实现书籍翻页效果--扩展版
  4. Android(安卓)实现ListView 3D效果 - 2 - 弹性滚动,Fling
  5. Android与js交互实例
  6. android 静默安装、卸载实现
  7. Android实现录屏直播(一)ScreenRecorder的简单分析
  8. 17.Android与JavaScript相互调用
  9. Android系列教程(3):Android(安卓)SDK中常用命令行工具

随机推荐

  1. 关于csharp的实例教程
  2. 微信公众平台SDK核心库的详细介绍
  3. C#集合类有哪些?
  4. C# 中GUID生成格式有哪些方法
  5. 总结MVC中数据验证实例
  6. C#中如何实现ftp图片上传功能的图文代码
  7. SignalR简介及用法介绍
  8. WPF实现好看的跑马灯特效实例
  9. 去重和排序如何操作
  10. C#串口通信的实例教程