正在更新中
针对3.2.1版本源码 与其他版本代码可能会有出入,但核心思想基本不变。
首先从com.google.zxing.client.android包中的目录结构分析:
Book:
这个文件夹中有5个类:
BrowseBookListener 实现了adapter的点击事项响应,通过获取ISBN,然后跳转到Google books中查询响应的详细信息。
SearchBookContentsActivity 通过google books查询图书相关信息的具体实现
SearchBookContentsAdapter,SearchBookContentsListItem 为listview的适配器和item类的内容,这在之前的文章中介绍过,不再赘述。
SearchBookContentsResult 包含了searchbookcontent类的基本内容,成员变量及get、set方法等
Camera
这是一个控制摄像头的类,open文件中是打开摄像头及一些配置方法,open文件夹外面的是一些camera属性的操作。
CameraFacing 枚举变量 值为0代表后置摄像头、1代表前置摄像头
OpenCamera 表示一个已打开的摄像头,同时保存着camera的原始数据CameraInfo以及摄像头朝向、方位等信息。
OpenCameraInterface 帮助我们打开摄像头的一个类,如果没有特殊偏好,默认打开后置摄像头。
AutoFocusManager自动对焦相关的函数
CameraConfigurationManager initFromCameraParameters通过屏幕分辨率和相机分辨率,去寻找最合适的预览分辨率。 setDesiredCameraParameters读取配置设置相机的对焦模式、闪光灯模式以及屏幕到相机的转动角度等信息
CameraConfigurationUtils 配置android相机的一些方法
FrontLightMode 枚举闪光灯是否开启
CameraManager camera的核心类,其他类都是在这里调用的。openDriver用于camera的打开及初始化。
PreviewCallback 回调类,当扫描到结果时会调用这个类返回结果。
Cliboard
ClipboardInterface 剪贴板接口,实现内容的复制粘贴
Encode
根据内容实现各种格式的从新编码
History
历史扫描记录,这里google采用了数据库的存储方式并用listView显示出来,基本与作者之前的文章一致,可以看数据库操作 和 listview显示
Result
result文件夹下内容很多,首先看入口ResultHandlerFactory