Android Bulle介绍3-Bulle中的MVP模式
程序员文章站
2024-03-15 18:45:54
...
Android Bulle介绍3-Bulle中的MVP模式
项目地址:https://github.com/openVS-liu/AndroidBulletMvp
基础介绍
特点
1 解耦彻底,Activity或者Fragment可以彻底的作为View,Presenter同步了View的所有生命周期方法 ,可以处理全部的业务逻辑。
2 代码简洁,无任何模板或者样板代码。甚至不需要写View和Presenter对象的实例化代码而直接调用
3 内存安全,View销毁时,会自动释放对Presenter的引用
使用示例
HomeActivity.java
@ViewInit(layoutName = "activity_home", title = "城市列表")
class HomeActivity : MvpActivity<HomePresenter?>() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//可以直接通过presenter对象调用HomePresenter中的方法。
}
}
HomePresenter.java
class HomePresenter : Presenter<HomeActivity>() {
override fun onCreate(@NonNull owner: LifecycleOwner) {
super.onCreate(owner)
// 业务代码的入口,可以通过owner接收数据。可以直接调用getContext获得context对象,也可以通过view对象调用HomeActivity中的方法。
}
}
activity_home.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="16dp"
tools:context=".home.HomeActivity">
</androidx.constraintlayout.widget.ConstraintLayout>
运行module,效果如下图:
下一篇: 类与对象基础