Skip to content

Commit adf1a59

Browse files
committed
Paging3和Room结合,将Glide替换为Coil
1 parent 38b154f commit adf1a59

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+563
-271
lines changed

README.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,14 @@
99
### 版本
1010
**持续更新**
1111

12+
**2021.5.20更新**
13+
14+
1.Paging3和Room结合;
15+
16+
2.将Glide替换为coil
17+
1218
**2021.5.17更新**
19+
1320
1.新增BasePagingAdapter,减少Paging3Adapter冗余代码;
1421

1522
2.删除App Module Fragment的依赖。
@@ -39,7 +46,9 @@ OkHttp
3946

4047
Gson
4148

42-
Glide
49+
~~Glide~~ Coil
50+
51+
Koin
4352

4453
Paging3
4554

@@ -56,7 +65,7 @@ loadSir
5665

5766

5867
> License
59-
> Copyright 2018 fuusy
68+
> Copyright 2021 fuusy
6069
>
6170
> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
6271
>

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
<uses-permission android:name="android.permission.INTERNET" />
77
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
88
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
9+
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
910

1011
<application
1112
android:name=".MainApp"

app/src/main/java/com/fuusy/jetpackkt/MainApp.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ import android.app.Application
44
import android.content.Context
55
import androidx.multidex.BuildConfig
66
import androidx.multidex.MultiDex
7+
import androidx.paging.ExperimentalPagingApi
78
import com.alibaba.android.arouter.launcher.ARouter
89
import com.fuusy.common.loadsir.EmptyCallback
910
import com.fuusy.common.loadsir.ErrorCallback
1011
import com.fuusy.common.loadsir.LoadingCallback
12+
import com.fuusy.common.utils.AppHelper
1113
import com.fuusy.home.di.moduleHome
1214
import com.fuusy.login.di.moduleLogin
1315
import com.fuusy.personal.di.modulePersonal
@@ -18,6 +20,7 @@ import org.koin.android.ext.koin.androidLogger
1820
import org.koin.core.context.startKoin
1921

2022

23+
@ExperimentalPagingApi
2124
class MainApp : Application() {
2225

2326
private val modules = arrayListOf(
@@ -29,6 +32,7 @@ class MainApp : Application() {
2932
initARouter()
3033
initLoadSir()
3134
initKoin()
35+
AppHelper.init(this.applicationContext)
3236

3337
}
3438

common/build.gradle

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ dependencies {
88
//retrofit
99
api("com.squareup.retrofit2:retrofit:2.9.0")
1010
implementation("com.squareup.retrofit2:converter-gson:2.9.0")
11-
//gson
12-
implementation("com.google.code.gson:gson:2.8.6")
11+
1312
api 'com.blankj:utilcodex:1.29.0'
1413
implementation("com.tencent:mmkv-static:1.2.1")
1514

common/src/main/java/com/fuusy/common/base/BaseActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import androidx.appcompat.app.AppCompatActivity
77
import androidx.databinding.DataBindingUtil
88
import androidx.databinding.ViewDataBinding
99
import com.fuusy.common.support.StatusBar
10-
import com.fuusy.common.view.LoadingDialog
10+
import com.fuusy.common.widget.LoadingDialog
1111

1212
abstract class BaseActivity<T : ViewDataBinding> : AppCompatActivity {
1313

common/src/main/java/com/fuusy/common/base/BaseFragment.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ import com.fuusy.common.R
1313
import com.fuusy.common.databinding.BaseFragmentLayoutBinding
1414
import com.fuusy.common.support.Constants
1515
import com.fuusy.common.utils.SpUtils
16-
import com.fuusy.common.utils.ToastUtil
17-
import com.fuusy.common.view.LoadingDialog
16+
import com.fuusy.common.widget.LoadingDialog
1817
import com.kingja.loadsir.core.LoadService
1918

2019
private const val TAG = "BaseFragment"

common/src/main/java/com/fuusy/common/base/BaseRepository.kt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
11
package com.fuusy.common.base
22

33
import android.util.Log
4-
import com.fuusy.common.network.net.StateLiveData
54
import com.fuusy.common.network.BaseResp
65
import com.fuusy.common.network.DataState
76
import com.fuusy.common.network.ResState
7+
import com.fuusy.common.network.net.StateLiveData
88
import kotlinx.coroutines.CoroutineScope
99
import kotlinx.coroutines.coroutineScope
1010
import java.io.IOException
1111

1212

13-
/**
14-
*Repository层基类
15-
*/
1613
private const val TAG = "BaseRepository"
1714

15+
/**
16+
* @date:2021/5/20
17+
* @author fuusy
18+
* @instruction:子类Repository继承该类,网络请求时主要调用executeResp方法,
19+
* 具体流程请参考:https://juejin.cn/post/6961055228787425288
20+
*/
1821
open class BaseRepository {
1922

2023
/**
2124
* repo 请求数据的公共方法,
2225
* 在不同状态下先设置 baseResp.dataState的值,最后将dataState 的状态通知给UI
26+
* @param api的请求方法
27+
* @param 每个请求传入相应的LiveData,主要负责网络状态的监听
2328
*/
2429
suspend fun <T : Any> executeResp(
2530
block: suspend () -> BaseResp<T>,

common/src/main/java/com/fuusy/common/base/BaseRvAdapter.kt

Lines changed: 0 additions & 28 deletions
This file was deleted.

common/src/main/java/com/fuusy/common/base/BaseViewHolder.kt

Lines changed: 0 additions & 14 deletions
This file was deleted.

common/src/main/java/com/fuusy/common/base/BaseVmActivity.kt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
package com.fuusy.common.base
22

33
import android.os.Bundle
4-
import android.util.Log
54
import android.widget.ImageView
65
import android.widget.TextView
76
import android.widget.Toast
87
import androidx.appcompat.app.AppCompatActivity
98
import androidx.databinding.DataBindingUtil
109
import androidx.databinding.ViewDataBinding
11-
import androidx.lifecycle.Observer
1210
import com.fuusy.common.support.StatusBar
13-
import com.fuusy.common.view.LoadingDialog
14-
import retrofit2.HttpException
15-
import java.net.SocketTimeoutException
11+
import com.fuusy.common.widget.LoadingDialog
1612

1713
private const val TAG = "BaseVmActivity"
1814

0 commit comments

Comments
 (0)