grpc android. 简书,(android端)GRPC的使用和MVC模式封装-Go语言中文社区

GRPC是google开源的一个高性能、跨语言的RPC框架,基于HTTP2协议,基于protobuf来声明数据模型和RPC接口服务。

想直接撸代码的直接通过传送门吧。(还有下面的都是图文混合,对于要配置项目,最快的方式,去github里面获取)

先看看这张大图:

304cc036d8e9ffc36f42dab25c1e4be2.png

图1

现在来说说在Android这边的使用:

配置Gradle相关:

在moudle为app里面的Gradle 的android{}里面加上如下:

dcc8b8e6753e8d1769b8dee15de52b7f.png

packagingOptions

4d5334d6b7d67587674b7ff0d7ce6395.png

protobuf

在 dependencies里面加上:

5110e09becea75482392595b00a2e247.png

dependencies

在项目级别里面的gradle文件里面加上(最外层的gradle):

654c28a20ab64b84b42f1bc9181b3aba.png

加上红线划了的这句。(注意:对比自己的gradle文件,少了什么,就加上什么,上面的都是截图,可以去github里面直接拿来用)。到此为止,gradle相关就配置完了,当然,上面的版本可能有更新,可自行用最新的。

对于proto文件的编写,就不在描述,编译proto,还需要一个插件,在Android Studio里面的插件里面install下就好,如下图:

4d71aeed20bfe1ba868cb1c3f10ca5fa.png

安装划了红线的即可。

这个时候,对于运行使用了GRPC的项目来说,已经可以正常的运转了。

接下来,一步一步来描述,如何用MVC模式来封装下GRPC相关的网络调用。

在这之前,我们先明白几个概念:

Model :是应用程序中用于处理应用程序数据的部分(负责对数据的存取)

View :V层根据M返回的数据来显示对应的页面

Controller :主要是处理用户交互(根据用户操作的View层获取用户行为数据,并提供给M,M处理后,更新V)

好了,封装开始:

定义一个接口CallBack,里面有个方法callback(),如图:

b81a5e630d721789837e44f02395f2cc.png

回调接口

在Activity里面(view层),把callback初始化,并实现里面的方法,实现如下:

daf12313fa25578fbbd75da5767e0d63.png

callbacl的初始化

接下来我们需要获取数据了,比如点击某个按钮发送一个请求,如图:

6bfc7286b70e8b77526c59cf46c8d8eb.png

再来看看SayHello 的具体:

e8c7bf3056ddf062b12f3ad65215624b.png

对于CallBack这个接口的真正调用出,是在异步任务的onPostExecute()方法里面,关于异步任务的封装,我就不在多说,可以自行去看代码。必要代码:

230f263c04aea0d29de500375f3da86f.png

获取到数据后,判断无误后就开始调用接口里面的方法(该方法就是一开始我们写的一些更新UI的一些操作)。

参考资料:

grpc-android:https://github.com/grpc/grpc-java/tree/master/examples/android

原理分析:http://shift-alt-ctrl.iteye.com/blog/2292862

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值