Modify: 基类
This commit is contained in:
@ -28,6 +28,10 @@ android {
|
||||
jvmTarget = JavaVersion.VERSION_1_8.toString()
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
viewBinding = true
|
||||
}
|
||||
|
||||
resourcePrefix "base_"
|
||||
}
|
||||
|
||||
|
||||
@ -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<VB : ViewBinding> : 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()
|
||||
}
|
||||
@ -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() {
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
package com.quyunshuo.base.ui
|
||||
|
||||
/**
|
||||
* @Author: QuYunShuo
|
||||
* @Time: 2020/8/27
|
||||
* @Class: BaseRepository
|
||||
* @Remark: 仓库层 Repository 基类
|
||||
*/
|
||||
open class BaseRepository {
|
||||
}
|
||||
@ -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() {
|
||||
}
|
||||
@ -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<VB : ViewBinding> : BaseFrameActivity<VB>()
|
||||
@ -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() {
|
||||
}
|
||||
@ -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<MainActivityMainBinding>() {
|
||||
|
||||
override fun initViewBinding(): MainActivityMainBinding =
|
||||
MainActivityMainBinding.inflate(layoutInflater)
|
||||
|
||||
override fun initView() {
|
||||
mBinding.mTv.text = "Hello MVVM"
|
||||
}
|
||||
}
|
||||
@ -7,6 +7,7 @@
|
||||
tools:context=".MainActivity">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/mTv"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Main"
|
||||
|
||||
Reference in New Issue
Block a user