在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙開發接口數據管理:【@ohos.data.preferences (首選項)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-10 18:46 ? 次閱讀

首選項

首選項為應用提供key-value鍵值型的數據處理能力,支持應用持久化輕量級數據,并對其修改和查詢。數據存儲形式為鍵值對,鍵的類型為字符串型,值的存儲數據類型包括數字型、字符型、布爾型。

說明: 本模塊首批接口從API version 9開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。 開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

導入模塊

import data_preferences from '@ohos.data.preferences';

常量

系統能力: 以下各項對應的系統能力均為SystemCapability.DistributedDataManager.Preferences.Core

名稱參數類型可讀可寫說明
MAX_KEY_LENGTHstringkey的最大長度限制,需小于80字節。
MAX_VALUE_LENGTHstringvalue的最大長度限制,需小于8192字節。

data_preferences.getPreferences

getPreferences(context: Context, name: string, callback: AsyncCallback): void

讀取指定首選項持久化文件,將數據加載到Preferences實例,用于數據操作,該方法使用callback方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
context[Context]應用程序或功能的上下文。
namestring應用程序內部數據存儲名稱。
callbackAsyncCallback<[Preferences]>回調函數。

示例:

data_preferences.getPreferences(this.context, 'mystore', function (err, preferences) {
    if (err) {
        console.info("Get preferences failed.")
        return;
    }
    console.info("Get preferences successfully.")
})

data_preferences.getPreferences

getPreferences(context: Context, name: string): Promise

讀取指定首選項持久化文件,將數據加載到Preferences實例,用于數據操作,該方法使用Promise方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
context[Context]應用程序或功能的上下文。
namestring應用程序內部數據存儲名稱。

返回值:

類型說明
Promise<[Preferences]>Promise實例,用于異步獲取結果。

示例:

let promise = data_preferences.getPreferences(this.context, 'mystore')
promise.then((preferences) = > {
    console.info("Get preferences successfully.")
}).catch((err) = > {
    console.info("Get preferences failed.")
})

data_preferences.deletePreferences

deletePreferences(context: Context, name: string, callback: AsyncCallback): void

從內存中移除指定首選項持久化文件對應的Preferences單實例,并刪除指定文件及其備份文件和損壞文件。 刪除指定首選項持久化文件時,應用不允許再使用該實例進行數據操作,否則會出現數據一致性問題,該方法使用callback方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
context[Context]應用程序或功能的上下文。
namestring應用程序內部數據存儲名稱。
callbackAsyncCallback回調函數。

示例:

data_preferences.deletePreferences(this.context, 'mystore', function (err) {
    if (err) {
        console.info("Deleted preferences failed, err: " + err)
        return
    }
    console.info("Deleted preferences successfully.")
})

data_preferences.deletePreferences

deletePreferences(context: Context, name: string): Promise

從內存中移除指定首選項持久化文件對應的Preferences單實例,并刪除指定文件及其備份文件和損壞文件。 刪除指定首選項持久化文件時,應用不允許再使用該實例進行數據操作,否則會出現數據一致性問題,該方法使用Promise方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
context[Context]應用程序或功能的上下文。
namestring應用程序內部數據存儲名稱。

返回值:

類型說明
PromisePromise實例,用于異步獲取結果。

示例:

let promise = data_preferences.deletePreferences(this.context, 'mystore')
promise.then(() = > {
    console.info("Deleted preferences successfully.")
}).catch((err) = > {
    console.info("Deleted preferences failed, err: " + err)
})

data_preferences.removePreferencesFromCache

removePreferencesFromCache(context: Context, name: string, callback: AsyncCallback): void

從內存中移除指定首選項持久化文件對應的Preferences單實例。

移除Preferences單實例時,應用不允許再使用該實例進行數據操作,否則會出現數據一致性問題,該方法使用callback方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
context[Context]應用程序或功能的上下文。
namestring應用程序內部數據存儲名稱。
callbackAsyncCallback回調函數。

示例:

data_preferences.removePreferencesFromCache(this.context, 'mystore', function (err) {
    if (err) {
        console.info("Removed preferences from cache failed, err: " + err)
        return
    }
    console.info("Removed preferences from cache successfully.")
})

data_preferences.removePreferencesFromCache

removePreferencesFromCache(context: Context, name: string): Promise

從內存中移除指定首選項持久化文件對應的Preferences單實例。

移除Preferences單實例時,應用不允許再使用該實例進行數據操作,否則會出現數據一致性問題,該方法使用Promise方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
context[Context]應用程序或功能的上下文。
namestring應用程序內部數據存儲名稱。

返回值:

類型說明
PromisePromise實例,用于異步獲取結果。

示例:

let promise = data_preferences.removePreferencesFromCache(this.context, 'mystore')
promise.then(() = > {
    console.info("Removed preferences from cache successfully.")
}).catch((err) = > {
    console.info("Removed preferences from cache failed, err: " + err)
})

Preferences

提供獲取和修改存儲數據的接口。

get

get(key: string, defValue: ValueType, callback: AsyncCallback): void

獲取鍵對應的值,如果值為null或者非默認值類型,返回默認數據,該方法使用callback方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
keystring要獲取的存儲key名稱,不能為空。
defValue[ValueType]默認返回值。支持number、string、boolean。
callbackAsyncCallback回調函數。

示例:

preferences.get('startup', 'default', function(err, value) {
    if (err) {
        console.info("Get value of startup failed, err: " + err)
        return
    }
    console.info("Get value of startup is " + value)
})

get

get(key: string, defValue: ValueType): Promise

獲取鍵對應的值,如果值為null或者非默認值類型,返回默認數據,該方法使用Promise方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

  • 參數:
    參數名類型必填說明
    keystring要獲取的存儲key名稱,不能為空。
    defValue[ValueType]默認返回值。支持number、string、boolean。

返回值:

類型說明
PromisePromise實例,用于異步獲取結果。

示例:

let promise = preferences.get('startup', 'default')
promise.then((value) = > {
    console.info("Get value of startup is " + value)
}).catch((err) = > {
    console.info("Get value of startup failed, err: " + err)
})

getAll

getAll(callback: AsyncCallback ): void;

返回含有所有鍵值的Object對象。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
callbackAsyncCallback回調函數。返回含有所有鍵值的Object對象。

示例:

preferences.getAll(function (err, value) {
    if (err) {
        console.info("getAll failed, err: " + err)
        return
    }
    let keys = Object.keys(value)
    console.info('getAll keys = ' + keys)
    console.info("getAll object = " + JSON.stringify(value))
});

getAll

getAll(): Promise

返回含有所有鍵值的Object對象。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

返回值:

類型說明
PromisePromise對象。返回含有所有鍵值的Object對象。

示例:

let promise = preferences.getAll()
promise.then((value) = > {
    let keys = Object.keys(value)
    console.info('getAll keys = ' + keys)
    console.info("getAll object = " + JSON.stringify(value))
}).catch((err) = > {
    console.info("getAll failed, err: " + err)
})

put

put(key: string, value: ValueType, callback: AsyncCallback): void

首先獲取指定首選項持久化文件對應的Preferences實例,然后借助Preferences API將數據寫入Preferences實例,通過flush或者flushSync將Preferences實例持久化,該方法使用callback方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
keystring要修改的存儲的key,不能為空。
value[ValueType]存儲的新值。支持number、string、boolean。
callbackAsyncCallback回調函數。

示例:

preferences.put('startup', 'auto', function (err) {
    if (err) {
        console.info("Put value of startup failed, err: " + err)
        return
    }
    console.info("Put value of startup successfully.")
})

put

put(key: string, value: ValueType): Promise

首先獲取指定首選項持久化文件對應的Preferences實例,然后借助Preferences API將數據寫入Preferences實例,通過flush或者flushSync將Preferences實例持久化,該方法使用Promise方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
keystring要修改的存儲的key,不能為空。
value[ValueType]存儲的新值。支持number、string、boolean。

返回值:

類型說明
PromisePromise實例,用于異步處理。

示例:

let promise = preferences.put('startup', 'auto')
promise.then(() = > {
    console.info("Put value of startup successfully.")
}).catch((err) = > {
    console.info("Put value of startup failed, err: " + err)
})

has

has(key: string, callback: AsyncCallback): void

檢查存儲對象是否包含名為給定key的存儲鍵值對,該方法使用callback方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
keystring要檢查的存儲key名稱,不能為空。
callbackAsyncCallback回調函數。返回存儲對象是否包含給定key的存儲鍵值對,true表示存在,false表示不存在。

示例:

preferences.has('startup', function (err, isExist) {
    if (err) {
        console.info("Check the key of startup failed, err: " + err)
        return
    }
    if (isExist) {
        console.info("The key of startup is contained.")
    } else {
        console.info("The key of startup dose not contain.")
    }
})

has

has(key: string): Promise

檢查存儲對象是否包含名為給定key的存儲鍵值對,該方法使用Promise方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
keystring要檢查的存儲key名稱,不能為空。

返回值:

類型說明
PromisePromise對象。返回存儲對象是否包含給定key的存儲鍵值對,true表示存在,false表示不存在。

示例:

let promise = preferences.has('startup')
promise.then((isExist) = > {
    if (isExist) {
        console.info("The key of startup is contained.")
    } else {
        console.info("The key of startup dose not contain.")
    }
}).catch((err) = > {
    console.info("Check the key of startup failed, err: " + err)
})

delete

delete(key: string, callback: AsyncCallback): void

從存儲對象中刪除名為給定key的存儲鍵值對,該方法使用callback方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
keystring要刪除的存儲key名稱,不能為空。
callbackAsyncCallback回調函數。

示例:

preferences.delete('startup', function (err) {
    if (err) {
        console.info("Delete startup key failed, err: " + err)
        return
    }
    console.info("Deleted startup key successfully.")
})

delete

delete(key: string): Promise

從存儲對象刪除名為給定key的存儲鍵值對,該方法使用Promise方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
keystring要刪除的存儲key名稱,不能為空。

返回值:

類型說明
PromisePromise實例,用于異步處理。

示例:

let promise = preferences.delete('startup')
promise.then(() = > {
    console.info("Deleted startup key successfully.")
}).catch((err) = > {
    console.info("Delete startup key failed, err: " + err)
})

flush

flush(callback: AsyncCallback): void

將當前preferences對象中的修改保存到當前的preferences,并異步存儲到首選項持久化文件中,該方法使用callback方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
callbackAsyncCallback回調函數。

示例:

preferences.flush(function (err) {
    if (err) {
        console.info("Flush to file failed, err: " + err)
        return
    }
    console.info("Flushed to file successfully.")
})

flush

flush(): Promise

將當前preferences對象中的修改保存到當前的preferences,并異步存儲到首選項持久化文件中,該方法使用Promise方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

返回值:

類型說明
PromisePromise實例,用于異步處理。

示例:

let promise = preferences.flush()
promise.then(() = > {
    console.info("Flushed to file successfully.")
}).catch((err) = > {
    console.info("Flush to file failed, err: " + err)
})

clear

clear(callback: AsyncCallback): void

清除此存儲對象中的所有存儲,該方法使用callback方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
callbackAsyncCallback回調函數。

示例:

preferences.clear(function (err) {
    if (err) {
        console.info("Clear to file failed, err: " + err)
        return
    }
    console.info("Cleared to file successfully.")
})

clear

clear(): Promise

清除此存儲對象中的所有存儲,該方法使用Promise方式作為異步方法。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

返回值:

類型說明
PromisePromise實例,用于異步處理。

示例:

let promise = preferences.clear()
promise.then(() = > {
    console.info("Cleared to file successfully.")
}).catch((err) = > {
    console.info("Clear to file failed, err: " + err)
})

on('change')

on(type: 'change', callback: Callback<{ key : string }>): void

訂閱數據變更者類,訂閱的key的值發生變更后,在執行flush方法后,callback方法會被回調。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明
typestring事件類型,固定值'change',表示數據變更。
callbackCallback<{ key : string }>回調對象實例。

示例:

data_preferences.getPreferences(this.context, 'mystore', function (err, preferences) {
    if (err) {
        console.info("Get preferences failed.")
        return;
    }
    var observer = function (key) {
        console.info("The key of " + key + " changed.")
    }
    preferences.on('change', observer)
    preferences.put('startup', 'auto', function (err) {
        if (err) {
            console.info("Put the value of startup failed, err: " + err)
            return
        }
        console.info("Put the value of startup successfully.")

        preferences.flush(function (err) {
            if (err) {
                console.info("Flush to file failed, err: " + err)
                return
            }
            console.info("Flushed to file successfully.") // observer will be called.
        })
    })
})

off('change')

off(type: 'change', callback?: Callback<{ key : string }>): void

當不再進行訂閱數據變更時,使用此接口取消訂閱。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

參數:

參數名類型必填說明HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
typestring事件類型,固定值'change',表示數據變更。
callbackCallback<{ key : string }>需要取消的回調對象實例,不填則全部取消。

示例:

data_preferences.getPreferences(this.context, 'mystore', function (err, preferences) {
    if (err) {
        console.info("Get preferences failed.")
        return;
    }
    var observer = function (key) {
        console.info("The key of " + key + " changed.")
    }
    preferences.on('change', observer)
    preferences.put('startup', 'auto', function (err) {
        if (err) {
            console.info("Put the value of startup failed, err: " + err)
            return
        }
        console.info("Put the value of startup successfully.")

        preferences.flush(function (err) {
            if (err) {
                console.info("Flush to file failed, err: " + err)
                return
            }
            console.info("Flushed to file successfully.") // observer will be called.
        })
        preferences.off('change', observer)
    })
})

ValueType

用于表示允許的數據字段類型。

系統能力: SystemCapability.DistributedDataManager.Preferences.Core

名稱說明
number表示值類型為數字。
string表示值類型為字符串。
boolean表示值類型為布爾值。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8694

    瀏覽量

    151931
  • 數據管理
    +關注

    關注

    1

    文章

    300

    瀏覽量

    19680
  • 鴻蒙
    +關注

    關注

    57

    文章

    2392

    瀏覽量

    43061
收藏 人收藏

    評論

    相關推薦

    鴻蒙OS開發實例:【工具類封裝-首選項本地存儲】

    **import dataPreferences from '@ohos.data.preferences'; import bundleManager from '@ohos.bundle.bundleManager';**
    的頭像 發表于 03-28 15:45 ?1890次閱讀
    <b class='flag-5'>鴻蒙</b>OS<b class='flag-5'>開發</b>實例:【工具類封裝-<b class='flag-5'>首選項</b>本地存儲】

    HarmonyOS開發案例:【用戶首選項

    用戶首選項為應用提供Key-Value鍵值型的數據處理能力,支持應用持久化輕量級數據,常用于保存應用配置信息、用戶偏好設置等。本篇Codelab將基于用戶首選項實現一個簡單的
    的頭像 發表于 04-18 15:34 ?1025次閱讀
    HarmonyOS<b class='flag-5'>開發</b>案例:【用戶<b class='flag-5'>首選項</b>】

    HarmonyOS開發案例:【首選項

    基于HarmonyOS的首選項能力實現的一個簡單示例。
    的頭像 發表于 04-19 16:20 ?1324次閱讀
    HarmonyOS<b class='flag-5'>開發</b>案例:【<b class='flag-5'>首選項</b>】

    鴻蒙實戰項目開發:【短信服務】

    數據管理 電話服務 分布式應用開發 通知與窗口管理 多媒體技術 安全技能 任務管理 WebGL 國際化開發 應用測試 DFX面向未來設計
    發表于 03-03 21:29

    基于鴻蒙Next模擬卡片數據數據更新

    \'@ohos.data.preferences\'; import common from \'@ohos.app.ability.common\'; import abilityAccessCtrl
    發表于 08-30 15:32

    鴻蒙Flutter實戰:06-使用ArkTs開發Flutter鴻蒙插件

    ,setPrefs沒有返回值。 以下為 ForestApi的具體實現,使用了 HarmonyOS 中的首選項 API 設置和讀取數據。 class ForestApi { getPrefs(key
    發表于 10-22 21:56

    如何設置Xilinx ISE首選項11.x 12.x的默認值

    可能是一個新手問題,我們有一個配置允許不同版本的附加工具,如modelsim,synplicity。我們想知道是否有辦法告訴Xilinx默認使用什么。具體來說,我們有興趣設置以下值: 首選項
    發表于 11-15 11:29

    查看首選項未保存, 如何保存設置?

    您好,我想把論壇中的帖子看成“平面閱讀模式”而不是“線程閱讀模式”。所以我轉到用戶控制面板,編輯配置文件,特性首選項,查看首選項,并將其設置為“平面”,然后單擊“保存配置文件”。如果我移動到其他
    發表于 09-11 12:08

    數據管理功能詳解

    在應用程序菜單上,單擊設置→選項管理,勾選使用浩辰3D軟件的數據管理。在管理頁面上,可以通過選項卡來快速搜索保管庫定義、定制屬性、文件命名
    發表于 11-03 15:32

    OpenHarmony標準設備應用開發(三)——分布式數據管理

    /js-apis-distributed-data.md數據分布式運作示意圖,如下所示。實現步驟:分布式數據管理依賴 @ohos.data.distributedData 模塊實現,詳
    發表于 04-07 18:48

    ESP8266/ARDUINO構建H找不到首選項怎么解決?

    大家好!我對運行 Arduino 核心的 ESP32 有一些扎實的經驗,并且一直在使用首選項庫來存儲,你猜對了,首選項,到該平臺上的 NVS。這是一個簡單而順利的過程。我正在嘗試將我的代碼移植到運行
    發表于 02-21 07:44

    HarmonyOS數據管理與應用數據持久化(一)

    。 開發步驟 導入用戶首選項模塊。 import dataPreferences from \'@ohos.data.preferences\'; 要通過用戶首選項實現
    發表于 11-01 16:27

    鴻蒙開發接口數據管理:【@ohos.data.distributedData (分布式數據管理)】

    分布式數據管理為應用程序提供不同設備間數據庫的分布式協同能力。通過調用分布式數據各個接口,應用程序可將數據保存到分布式
    的頭像 發表于 06-07 09:30 ?1073次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>接口</b><b class='flag-5'>數據管理</b>:【@<b class='flag-5'>ohos.data</b>.distributedData (分布式<b class='flag-5'>數據管理</b>)】

    鴻蒙開發接口數據管理:【@ohos.data.distributedDataObject (分布式數據對象)】

    本模塊提供管理基本數據對象的相關能力,包括創建、查詢、刪除、修改、訂閱等;同時支持相同應用多設備間的分布式數據對象協同能力。
    的頭像 發表于 06-07 17:51 ?1552次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>接口</b><b class='flag-5'>數據管理</b>:【@<b class='flag-5'>ohos.data</b>.distributedDataObject (分布式<b class='flag-5'>數據</b>對象)】

    鴻蒙開發接口數據管理:【@ohos.data.rdb (關系型數據庫)】

    關系型數據庫(Relational Database,RDB)是一種基于關系模型來管理數據數據庫。關系型數據庫基于SQLite組件提供了一
    的頭像 發表于 06-10 18:35 ?1422次閱讀
    主站蜘蛛池模板: 精品三级视频 | 桃花岛亚洲精品tv自拍网站 | 黑人一区二区三区中文字幕 | 国产午夜精品福利久久 | 人人爽影院 | 美女又黄又www | 青草久操| 久久综合九色 | 在线观看日本亚洲一区 | 日韩一级欧美一级 | 婷婷五月在线视频 | 午夜看片网址 | 中文字幕在线播放第一页 | 玖玖玖精品视频免费播放 | 国产三级在线播放 | 这里只有精品视频 | 国产精品久久久久久久久久影院 | 亚洲五月六月丁香激情 | 欧美色视频超清在线观看 | 国产性老妇女做爰在线 | 视频高清正版在线观看 | 永久免费看的啪啪网站 | 中国china体内裑精亚洲毛片 | 狠狠色丁香婷婷综合久久片 | 亚洲午夜精品在线 | 日本黄色片段 | 国产资源在线视频 | 色偷偷888欧美精品久久久 | 美女扒开尿口给男人桶爽视频 | 婷婷 夜夜 | 在线观看黄色x视频 | 日本一区高清视频 | 天天天天做夜夜夜夜 | www.最色| 在线观看不卡一区 | 国内精品99| 国产成年网站v片在线观看 国产成人91青青草原精品 | 天堂网中文在线最新版 | 夜夜操天天操 | 69er小视频| 亚洲成人www |