新聞中心
ActiveData

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


咨詢(xún)
建站咨詢(xún)
