Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

maodeyu180/AndroidProjectFrame

Repository files navigation

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()
}

MVP的三大基类(位于base包下)

 - IBasePresenter 
 - IBaseView
 - BasePresenter

使用方式在mvp包下。网上好多关于这方面文章 不太理解的自行google.(对于mvp 每个技术人的理解都不一样,只要能达到完美解耦就可以,不用过于追求同步)

Util类介绍

  • DisplayUtils: 获取屏幕尺寸 dp2sp 等;
  • EncodeUtils: 编码类。utf-8的转码解码等
  • GlideUtils: 把图片加载封装起来。
  • MaterialDesignDialogUtils: 把几个比较通用的弹窗封装起来;
  • SPUtils: 顾名思义 sp存储类;
  • StatusBarUtil:状态栏的设置类;
  • ToastManager: 封装了toast跟snackBar;
  • 其他后续添加。

尾语

时代再进步,现在的时代已经不是一个人单干的时代了,要紧跟时代的步伐,能站在巨人的肩膀上就站在巨人的肩膀上,所以很多这个很多都是将各种最实用的第三方库搭建到一起,对于变动比较大的,推荐以model方式集成到项目中,如:material-dialogs 或者相册选择之类的。

项目会继续更新的 伴随google的io大会新技术同步更新。

最后再发一遍项目地址:点我直达

About

Android框架

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /