From f3a559dd789fbce5bc828f38c1f547dd7a95e111 Mon Sep 17 00:00:00 2001 From: Quyunshuo Date: Thu, 27 Aug 2020 19:13:06 +0800 Subject: [PATCH] =?UTF-8?q?Modify:=20=E5=9F=BA=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Lib_Base/build.gradle | 4 +++ .../quyunshuo/base/ui/BaseFrameActivity.kt | 25 +++++++++++++++++++ .../quyunshuo/base/ui/BaseFrameFragment.kt | 12 +++++++++ .../com/quyunshuo/base/ui/BaseRepository.kt | 10 ++++++++ .../com/quyunshuo/base/ui/BaseViewModel.kt | 12 +++++++++ .../com/quyunshuo/common/ui/BaseActivity.kt | 12 +++++++++ .../com/quyunshuo/common/ui/BaseFragment.kt | 12 +++++++++ .../java/com/quyunshuo/main/MainActivity.kt | 15 ++++++----- .../main/res/layout/main_activity_main.xml | 1 + 9 files changed, 97 insertions(+), 6 deletions(-) create mode 100644 Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseFrameActivity.kt create mode 100644 Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseFrameFragment.kt create mode 100644 Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseRepository.kt create mode 100644 Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseViewModel.kt create mode 100644 Lib_Common/src/main/java/com/quyunshuo/common/ui/BaseActivity.kt create mode 100644 Lib_Common/src/main/java/com/quyunshuo/common/ui/BaseFragment.kt diff --git a/Lib_Base/build.gradle b/Lib_Base/build.gradle index 783fb5e..78de0cb 100644 --- a/Lib_Base/build.gradle +++ b/Lib_Base/build.gradle @@ -28,6 +28,10 @@ android { jvmTarget = JavaVersion.VERSION_1_8.toString() } + buildFeatures { + viewBinding = true + } + resourcePrefix "base_" } diff --git a/Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseFrameActivity.kt b/Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseFrameActivity.kt new file mode 100644 index 0000000..e0c787f --- /dev/null +++ b/Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseFrameActivity.kt @@ -0,0 +1,25 @@ +package com.quyunshuo.base.ui + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import androidx.viewbinding.ViewBinding + +/** + * @Author: QuYunShuo + * @Time: 2020/8/27 + * @Class: BaseFrameActivity + * @Remark: Activity基类 与项目无关 + */ +abstract class BaseFrameActivity : AppCompatActivity() { + + lateinit var mBinding: VB + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + mBinding = initViewBinding() + setContentView(mBinding.root) + } + + protected abstract fun initViewBinding(): VB + protected abstract fun initView() +} \ No newline at end of file diff --git a/Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseFrameFragment.kt b/Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseFrameFragment.kt new file mode 100644 index 0000000..729e554 --- /dev/null +++ b/Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseFrameFragment.kt @@ -0,0 +1,12 @@ +package com.quyunshuo.base.ui + +import androidx.fragment.app.Fragment + +/** + * @Author: QuYunShuo + * @Time: 2020/8/27 + * @Class: BaseFrameFragment + * @Remark: Fragment基类 与项目无关 + */ +abstract class BaseFrameFragment : Fragment() { +} \ No newline at end of file diff --git a/Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseRepository.kt b/Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseRepository.kt new file mode 100644 index 0000000..d2cf1d4 --- /dev/null +++ b/Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseRepository.kt @@ -0,0 +1,10 @@ +package com.quyunshuo.base.ui + +/** + * @Author: QuYunShuo + * @Time: 2020/8/27 + * @Class: BaseRepository + * @Remark: 仓库层 Repository 基类 + */ +open class BaseRepository { +} \ No newline at end of file diff --git a/Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseViewModel.kt b/Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseViewModel.kt new file mode 100644 index 0000000..1f56142 --- /dev/null +++ b/Lib_Base/src/main/java/com/quyunshuo/base/ui/BaseViewModel.kt @@ -0,0 +1,12 @@ +package com.quyunshuo.base.ui + +import androidx.lifecycle.ViewModel + +/** + * @Author: QuYunShuo + * @Time: 2020/8/27 + * @Class: BaseViewModel + * @Remark: ViewModel 基类 + */ +open class BaseViewModel : ViewModel() { +} \ No newline at end of file diff --git a/Lib_Common/src/main/java/com/quyunshuo/common/ui/BaseActivity.kt b/Lib_Common/src/main/java/com/quyunshuo/common/ui/BaseActivity.kt new file mode 100644 index 0000000..26d6245 --- /dev/null +++ b/Lib_Common/src/main/java/com/quyunshuo/common/ui/BaseActivity.kt @@ -0,0 +1,12 @@ +package com.quyunshuo.common.ui + +import androidx.viewbinding.ViewBinding +import com.quyunshuo.base.ui.BaseFrameActivity + +/** + * @Author: QuYunShuo + * @Time: 2020/8/27 + * @Class: BaseActivity + * @Remark: 项目相关的Activity基类 + */ +abstract class BaseActivity : BaseFrameActivity() \ No newline at end of file diff --git a/Lib_Common/src/main/java/com/quyunshuo/common/ui/BaseFragment.kt b/Lib_Common/src/main/java/com/quyunshuo/common/ui/BaseFragment.kt new file mode 100644 index 0000000..a91c226 --- /dev/null +++ b/Lib_Common/src/main/java/com/quyunshuo/common/ui/BaseFragment.kt @@ -0,0 +1,12 @@ +package com.quyunshuo.common.ui + +import androidx.fragment.app.Fragment + +/** + * @Author: QuYunShuo + * @Time: 2020/8/27 + * @Class: BaseFragment + * @Remark: 项目相关的Fragment基类 + */ +abstract class BaseFragment : Fragment() { +} \ 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 index 2724b0e..7bf062f 100644 --- a/Lib_Main/src/main/java/com/quyunshuo/main/MainActivity.kt +++ b/Lib_Main/src/main/java/com/quyunshuo/main/MainActivity.kt @@ -1,7 +1,7 @@ package com.quyunshuo.main -import android.os.Bundle -import androidx.appcompat.app.AppCompatActivity +import com.quyunshuo.common.ui.BaseActivity +import com.quyunshuo.main.databinding.MainActivityMainBinding /** * @Author: QuYunShuo @@ -9,9 +9,12 @@ import androidx.appcompat.app.AppCompatActivity * @Class: MainActivity * @Remark: 主界面Activity */ -class MainActivity : AppCompatActivity() { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContentView(R.layout.main_activity_main) +class MainActivity : BaseActivity() { + + override fun initViewBinding(): MainActivityMainBinding = + MainActivityMainBinding.inflate(layoutInflater) + + override fun initView() { + mBinding.mTv.text = "Hello MVVM" } } \ 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 index ecdf560..2ddc580 100644 --- a/Lib_Main/src/main/res/layout/main_activity_main.xml +++ b/Lib_Main/src/main/res/layout/main_activity_main.xml @@ -7,6 +7,7 @@ tools:context=".MainActivity">