创新互联鸿蒙OS教程:鸿蒙OSActiveData

ActiveData

创新互联公司主营甘孜州网站建设的网络公司,主营网站建设方案,成都App制作,甘孜州h5重庆小程序开发搭建,甘孜州网站营销推广欢迎甘孜州等地区企业咨询

java.lang.Object

|---ohos.aafwk.abilityjet.activedata.ActiveData

public class ActiveData
extends Object

保存数据并观察数据变化。

ActiveData 可用于在 Model 中保存 Component 数据或在 Model 中记录数据库数据。 ActiveData本质上是一个数据类,增加了观察者来观察它的数据变化。 当发生数据更改时,ActiveData 对象可以将更改通知其观察者。

在观察 ActiveData 的同时,它还观察 DataObserver 的生命周期变化。通常,只有当承载观察者的 AbilitySlice 处于前台(ACTIVE 状态)时,才能通知 DataObserver 数据变化,因为它不需要知道其他状态的实时数据变化。返回到前台后,DataObserver 将被通知最近的数据变化。

即使 AbilitySlice 处于后台状态,ActiveData 也可以通知观察者数据更改。要启用此功能,请在添加观察者时将 addObserver(ohos.aafwk.abilityjet.activedata.DataObserver,boolean) 方法中的 always 参数设置为 true。

您不需要维护观察者。当 AbilitySlice 的生命周期被销毁时,相关的观察者会被自动移除。因此,ActiveData 可以看作是一种可观察的数据类型,可以观察生命周期状态。 ActiveData 的最大优势在于它充当生命周期观察者,并根据对象的生命周期通知其他观察者数据的变化。

使用 ActiveData 的示例代码:

 public class MainAbility extends Ability {
        private ActiveData fruitPrice;


        @Override
        protected void onStart() {
            super.onStart();
            subscribe();
        }


        @Override
        protected void onActive() {
            if(fruitPrice.getData().empty()) {
                // setData will notify Observer in subscribe.
                fruitPrice.setData(String("10"));
            }


            private void subscribe() {
                final DataObserver priceObserver = new DataObserver() {
                    @Override
                    public void onChanged(@Nullable final String s) {
                        String price = "Fruit price is " + s;
                        Text.setText(price);
                    }
                };
                fruitPrice.addObserver(priceObserver);
            }
        }
 }

构造函数摘要

构造函数 描述
ActiveData()

方法总结

修饰符和类型 方法 描述
void addObserver(DataObserver observer, boolean always) 添加数据观察者。
T getData() 获取活动数据。
void removeObserver(DataObserver observer) 删除数据观察者。
void setData(T value) 设置要观察的数据。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

构造函数详细信息

ActiveData

public ActiveData()

Method Detail

addObserver

public void addObserver(DataObserver observer, boolean always)

添加数据观察者。

添加数据观察者后,会在数据发生变化时得到通知。

参数:

参数名称 参数描述
observer 指示为接收数据更改通知而添加的数据观察者。 该值不能为空。
always 指定是否在任何生命周期状态下发送数据更改通知。 值 true 表示在任何生命周期状态下发送通知。 值 false 表示仅当对象处于前台(ACTIVE 状态)时才发送通知。

Throws:

Throw名称 Throw描述
IllegalArgumentException 无效的参数

removeObserver

public void removeObserver(DataObserver observer)

删除数据观察者。

删除数据观察者后,将不再收到数据更改通知。

参数:

参数名称 参数描述
observer 指示要删除的数据观察者。

setData

public void setData(T value)

设置要观察的数据。

参数:

参数名称 参数描述
value 表示要观察的数据。

getData

public T getData()

获取活动数据。

返回:

返回活动数据

文章题目:创新互联鸿蒙OS教程:鸿蒙OSActiveData
本文来源:http://www.shufengxianlan.com/qtweb/news11/53311.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联