github地址:点击跳转到Github
- 为了方便以后项目的使用
- 项目中用的都还是比较古老的东西,mvc,volley等,搭建的过程中也学习一下新技术.
- 采用MVP模式
- 集成butterknife(推荐跟Butterknife Zelezny 配合使用)
- BRAVH(点我查看具体使用方式)
- RxJAVA+Retrofit2+Glide
- SmartRefreshLayout(点我查看使用) 个人比较喜欢用SwipeRefresh
- Material Dialog(点我查看使用) 推荐以model方式导入
- Gson 解析(推荐配合GsonFormat使用)
- 屏幕适配采用Smallest Width(最小宽度)
下载下来改个包名直接当新项目就可以啦 这里写图片描述 这里写图片描述 这里写图片描述 时间太长了 现在可能已经没有图片跟这个笑话了 应该是申请的key过期了
ext{ dependVersion = [ rxJava : "2.1.11", rxAndroid : "2.0.1", retrofit : "2.4.0", glide : "4.6.1", support_version : "27.0.2" ] supportLib=[ v7 : "com.android.support:appcompat-v7:$dependVersion.support_version", design : "com.android.support:design:$dependVersion.support_version", recyclerview : "com.android.support:recyclerview-v7:$dependVersion.support_version", cardview : "com.android.support:cardview-v7:$dependVersion.support_version", annotations : "com.android.support:support-annotations:$dependVersion.support_version" ] rxJava = [ rxJava : "io.reactivex.rxjava2:rxjava:$dependVersion.rxJava", rxAndroid : "io.reactivex.rxjava2:rxandroid:$dependVersion.rxAndroid" ] retrofit=[ retrofit : "com.squareup.retrofit2:retrofit:$dependVersion.retrofit", retrofit_gson : "com.squareup.retrofit2:converter-gson:$dependVersion.retrofit", retrofit_rxjava : "com.squareup.retrofit2:adapter-rxjava2:$dependVersion.retrofit", retrofit_log : "com.squareup.okhttp3:logging-interceptor:3.4.1" ] glide=[ glide :"com.github.bumptech.glide:glide:$dependVersion.glide", glide_ok :"com.github.bumptech.glide:okhttp3-integration:$dependVersion.glide", ] glideCompiler ="com.github.bumptech.glide:compiler:$dependVersion.glide"//没什么必要 只写上不引用 rxJavaLibs = rxJava.values() retrofitLibs = retrofit.values() glideLibs = glide.values() supportLibs = supportLib.values() }
- IBasePresenter
- IBaseView
- BasePresenter
使用方式在mvp包下。网上好多关于这方面文章 不太理解的自行google.(对于mvp 每个技术人的理解都不一样,只要能达到完美解耦就可以,不用过于追求同步)
- DisplayUtils: 获取屏幕尺寸 dp2sp 等;
- EncodeUtils: 编码类。utf-8的转码解码等
- GlideUtils: 把图片加载封装起来。
- MaterialDesignDialogUtils: 把几个比较通用的弹窗封装起来;
- SPUtils: 顾名思义 sp存储类;
- StatusBarUtil:状态栏的设置类;
- ToastManager: 封装了toast跟snackBar;
- 其他后续添加。
时代再进步,现在的时代已经不是一个人单干的时代了,要紧跟时代的步伐,能站在巨人的肩膀上就站在巨人的肩膀上,所以很多这个很多都是将各种最实用的第三方库搭建到一起,对于变动比较大的,推荐以model方式集成到项目中,如:material-dialogs 或者相册选择之类的。
项目会继续更新的 伴随google的io大会新技术同步更新。
最后再发一遍项目地址:点我直达