
上QQ阅读APP看书,第一时间看更新
1.14 Android客户机逻辑
客户机主控逻辑包含两个分支,对应客户机的两种工作模式,如图1.42所示。
(1)即时拍照识别,需要用户动态授权照相机的使用权限。
(2)从相册选择图片识别,需要用户动态授权外部存储器的访问权限。
图1.42中用虚线框包围的“取景拍照”和“选择图片”这两个模块,其功能封装在调用的App中,不需要用户单独编程。回调函数的名称为onActivityResult,是在“打开相机App”或“打开相册App”结束之后自动调用的模块,回调函数首先返回图片,然后调用识别模块。识别模块的函数名称为recognition,客户机向服务器发送图片并接收服务器的识别结果,都是在识别模块中完成的。

图1.42 客户机主控逻辑
识别模块的逻辑流程如图1.43所示。

图1.43 识别模块的逻辑流程
编码逻辑封装在主程序MainActivity中完成,如程序源码P1.11所示。



