1.本博客只作为记录博客,阅者请以包容的心态阅读,遇到笔者的错误笑一笑就行了,当然欢迎将意见发我 506411586@qq.com
2.为什么“框架”要用引号呢,那是因为说是框架,不过事一些代码的封装而已,用“框架”的原因是因为这一套代码已在我手里的至少10+项目中使用过,用户量级不是很大,但是看正式包的Bugly崩溃比例不到2%,还是不错地,后文勉强就以框架代称。
3.本框架是基于 Retrofit+RxJava+Okhttp 为网络框架进行开发的,后续看有没时间把这一部分解耦出去,设计模式以MVC为主,为什么用MVC而不用主流的MVP或者AAC呢,是因为笔者作为一个5年的纯安卓开发而言,进的都是比较小的公司,所做的项目当然也是非大型项目,所以用MVC最合适,这种设计模式最能保证开发速度和单人维护效率。
二、使用说明
1.所有业务由Controller接管而非Activity
2.启动页无需注册,可以使用快速开发quick_ui中的接口实现
3.启动页注册(WelcomeActivity)后实现如下代码:
public class WelcomeActivity extends BaseActivity<WelcomeController> {
}
4.之后所有Controller继承自BaseController,具体使用查看代码注释
5.**Controller主要描述
a.getLayoutId() 每个界面必须实现的抽象方法,返回布局文件ID,可进行初始化但不建议
b.onViewCreated() 界面创建完成之后的回调
c.setData2View(int,Object) 数据填充方法,前者为ViewId 后者为填充内容,适用于
所有视图,查看代码,未收录的视图或者特殊处理可以重写 fillCustomViewData 以取
缔常规用法
6.加入打包输出代码控制,可以轻松从输出文件名看出版本信息,详见../demo/build.gradle
---------------------------------以下为摸索代码---------------------------------
7.初步加入接口版,见Example1、Example1Impl、ExampleActivity的差异
8.加入注解版本,见Example1Impl的使用
代码详解
1.网络请求部分
a.调用见 com.rq.demo.net.HttpManager
b.在初始化类设置域名
BASE.setBaseUrl(Constants.baseUrl);
c.在HttpManager 中配置参数,通过 HttpParamUtil 调用不同的方法,其中包括 post和get,上传文件用 uploadFile,下载文件暂时只有一下用法(需将 DownloadIntentService 配置到manifest 中):
DownloadIntentService.setDownloadCallBack(this);
Intent intentService = DownloadIntentService.getTask(this, "网址", "app.apk");
getActivity().startService(intentService);
不定时更新,想见:https://github.com/RomenQueen/BaseController