Android常用开发框架搭建之lib篇
做了四年多Android开发后,在不断试错与尝试的情况下,自己封装了一套Android开发普遍适用的框架。基于源码在现阶段不能开放出来的情况下,
我把我用到的lib简单介绍如下。
网络请求
1.网络三剑客:retrofit+okhttp+rxjava(rxandroid)
2.数据解析:gson
3.生命周期管理框:RxLife
异常定义
1.异常跟踪:bugly。你可以使用自己的,在ACRA 基础上简单自定义。
2.异常友好提示:这个需要自己自定义异常类(异常码,异常信息)。网络异常的话,在okhttp拦截器中可以拦截。
图片缓存
1.图片缓存:glide。自定义GlideModelConfig,底层使用okhttp框架。
2.图片放缩:PhotoView
3.图片转换:glide-transformations
4.图片压缩:AdvancedLuban
数据库
1.ormlite
WebView
1.腾讯浏览服务:tbs
视频播放
1.百度云播放
文档预览
1.百度文档服务
推送
根据各个ROM的不同,在华为emui手机上使用华为推送,小米miui手机上使用小米推送,在魅族flyme手机上使用魅族推送,在其他手机上使用jpush。
事件总线
1.eventbus
分享
1.ShareSDK
地图
热修复
1.hotfix
HTML解析器
1.jsoup
路由
1.arouter:各组件中的连接通道。
图片轮播
页面指示
此外,现阶段Android开发我都使用的是组件化开发。自己封装成的组件(功能组件、视图组件)有:
1、app.base。主要封装个模块的公共资源和公共业务,业务核心层。
2、lib.common。通用组件,包括 commonuUtil 和 commonView;
3、lib.pay。支付组件,包括支付宝支付、微信支付、银联支付,高度封装,一行代码调用到位;
4、lib.qrcode。二维码(条形码)扫描与生成;
5、lib.statelayoutlibrary。包括请求中、请求数据为空、请求数据正常和请求异常的页面切换显示;
6、lib.herilydialog。对话框,包括网络请求提示框,单选、多选等各种对话框。
7、lib.systemBarTint。状态沉浸栏;
8、PermissionsDispatcher。运行时权限;
就先写到这里吧,把这上面的组合起来,各种封装,绝对是可以一个可以应付各种开发的通用框架。当然,开发过程中需要对其有所增删。不过建议大家采用组件化开发、响应式开发!