codecamp

鸿蒙OS DataObserver

DataObserver

java.lang.Object

|---ohos.aafwk.abilityjet.activedata.DataObserver<T&

public abstract class DataObserver<T>
extends Object

在 ActiveData 的数据更改时接收通知的观察者的基类。

ActiveData 的观察者必须继承这个类并覆盖 onChanged(java.lang.Object) 方法。 这样,ActiveData 可以通过使用 onChanged(java.lang.Object) 通知观察者数据的变化。

DataObserver 通过 setLifecycle(ohos.aafwk.ability.Lifecycle) 方法持有一个 Lifecycle 对象。 该对象表示匹配的 Ability 或 AbilitySlice 的生命周期。 DataObserver 还允许 ActiveData 观察其生命周期的变化。 因此,DataObserver 和 ActiveData 相互观察。 DataObserver 观察 ActiveData 的数据变化,ActiveData 观察 DataObserver 的生命周期变化。

构造函数摘要

构造函数 描述
DataObserver()

方法总结

修饰符和类型 方法 描述
abstract void onChanged(T value) 通知观察者正在观察的数据已更改。
void setLifecycle(Lifecycle owner) 设置观察者的生命周期状态。
从类 java.lang.Object 继承的方法
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

构造函数详细信息

DataObserver

public DataObserver()

方法详情

onChanged

public abstract void onChanged(T value)

通知观察者正在观察的数据已更改。

ActiveData 的观察者必须实现此方法,以便在数据更改时通知他们。

参数:

参数名称 参数描述
value 表示正在观察的数据的新值。 此参数不能为空。

setLifecycle

public final void setLifecycle(Lifecycle owner)

设置观察者的生命周期状态。

当观察者的生命周期状态发生变化时,ActiveData 对象将被通知。

参数:

参数名称 参数描述
owner 指示观察者的生命周期状态。 此参数不能为空。

Throws:

Throw名称 Throw描述
IllegalArgumentException 无效的参数
IllegalStateException 无效的生活所有者
鸿蒙OS ActiveData
鸿蒙OS ohos.aafwk.content概述
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }