TensorFlow+Android经典模型从理论到实战(微课视频版)
上QQ阅读APP看书,第一时间看更新

1.12 Android之网络访问接口

Android客户机的网络通信逻辑:拍摄照片或者从图库中选择图片→上传到服务器→等待服务器识别→接收来自服务器的识别结果。

通信编程采用Retrofit框架,Retrofit框架采用HTTP,为此,Android客户机上传的图片将以RequestBody对象提交给服务器,同步接收服务器的响应,解析并显示服务器响应的结果。

新建cn.edu.ldu.flower.network包,在network包中新建ApiService.kt程序,其编程逻辑如程序源码P1.9所示。

在network包下面定义实体类Result,用于表示服务器返回的预测结果。实体类编码比较简单,只包含prediction属性,一条语句即可完成:

data class Result(val prediction:String)

程序源码P1.9中第23行语句定义的函数getPredictResult,实现与服务器的通信逻辑,这是一个后台工作线程函数。