app开发

RxAndroid + Retrofit + Databindi

2016-11-16  本文已影响134人  wchya

最近公司组织培训,跟着外请老师学习了 RxAndroid + Retrofit + Databinding + MVVMAndroid 开发技术。在培训之前,自己通过网络对这些技术有过了解,感觉很好玩的样子。经过培训后进一步发现,使用这些技术的结合,写起代码来果然很爽。

老师在实战部分,带领我们制作一个仿《推酷》app 的项目。在项目中,使用了上述的技术,并涉及到代码的封装。 项目果然是学习技术的最佳场所,自己感觉收获颇多。但怕时间长了会有些遗忘,因此,使用文章将项目构建的过程一一记录下来。

推酷首页 推酷首页——侧滑菜单

准备


既然是仿,那就相当于原型设计、界面等材料都有了,不过自己还是得分析一下,好在实际编码之前相好项目的框架结构。

推酷首页是分类新闻列表的展示页面,顶部的工具栏是 Android 官方典型的 Toolbar 的结构,中间内容使用 ViewPager 显示。

在屏幕左侧向右拖动、或点击 Toolbar 左边的菜单按钮,会弹出侧滑菜单。根据侧滑菜单的样子看,应该使用了 Android 官方 meterial design 库中的 NavigationView 控件。

反编译


虽然有了界面显示,但是还缺少切图。当然,没有美工会为你做这个事情。本来就是学习,那就 DIY 到底,反编译[1]下吧。反编译后发现,源码竟然没有混淆,简直是极好的啦。从源码的目录结构中发现了以下东东:

太让人吃惊了,各种类库,各种类库!!! 除了官方的几个库,其它的库几乎都来源于 GitHub。可真是:用好 GitHub,走遍天下都不怕!一个 8Mapp 就使用了这么多的库,想一想我近 20Mapp,再想想使用的库,真的惭愧呀!

通过反编译,也可以获取图片、字符串、动画等资源。好多目录,看来推酷为了做适配,也是蛮拼的。

创建项目


这步没啥好说的,按步就班的来就可以了。唯一要注意的是:支持的最小 SDK 版本选择 API 16,这是因为 GitHub 上有些库对此有要求。

下期预告


今天大概看了一下原版 App 的界面,对它的结构进行了简单的分析,再就是准备开发用到的资源和创建项目了。现在万事具备,只欠东风。这里的东风指的当然是时间。明天如果有时间,就先把项目的框架,即首页的侧滑菜单、顶部 Toolbar、和内容区域的 ViewPager 搞定吧。


  1. 注:mac 下的反编译教程可以参考 http://www.jianshu.com/p/b3bb4da64dc7 这篇博文。讲得灰常好,相关的工具下载也都能找到。

上一篇 下一篇

猜你喜欢

热点阅读