From afd6c5e0b279f172b2efacbba789727069a4b7a6 Mon Sep 17 00:00:00 2001 From: Quyunshuo Date: Sat, 29 Aug 2020 21:09:38 +0800 Subject: [PATCH] =?UTF-8?q?Modify:=20=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E6=96=87=E4=BB=B6,=E7=8E=B0=E5=9C=A8=E6=98=AF=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E6=97=A0=E9=A1=B9=E7=9B=AE=E7=9B=B8=E5=85=B3=E6=80=A7?= =?UTF-8?q?=E7=9A=84=E5=8F=AF=E4=BF=AE=E6=94=B9=E7=9B=B4=E6=8E=A5=E5=A4=8D?= =?UTF-8?q?=E7=94=A8=E7=9A=84MVVM=E6=9E=B6=E6=9E=84=E6=A1=86=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/quyunshuo/base/BaseApplication.kt | 5 +- .../com/quyunshuo/common/bean/TestBean.kt | 3 - .../com/quyunshuo/common/constant/NetUrl.kt | 4 +- .../com/quyunshuo/common/constant/RouteKey.kt | 4 +- .../com/quyunshuo/common/constant/RouteUrl.kt | 9 +- .../com/quyunshuo/common/constant/SpKey.kt | 4 +- .../com/quyunshuo/common/net/NetRequest.kt | 6 -- .../quyunshuo/common/net/NetServiceCreator.kt | 3 +- .../common/net/api/ApiHomeService.kt | 19 ---- Lib_Main/.gitignore | 1 - Lib_Main/build.gradle | 5 -- Lib_Main/consumer-rules.pro | 0 Lib_Main/proguard-rules.pro | 21 ----- .../quyunshuo/main/ExampleInstrumentedTest.kt | 24 ------ Lib_Main/src/main/AndroidManifest.xml | 16 ---- .../java/com/quyunshuo/main/MainActivity.kt | 66 -------------- .../java/com/quyunshuo/main/MainActivity2.kt | 25 ------ .../java/com/quyunshuo/main/MainRepository.kt | 52 ----------- .../java/com/quyunshuo/main/MainViewModel.kt | 55 ------------ .../src/main/java/debug/AndroidManifest.xml | 19 ---- .../src/main/java/debug/MainApplication.kt | 11 --- .../main/res/layout/main_activity_main.xml | 86 ------------------- .../main/res/layout/main_activity_main_2.xml | 9 -- Lib_Main/src/main/res/values/strings.xml | 3 - .../com/quyunshuo/main/ExampleUnitTest.kt | 17 ---- README.md | 2 - app/build.gradle | 3 +- app/src/main/AndroidManifest.xml | 3 - .../androidbaseframemvvm/AppApplication.kt | 3 +- settings.gradle | 1 - 30 files changed, 9 insertions(+), 470 deletions(-) delete mode 100644 Lib_Common/src/main/java/com/quyunshuo/common/bean/TestBean.kt delete mode 100644 Lib_Common/src/main/java/com/quyunshuo/common/net/api/ApiHomeService.kt delete mode 100644 Lib_Main/.gitignore delete mode 100644 Lib_Main/build.gradle delete mode 100644 Lib_Main/consumer-rules.pro delete mode 100644 Lib_Main/proguard-rules.pro delete mode 100644 Lib_Main/src/androidTest/java/com/quyunshuo/main/ExampleInstrumentedTest.kt delete mode 100644 Lib_Main/src/main/AndroidManifest.xml delete mode 100644 Lib_Main/src/main/java/com/quyunshuo/main/MainActivity.kt delete mode 100644 Lib_Main/src/main/java/com/quyunshuo/main/MainActivity2.kt delete mode 100644 Lib_Main/src/main/java/com/quyunshuo/main/MainRepository.kt delete mode 100644 Lib_Main/src/main/java/com/quyunshuo/main/MainViewModel.kt delete mode 100644 Lib_Main/src/main/java/debug/AndroidManifest.xml delete mode 100644 Lib_Main/src/main/java/debug/MainApplication.kt delete mode 100644 Lib_Main/src/main/res/layout/main_activity_main.xml delete mode 100644 Lib_Main/src/main/res/layout/main_activity_main_2.xml delete mode 100644 Lib_Main/src/main/res/values/strings.xml delete mode 100644 Lib_Main/src/test/java/com/quyunshuo/main/ExampleUnitTest.kt diff --git a/Lib_Base/src/main/java/com/quyunshuo/base/BaseApplication.kt b/Lib_Base/src/main/java/com/quyunshuo/base/BaseApplication.kt index 3a1575a..61405e9 100644 --- a/Lib_Base/src/main/java/com/quyunshuo/base/BaseApplication.kt +++ b/Lib_Base/src/main/java/com/quyunshuo/base/BaseApplication.kt @@ -40,11 +40,8 @@ open class BaseApplication : Application() { } ARouter.init(this) -// // 屏幕适配 AndroidAutoSize 以横屏高度为基准进行适配 -// AutoSizeConfig.getInstance().isBaseOnWidth = false - // Bugly 初始化 第三个参数为SDK调试模式开关 - CrashReport.initCrashReport(this, "c5a9b1304f", BuildConfig.DEBUG) + CrashReport.initCrashReport(this, "申请的id", BuildConfig.DEBUG) } override fun attachBaseContext(base: Context?) { diff --git a/Lib_Common/src/main/java/com/quyunshuo/common/bean/TestBean.kt b/Lib_Common/src/main/java/com/quyunshuo/common/bean/TestBean.kt deleted file mode 100644 index 1e8f278..0000000 --- a/Lib_Common/src/main/java/com/quyunshuo/common/bean/TestBean.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.quyunshuo.common.bean - -data class TestBean(val msgTest: String) \ No newline at end of file diff --git a/Lib_Common/src/main/java/com/quyunshuo/common/constant/NetUrl.kt b/Lib_Common/src/main/java/com/quyunshuo/common/constant/NetUrl.kt index bbd4ebe..266398b 100644 --- a/Lib_Common/src/main/java/com/quyunshuo/common/constant/NetUrl.kt +++ b/Lib_Common/src/main/java/com/quyunshuo/common/constant/NetUrl.kt @@ -6,6 +6,4 @@ package com.quyunshuo.common.constant * @Class: NetUrl * @Remark: 请求公共地址 统一放在此类 */ -object NetUrl { - const val url1 = "https://api.com/" -} \ No newline at end of file +object NetUrl \ No newline at end of file diff --git a/Lib_Common/src/main/java/com/quyunshuo/common/constant/RouteKey.kt b/Lib_Common/src/main/java/com/quyunshuo/common/constant/RouteKey.kt index 7061916..22b682f 100644 --- a/Lib_Common/src/main/java/com/quyunshuo/common/constant/RouteKey.kt +++ b/Lib_Common/src/main/java/com/quyunshuo/common/constant/RouteKey.kt @@ -6,6 +6,4 @@ package com.quyunshuo.common.constant * @Class: RouteKey * @Remark: 路由使用中 用到的Key 统一写在此类中 */ -object RouteKey { - const val KEY_NAME = "key_name" -} \ No newline at end of file +object RouteKey \ No newline at end of file diff --git a/Lib_Common/src/main/java/com/quyunshuo/common/constant/RouteUrl.kt b/Lib_Common/src/main/java/com/quyunshuo/common/constant/RouteUrl.kt index 78712d6..2d0d113 100644 --- a/Lib_Common/src/main/java/com/quyunshuo/common/constant/RouteUrl.kt +++ b/Lib_Common/src/main/java/com/quyunshuo/common/constant/RouteUrl.kt @@ -6,11 +6,4 @@ package com.quyunshuo.common.constant * @Class: RoutePath * @Remark: 路由地址 */ -object RouteUrl { - - // MainActivity - const val MainActivity: String = "/lib_splash/SplashActivity" - - // MainActivity2 - const val MainActivity2: String = "/lib_splash/SplashActivity2" -} \ No newline at end of file +object RouteUrl \ No newline at end of file diff --git a/Lib_Common/src/main/java/com/quyunshuo/common/constant/SpKey.kt b/Lib_Common/src/main/java/com/quyunshuo/common/constant/SpKey.kt index 65212f9..1c48fb8 100644 --- a/Lib_Common/src/main/java/com/quyunshuo/common/constant/SpKey.kt +++ b/Lib_Common/src/main/java/com/quyunshuo/common/constant/SpKey.kt @@ -6,6 +6,4 @@ package com.quyunshuo.common.constant * @Class: SpKey * @Remark: 本地存储的键 放在此类中 */ -object SpKey { - const val IS_FIRST_START = "is_first_start" -} \ No newline at end of file +object SpKey \ No newline at end of file diff --git a/Lib_Common/src/main/java/com/quyunshuo/common/net/NetRequest.kt b/Lib_Common/src/main/java/com/quyunshuo/common/net/NetRequest.kt index dd8d5a7..47df493 100644 --- a/Lib_Common/src/main/java/com/quyunshuo/common/net/NetRequest.kt +++ b/Lib_Common/src/main/java/com/quyunshuo/common/net/NetRequest.kt @@ -1,7 +1,6 @@ package com.quyunshuo.common.net import com.quyunshuo.common.net.api.ApiCommonService -import com.quyunshuo.common.net.api.ApiHomeService /** * @Author: QuYunShuo @@ -11,11 +10,6 @@ import com.quyunshuo.common.net.api.ApiHomeService */ object NetRequest { - // Home Service - val homeService by lazy(mode = LazyThreadSafetyMode.NONE) { - NetServiceCreator.create(ApiHomeService::class.java) - } - // 公共接口 val commonService by lazy(mode = LazyThreadSafetyMode.NONE) { NetServiceCreator.create(ApiCommonService::class.java) diff --git a/Lib_Common/src/main/java/com/quyunshuo/common/net/NetServiceCreator.kt b/Lib_Common/src/main/java/com/quyunshuo/common/net/NetServiceCreator.kt index e1c73d5..54d64d9 100644 --- a/Lib_Common/src/main/java/com/quyunshuo/common/net/NetServiceCreator.kt +++ b/Lib_Common/src/main/java/com/quyunshuo/common/net/NetServiceCreator.kt @@ -2,7 +2,6 @@ package com.quyunshuo.common.net import com.quyunshuo.base.BaseApplication import com.quyunshuo.base.BuildConfig -import com.quyunshuo.common.constant.NetUrl import com.readystatesoftware.chuck.ChuckInterceptor import okhttp3.OkHttpClient import okhttp3.logging.HttpLoggingInterceptor @@ -18,7 +17,7 @@ import java.util.concurrent.TimeUnit */ object NetServiceCreator { - private const val BASE_URL = NetUrl.url1 + private const val BASE_URL = "" private const val CONNECT_TIME_OUT = 15L diff --git a/Lib_Common/src/main/java/com/quyunshuo/common/net/api/ApiHomeService.kt b/Lib_Common/src/main/java/com/quyunshuo/common/net/api/ApiHomeService.kt deleted file mode 100644 index dc3c433..0000000 --- a/Lib_Common/src/main/java/com/quyunshuo/common/net/api/ApiHomeService.kt +++ /dev/null @@ -1,19 +0,0 @@ -package com.quyunshuo.common.net.api - -import com.quyunshuo.common.bean.TestBean -import retrofit2.http.GET -import retrofit2.http.Query - -/** - * @Author: QuYunShuo - * @Time: 2020/8/29 - * @Class: ApiService - * @Remark: Home接口 - */ -interface ApiHomeService { - - // Retrofit 2.6版本开始支持协程 只需要将抽象方法写成挂起函数即可 - @GET() - suspend fun getTestData(@Query("test") test: String): TestBean - -} \ No newline at end of file diff --git a/Lib_Main/.gitignore b/Lib_Main/.gitignore deleted file mode 100644 index 42afabf..0000000 --- a/Lib_Main/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file diff --git a/Lib_Main/build.gradle b/Lib_Main/build.gradle deleted file mode 100644 index 0e08090..0000000 --- a/Lib_Main/build.gradle +++ /dev/null @@ -1,5 +0,0 @@ -apply from: '../moduleBase.gradle' - -android { - resourcePrefix "main_" -} \ No newline at end of file diff --git a/Lib_Main/consumer-rules.pro b/Lib_Main/consumer-rules.pro deleted file mode 100644 index e69de29..0000000 diff --git a/Lib_Main/proguard-rules.pro b/Lib_Main/proguard-rules.pro deleted file mode 100644 index 481bb43..0000000 --- a/Lib_Main/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/Lib_Main/src/androidTest/java/com/quyunshuo/main/ExampleInstrumentedTest.kt b/Lib_Main/src/androidTest/java/com/quyunshuo/main/ExampleInstrumentedTest.kt deleted file mode 100644 index b670c36..0000000 --- a/Lib_Main/src/androidTest/java/com/quyunshuo/main/ExampleInstrumentedTest.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.quyunshuo.main - -import androidx.test.platform.app.InstrumentationRegistry -import androidx.test.ext.junit.runners.AndroidJUnit4 - -import org.junit.Test -import org.junit.runner.RunWith - -import org.junit.Assert.* - -/** - * Instrumented test, which will execute on an Android device. - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -@RunWith(AndroidJUnit4::class) -class ExampleInstrumentedTest { - @Test - fun useAppContext() { - // Context of the app under test. - val appContext = InstrumentationRegistry.getInstrumentation().targetContext - assertEquals("com.quyunshuo.main.test", appContext.packageName) - } -} \ No newline at end of file diff --git a/Lib_Main/src/main/AndroidManifest.xml b/Lib_Main/src/main/AndroidManifest.xml deleted file mode 100644 index ad8392f..0000000 --- a/Lib_Main/src/main/AndroidManifest.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Lib_Main/src/main/java/com/quyunshuo/main/MainActivity.kt b/Lib_Main/src/main/java/com/quyunshuo/main/MainActivity.kt deleted file mode 100644 index bf8f720..0000000 --- a/Lib_Main/src/main/java/com/quyunshuo/main/MainActivity.kt +++ /dev/null @@ -1,66 +0,0 @@ -package com.quyunshuo.main - -import android.Manifest -import android.os.Handler -import android.widget.Toast -import com.alibaba.android.arouter.facade.annotation.Route -import com.alibaba.android.arouter.launcher.ARouter -import com.permissionx.guolindev.PermissionX -import com.quyunshuo.base.ktx.toast -import com.quyunshuo.base.utils.EventBusRegister -import com.quyunshuo.base.utils.sendEvent -import com.quyunshuo.common.bean.TestBean -import com.quyunshuo.common.constant.RouteKey -import com.quyunshuo.common.constant.RouteUrl -import com.quyunshuo.common.ui.BaseActivity -import com.quyunshuo.main.databinding.MainActivityMainBinding -import org.greenrobot.eventbus.Subscribe - -/** - * @Author: QuYunShuo - * @Time: 2020/8/27 - * @Class: MainActivity - * @Remark: 主界面Activity - */ -@EventBusRegister -@Route(path = RouteUrl.MainActivity) -class MainActivity : - BaseActivity(MainViewModel::class.java) { - - lateinit var handle: Handler - - override fun initViewBinding(): MainActivityMainBinding = - MainActivityMainBinding.inflate(layoutInflater) - - override fun initView() { - PermissionX.init(this) - .permissions(Manifest.permission.READ_PHONE_STATE) - .request { allGranted, grantedList, deniedList -> - if (allGranted) { - toast("权限全部授予") - } else { - toast("您拒绝了权限") - } - } - mViewModel.msg.observe(this, { - mBinding.mTv.text = it - Toast.makeText(this, it, Toast.LENGTH_SHORT).show() - }) - mBinding.mBtn.setOnClickListener { mViewModel.getString() } - mBinding.mIntentBtn.setOnClickListener { - ARouter.getInstance().build(RouteUrl.MainActivity2) - .withString(RouteKey.KEY_NAME, "ARouter").navigation() - } - mBinding.mDebacle.setOnClickListener { - handle.post { - toast("") - } - } - sendEvent(TestBean("EventBus")) - } - - @Subscribe - fun onEvent(event: TestBean) { - toast(event.msgTest) - } -} \ No newline at end of file diff --git a/Lib_Main/src/main/java/com/quyunshuo/main/MainActivity2.kt b/Lib_Main/src/main/java/com/quyunshuo/main/MainActivity2.kt deleted file mode 100644 index a93ddde..0000000 --- a/Lib_Main/src/main/java/com/quyunshuo/main/MainActivity2.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.quyunshuo.main - -import com.alibaba.android.arouter.facade.annotation.Autowired -import com.alibaba.android.arouter.facade.annotation.Route -import com.quyunshuo.base.ktx.toast -import com.quyunshuo.common.constant.RouteKey -import com.quyunshuo.common.constant.RouteUrl -import com.quyunshuo.common.ui.BaseActivity -import com.quyunshuo.main.databinding.MainActivityMain2Binding - -@Route(path = RouteUrl.MainActivity2) -class MainActivity2 : - BaseActivity(MainViewModel::class.java) { - - // 通过name来映射URL中的不同参数 - @Autowired(name = RouteKey.KEY_NAME) - lateinit var name: String - - override fun initViewBinding(): MainActivityMain2Binding = - MainActivityMain2Binding.inflate(layoutInflater) - - override fun initView() { - toast(name) - } -} \ No newline at end of file diff --git a/Lib_Main/src/main/java/com/quyunshuo/main/MainRepository.kt b/Lib_Main/src/main/java/com/quyunshuo/main/MainRepository.kt deleted file mode 100644 index 8507934..0000000 --- a/Lib_Main/src/main/java/com/quyunshuo/main/MainRepository.kt +++ /dev/null @@ -1,52 +0,0 @@ -package com.quyunshuo.main - -import com.quyunshuo.base.mvvm.m.BaseRepository -import com.quyunshuo.common.net.NetRequest - -/** - * @Author: QuYunShuo - * @Time: 2020/8/28 - * @Class: MainRepository - * @Remark: - */ -class MainRepository : BaseRepository() { - - /** - * 模拟请求或读取数据库 - */ - suspend fun getString() = - flowRequest { - emit("嘿嘿") - } - - /** - * 模拟使用网络请求接口 - * 需要写成挂起函数 - */ - suspend fun mockRequest() = - flowRequest { - // 发起请求 - // 并行请求可以使用 async await - // 例如 - // // 创建一个新的协程进行请求 - // val deferredRealtime = async { - // SendRequest.getRealtimeWeather(lng, lat) - // } - // // 创建一个新的协程进行请求 - // val deferredDaily = async { - // SendRequest.getDailyWeather(lng, lat) - // } - // // 对两个请求获取结果 - // val realtimeResponse = deferredRealtime.await() - // val dailyResponse = deferredDaily.await() - // 这两个协程是并行的 不是串行 - - val testData = NetRequest.homeService.getTestData("mock") - - // 处理请求结果 - // {if testData ... } - - // 将请求结果或者是调用者需要的数据进行发射出去 - emit(testData.msgTest) - } -} \ No newline at end of file diff --git a/Lib_Main/src/main/java/com/quyunshuo/main/MainViewModel.kt b/Lib_Main/src/main/java/com/quyunshuo/main/MainViewModel.kt deleted file mode 100644 index 9bc8e2f..0000000 --- a/Lib_Main/src/main/java/com/quyunshuo/main/MainViewModel.kt +++ /dev/null @@ -1,55 +0,0 @@ -package com.quyunshuo.main - -import android.util.Log -import androidx.lifecycle.MutableLiveData -import androidx.lifecycle.viewModelScope -import com.quyunshuo.base.mvvm.vm.BaseViewModel -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.catch -import kotlinx.coroutines.flow.collectLatest -import kotlinx.coroutines.flow.onCompletion -import kotlinx.coroutines.flow.onStart -import kotlinx.coroutines.launch - -/** - * @Author: QuYunShuo - * @Time: 2020/8/28 - * @Class: MainViewModel - * @Remark: - */ -class MainViewModel : BaseViewModel() { - - val msg: MutableLiveData = MutableLiveData() - - override fun initRepository(): MainRepository = MainRepository() - - fun getString() { - viewModelScope.launch(Dispatchers.IO) { - mRepository.getString().collectLatest { - msg.postValue(it) - } - } - } - - fun getTestString() { - viewModelScope.launch { - mRepository.getString() - .onStart { - // 获取数据之前 - // 可以做loading图之类的 - } - .catch { - // 处理异常 获取数据产生的异常 - } - .onCompletion { - // 获取数据完成时 - } - .collectLatest { - // 拿到想要的数据 - Log.d("qqq", "getTestString: $it") - } - // onStart() catch() onCompletion() 都是可选的 是flow的操作符 - // 例如 mRepository.getString().collectLatest { // 拿到想要的结果 } - } - } -} \ No newline at end of file diff --git a/Lib_Main/src/main/java/debug/AndroidManifest.xml b/Lib_Main/src/main/java/debug/AndroidManifest.xml deleted file mode 100644 index dad2af9..0000000 --- a/Lib_Main/src/main/java/debug/AndroidManifest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Lib_Main/src/main/java/debug/MainApplication.kt b/Lib_Main/src/main/java/debug/MainApplication.kt deleted file mode 100644 index 7ef34b3..0000000 --- a/Lib_Main/src/main/java/debug/MainApplication.kt +++ /dev/null @@ -1,11 +0,0 @@ -package debug - -import com.quyunshuo.common.CommonApplication - -/** - * @Author: QuYunShuo - * @Time: 2020/8/28 - * @Class: MainApplication - * @Remark: 作为app模式时的Application - */ -class MainApplication : CommonApplication() \ No newline at end of file diff --git a/Lib_Main/src/main/res/layout/main_activity_main.xml b/Lib_Main/src/main/res/layout/main_activity_main.xml deleted file mode 100644 index cb3595b..0000000 --- a/Lib_Main/src/main/res/layout/main_activity_main.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - -