我正在尝试在我的新Android项目中使用MVVM。此外,我正在使用rxjava
来实现此目的。我使用kotlin
。我已经完成了很多文档,帖子和教程。我做了一个示例应用程序尝试的东西。
活性
class MainActivity : AppCompatActivity() {
private var vehicleInVM: VehicleInVM? = null
var disposable: CompositeDisposable? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
vehicleInVM = VehicleInVM()
disposable = CompositeDisposable()
vehicleInVM?.checkVehicleNumberPlate("111")?.subscribe({ t1: Boolean?, t2: Throwable? ->
Logger.getLogger("GP").severe("$t1")
})?.let { disposable!!.add(it) }
}
}
查看模型
class VehicleInVM {
var capacity: Capacity?=null
init {
capacity= Capacity()
}
fun checkVehicleNumberPlate(string: String?): Single<Boolean>? {
if (string == null) {
return Single.create<Boolean> { emitter ->
emitter.onSuccess(false)
}
}
val regex = Constants.VEHICL_NUMBER_REGEX
return Single.create<Boolean> { emitter ->
emitter.onSuccess(string?.let { regex.matches(it) })
}
}
fun getVehicleCapacity(type:String): Observable<String>? {
return capacity?.getCapacity(type)
}
}
拜托,您能告诉我我正在做的是实施MVVM的正确方法吗?如果没有,请建议我一个正确的方法。
PS - 请不要忘记我发现我确信可能有很多人不知道这一切,所以请先开始。