kibo怎么使用才好?新手入门kibo操作指南!

天美租号

今天跟大家聊聊我捣鼓Kibo的那些事儿。起初,我就是想找个项目练练手,特别是想看看现在安卓开发大家都用些啥新鲜玩意儿。之前听人说MVP架构挺流行的,再加上Dagger2、RxJava这些,听着就挺唬人,也挺吸引人的。

一头扎进Kibo

我记得当时是在网上瞎逛,偶然就看到了Kibo这个项目。介绍说它是个加密键盘应用,能加密聊天记录,听起来挺酷的。不过我当时更关注的是它的技术实现,说是用了MVP+Dagger2+RxJava+Retrofit+GreenDao这一套全家桶。这不正好是我想要学习和实践的嘛

kibo怎么使用才好?新手入门kibo操作指南!

于是乎,我就把Kibo的源码(如果是开源的话,或者说是我找到了类似结构的项目)给弄下来,准备好好研究一番。刚打开项目的时候,还是有点懵的。 文件结构,各种包名,看得我眼花缭乱。

摸索MVP的门道

最开始我从MVP架构入手。以前也接触过MVC,但MVP感觉分工更细致。我就对着代码,一点点看:

  • View层是怎么跟用户打交道的,负责显示
  • Presenter层是怎么作为中间人,处理逻辑,调用Model层的数据。
  • kibo怎么使用才好?新手入门kibo操作指南!

  • Model层又是怎么提供数据的。

我花了不少时间去理解它们之间是怎么通信的,比如Presenter怎么把数据更新到View上,View上的用户操作又是怎么通知到Presenter的。这个过程有点像在解谜,得耐着性子一点点捋。

硬啃Dagger2

接下来就是Dagger2了,这玩意儿真是让我头疼了好一阵子。各种注解,@Inject、@Module、@Component,看得我云里雾里。我一开始真没搞明白它是怎么把各个模块依赖关系给串起来的。我就找了些资料,对着Kibo里面的用法,自己也尝试写了几个简单的例子。反反复复试了好几天,才慢慢有点感觉, 原来它是这么实现依赖注入的,确实能让代码解耦,写起来也方便了不少,不用到处传实例了。

体验RxJava的丝滑

kibo怎么使用才好?新手入门kibo操作指南!

然后是RxJava。响应式编程这个概念,听起来就高大上。实际用起来,刚开始也是各种不适应,什么Observable、Subscriber、Scheduler,还有那一大堆操作符,链式调用写起来是爽,但理解起来真费劲。我主要看Kibo里是怎么用RxJava来处理异步操作和线程调度的。慢慢地,发现用它来处理网络请求的回调、或者一些耗时操作,确实比传统写法要优雅和简洁。 代码逻辑也清晰了不少,不用再写那么多层层嵌套的回调了。

Retrofit和GreenDao相对轻松

相比之下,Retrofit和GreenDao就显得亲切多了。Retrofit用来处理网络请求,定义好接口,加上注解,用起来很方便。GreenDao,是搞数据库的,它能帮我们生成很多操作数据库的代码,省了不少事儿,写起增删改查也顺手。这两块在Kibo里的应用,我基本上没遇到太大障碍,看看文档,再结合代码,很快就明白了。

实践Kibo加密功能的理解

虽然我主要精力是学习架构,但也顺带看了看Kibo核心的加密功能是怎么实现的。它是在键盘层面做文章,你输入信息,它在发送前就给你加密了,这个思路挺有意思的。 我大概看了一下加密算法的调用和处理流程,虽然没深入研究具体的算法细节,但也对整个功能模块有了一定的了解。

折腾后的收获

kibo怎么使用才好?新手入门kibo操作指南!

整个过程下来,前前后后大概花了我小一周的业余时间。 从一开始的懵懵懂懂,到后面慢慢把Kibo的这套架构给摸清楚,还是挺有成就感的。虽然中间也踩了不少坑,代码也调试了无数遍,但这个过程确实让我对安卓的主流开发框架有了更深的理解。

现在回过头看,通过实践Kibo这个项目(或者说类似Kibo架构的项目),我对MVP的设计模式、Dagger2的依赖注入、RxJava的响应式编程、Retrofit的网络请求以及GreenDao的数据库操作都有了实打实的体验。感觉就像打通了任督二脉一样,以后再上手类似架构的项目,心里就有底多了,写代码的思路也开阔了不少。 这就是我这回捣鼓Kibo的实践记录,希望能给大家一点小小的启发。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,5人围观)

还没有评论,来说两句吧...