Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
6382336
1、用CompositeDisposable来防止内存泄露 2、实现了rxjava+retrof+mvp
Jun 15, 2018
2b0755d
添加加载数据时,圆形进度条Dialog
Jun 17, 2018
4c9695e
Okhttp添加了一些interceptor
Jun 17, 2018
3aa6324
基本实现了todomvp
Jun 18, 2018
b43b972
修改glide 4.6.1的图片缓存路径
Jun 28, 2018
5d4076a
glide增加内存缓存大小设置
Jun 28, 2018
6646336
添加了几个iterceptor
Jul 1, 2018
21afc3a
实现了CacheInterceptor来缓存网络数据
Jul 3, 2018
ad346cd
1、完善proguard-rules.pro 2、添加glide加载图片fade动画
Jul 5, 2018
6ae7c82
删掉retrofitdemo模块
Jul 5, 2018
482627f
把一些包名重命名
Jul 5, 2018
70284d9
1、把第三方框架放到thirdframe包中 2、捕获缓存无效时504
Jul 5, 2018
2a847b8
1、把第三方框架放到thirdframe包中 2、捕获缓存无效时504
Jul 5, 2018
a492d07
去掉BaseMvpFragment中无用的V范型
Jul 10, 2018
10a52b8
添加LeakCanary和BlockCanary
Jul 11, 2018
9a56a7b
Merge branch 'todomvp+retrofit+rxjava' of https://github.com/gaoleian…
Jul 11, 2018
34d27a5
删除无用代码
Jul 11, 2018
f8bec69
添加参数加密Interceptor
Jul 20, 2018
4030c23
增加了捕获所有异常保存到sd卡
Jul 21, 2018
7e3151f
去掉制造的异常
Jul 21, 2018
fedd3c4
添加cookie
Jul 28, 2018
3668aab
申请权限抽出来一个类
Aug 19, 2018
417cd40
重新封装PermissionUtil,功能单一原则
Aug 22, 2018
68646db
1、封装base包,多个module时候可以共用 2、优化crashhandler
Aug 23, 2018
68fbb52
1、修改崩溃重启 2、修改glide、net缓存路径
Aug 23, 2018
423ce1a
整理代码
Jan 1, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file modified MVPModel/.idea/caches/build_file_checksums.ser
Binary file not shown.
98 changes: 5 additions & 93 deletions MVPModel/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 29 additions & 5 deletions MVPModel/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,16 @@ android {
compileSdkVersion 26
defaultConfig {
applicationId "com.gaolei.mvpmodel"
minSdkVersion 15
minSdkVersion 18
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
arguments = [ eventBusIndex : 'com.gaolei.mvpmodel.MyEventBusIndex' ]
}
}
}
buildTypes {
release {
Expand All @@ -27,14 +32,33 @@ dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
compile 'com.squareup.okhttp3:okhttp:3.10.0'
compile 'com.squareup.retrofit2:retrofit:2.4.0'
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.0.2'
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
// glide
implementation 'com.github.bumptech.glide:glide:4.6.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
compile 'com.youth.banner:banner:1.4.10'
// banner
implementation 'com.youth.banner:banner:1.4.10'
// rxjava
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
implementation "io.reactivex.rxjava2:rxjava:2.1.1"
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
// dagger2
annotationProcessor 'com.google.dagger:dagger-compiler:2.0.2' //指定注解处理器
implementation 'com.google.dagger:dagger:2.0.2'
// eventbus
implementation 'org.greenrobot:eventbus:3.1.1'
annotationProcessor 'org.greenrobot:eventbus-annotation-processor:3.1.1'

// 仅在debug包启用BlockCanary进行卡顿监控和提示的话,可以这么用
debugImplementation 'com.github.markzhai:blockcanary-android:1.5.0'
releaseImplementation 'com.github.markzhai:blockcanary-no-op:1.5.0'

debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.3'
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'

implementation 'com.github.franmontiel:PersistentCookieJar:v1.0.1'
}
127 changes: 127 additions & 0 deletions MVPModel/app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,130 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

# 保留枚举类不被混淆
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}

# 保留Annotation不混淆
-keepattributes *Annotation*,InnerClasses
-dontwarn javax.annotation.**
-dontwarn javax.inject.**

# 保留R下面的资源
-keep class **.R$* {*;}

# 保留本地native方法不被混淆
-keepclasseswithmembernames class * {
native <methods>;
}

# 保留我们自定义控件(继承自View)不被混淆
-keep public class * extends android.view.View{
*** get*();
void set*(***);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}

# 保留Parcelable序列化类不被混淆
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}

# 保留Serializable序列化的类不被混淆
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
!static !transient <fields>;
!private <fields>;
!private <methods>;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}

# 对于带有回调函数的onXXEvent、**On*Listener的,不能被混淆
-keepclassmembers class * {
void *(**On*Event);
void *(**On*Listener);
}

# webView处理,项目中没有使用到webView忽略即可
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
public *;
}
-keepclassmembers class * extends android.webkit.webViewClient {
public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
public boolean *(android.webkit.WebView, java.lang.String);
}
-keepclassmembers class * extends android.webkit.webViewClient {
public void *(android.webkit.webView, jav.lang.String);
}


# glide
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.module.AppGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
# for DexGuard only
-keepresourcexmlelements manifest/application/meta-data@value=GlideModule

# OkHttp3
-dontwarn okhttp3.logging.**
-keep class okhttp3.internal.**{*;}
-dontwarn okio.**

# Retrofit
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature-keepattributes Exceptions

# RxJava RxAndroid
-dontwarn sun.misc.**
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
long producerIndex;
long consumerIndex;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
rx.internal.util.atomic.LinkedQueueNode producerNode;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
rx.internal.util.atomic.LinkedQueueNode consumerNode;
}

# Gson
-keep class com.google.gson.stream.** { *; }
-keepattributes EnclosingMethod
-keep class org.xz_sale.entity.**{*;}

# ButterKnife
-keep class butterknife.** { *;}
-dontwarn butterknife.internal.**
-keep class **$$ViewBinder { *;}
-keepclasseswithmembernames class * {
@butterknife.* <fields>;
}
-keepclasseswithmembernames class * {
@butterknife.* <methods>;
}

# EventBus
-keepattributes *Annotation*
-keepclassmembers class * {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }

# Only required if you use AsyncExecutor
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
<init>(java.lang.Throwable);
}

Binary file added MVPModel/app/release/app-release.apk
Binary file not shown.
1 change: 1 addition & 0 deletions MVPModel/app/release/output.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1},"path":"app-release.apk","properties":{"packageId":"com.gaolei.mvpmodel","split":"","minSdkVersion":"15"}}]
Loading