Android开发truck快速开发框架使用说明(一)

简介

不知不觉从事android开发也是有两年多了,说长不长,说短不短。由于本人从未在BAT那样的大公司工作,一直游走在二线城市的小公司之间,多以外包工作为主。开发方向飘忽不定,从应用层到硬件层都有所涉及,精通肯定是谈不上,但是为了要能在有限的
时间(外包工期真的紧)内完成产品开发,才有了这个truck快速开发框架。

truck快速开发框架积累了我这两年多的开发经验,从4个方面来提高快速开发的效率:
  • base库的搭建。这个在开发框架中很常见的基础封装,减少代码量。
  • 模块化构建项目。模块化开发的好处是可以多人开发,单独调试。由于模块之间的高度解耦,复用性高。
  • Android Studio插件的应用。日常开发中插件的使用必不可少,能大量提高生产效率。
  • Android Studio模板编写。和插件类似,大量重复性的代码都可以省略,专注于核心逻辑,提升代码质量。
这里就是truck项目的github地址:https://github.com/hookYuan/Truck
当你第一次看到truck项目的时候肯定会特别奇怪,怎么这么多的东西,看起来好乱啊。这可能是你的第一想法。不要着急,静下心来,你能得到意想不到的收获。truck本身采用模块化设计,所以模块比较多,但是模块之间并没有什么耦合,所以,你完全可以删除所有模块,只留下一个base模块,当然,如果需要你也可以任意添加。truck项目之所以没有拆分为多个模块,是因为我精力有限,没有时间管理这么多的模块,所以平时都是统一管理。项目中有两个特殊的文件夹,一个是key、一个是template,key文件夹是存放项目前面文件的地方,默认加载的签名文件从key文件夹中加载。template为android sutido模板文件夹,在后面会说到它的具体使用。

结构

首先,介绍一下truck框架base库的框架结构:
Android开发truck快速开发框架使用说明(一)
当你打开base库,第一眼开到的结构如上图,对于base,是开发中经常用的,所以base的更新会比较频繁,但是在真正项目中开发时,特别是多人开发,我建议大家固定base库版本。

工具公共库

工具公共库这里包含的东西比较多,基本结构如下:
Android开发truck快速开发框架使用说明(一)
  • adapter包,主要是包含了BaseListAdapter(简化ListView,GridView的基本适配器)、RLVAdapter(简化RecyclerView适配器)、ExpandAdapter(基于RecyclerView的多级折叠适配器)。
  • cache包,主要包含了内存缓存、磁盘缓存SharePreference
  • kit包,来源于开源项目XDroid中kit部分代码。扩展图片模糊、系统工具、
  • log包,来源于开源项目XDroid中log部分。优化日志打印。
  • other包,日常使用工具包集合。
  • view包,常用且轻量级的自定义view。

数据库

 数据库主要接口如下
Android开发truck快速开发框架使用说明(一)
  • SqlHelper包,主要包含对SqlLite的增删查改基本操作。仅3个类,轻量级封装,易读已修改。

网络

网络部分结构如下
Android开发truck快速开发框架使用说明(一)
  • OKHttp包,OKHttp包是基于OKHttp3.0做的简单封装,特点是,使用简单,请求过程清晰,易修改。
  • retrofit包,采用retorfit2.0,简化retrofit使用,简单配置断线重连、缓存等。
  • glide包,对glide的封装,支持圆形图片、原图加载、缓存设置等

路由

路由部分结构如下
Android开发truck快速开发框架使用说明(一)
  • router包,使用路由方式来达到模块的快发中遇到的模块间的界面调用问题。

视图

视图结构如下
Android开发truck快速开发框架使用说明(一)
  • base包,base包为truck中对Activity最基本的部分,也是使用最多的部分,这里的结构比较多,在后面模块中介绍。
  • titlebar包,封装的titlebar,由于toolbar和actionbar有很多的局限性,所以采用自定义的titlebar。特点是使用方便,扩展性强。便于修改。
  • dialog包,dialog主要分为两部分,一部分是集成各种系统dialog,提供简单的使用方法。第二部分,自定义Dialog,解决系统Dialog处理麻烦的部分。
以上为truck快速开发项目中base模块的基本框架结构,具体使用将在后续中一一讲解。truck项目的album等其他模块也将在后续教程中一一讲解。
最后附上truck快速开发交流qq群:698442320