新聞中心
ActiveData

創(chuàng)新互聯(lián)公司主營甘孜州網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,成都App制作,甘孜州h5重慶小程序開發(fā)搭建,甘孜州網(wǎng)站營銷推廣歡迎甘孜州等地區(qū)企業(yè)咨詢
java.lang.Object
|---ohos.aafwk.abilityjet.activedata.ActiveData
public class ActiveData
extends Object
保存數(shù)據(jù)并觀察數(shù)據(jù)變化。
ActiveData 可用于在 Model 中保存 Component 數(shù)據(jù)或在 Model 中記錄數(shù)據(jù)庫數(shù)據(jù)。 ActiveData本質(zhì)上是一個數(shù)據(jù)類,增加了觀察者來觀察它的數(shù)據(jù)變化。 當發(fā)生數(shù)據(jù)更改時,ActiveData 對象可以將更改通知其觀察者。
在觀察 ActiveData 的同時,它還觀察 DataObserver 的生命周期變化。通常,只有當承載觀察者的 AbilitySlice 處于前臺(ACTIVE 狀態(tài))時,才能通知 DataObserver 數(shù)據(jù)變化,因為它不需要知道其他狀態(tài)的實時數(shù)據(jù)變化。返回到前臺后,DataObserver 將被通知最近的數(shù)據(jù)變化。
即使 AbilitySlice 處于后臺狀態(tài),ActiveData 也可以通知觀察者數(shù)據(jù)更改。要啟用此功能,請在添加觀察者時將 addObserver(ohos.aafwk.abilityjet.activedata.DataObserver,boolean) 方法中的 always 參數(shù)設置為 true。
您不需要維護觀察者。當 AbilitySlice 的生命周期被銷毀時,相關的觀察者會被自動移除。因此,ActiveData 可以看作是一種可觀察的數(shù)據(jù)類型,可以觀察生命周期狀態(tài)。 ActiveData 的最大優(yōu)勢在于它充當生命周期觀察者,并根據(jù)對象的生命周期通知其他觀察者數(shù)據(jù)的變化。
使用 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);
}
}
}
構造函數(shù)摘要
| 構造函數(shù) | 描述 |
|---|---|
| ActiveData() |
方法總結
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| void | addObserver(DataObserver |
添加數(shù)據(jù)觀察者。 |
| T | getData() | 獲取活動數(shù)據(jù)。 |
| void | removeObserver(DataObserver |
刪除數(shù)據(jù)觀察者。 |
| void | setData(T value) | 設置要觀察的數(shù)據(jù)。 |
| 從類 java.lang.Object 繼承的方法 |
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
構造函數(shù)詳細信息
ActiveData
public ActiveData()
Method Detail
addObserver
public void addObserver(DataObserver
添加數(shù)據(jù)觀察者。
添加數(shù)據(jù)觀察者后,會在數(shù)據(jù)發(fā)生變化時得到通知。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| observer | 指示為接收數(shù)據(jù)更改通知而添加的數(shù)據(jù)觀察者。 該值不能為空。 |
| always | 指定是否在任何生命周期狀態(tài)下發(fā)送數(shù)據(jù)更改通知。 值 true 表示在任何生命周期狀態(tài)下發(fā)送通知。 值 false 表示僅當對象處于前臺(ACTIVE 狀態(tài))時才發(fā)送通知。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 無效的參數(shù) |
removeObserver
public void removeObserver(DataObserver
刪除數(shù)據(jù)觀察者。
刪除數(shù)據(jù)觀察者后,將不再收到數(shù)據(jù)更改通知。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| observer | 指示要刪除的數(shù)據(jù)觀察者。 |
setData
public void setData(T value)
設置要觀察的數(shù)據(jù)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| value | 表示要觀察的數(shù)據(jù)。 |
getData
public T getData()
獲取活動數(shù)據(jù)。
返回:
返回活動數(shù)據(jù)
分享文章:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSActiveData
網(wǎng)站鏈接:http://www.5511xx.com/article/cohgcpe.html


咨詢
建站咨詢
