精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

鴻蒙語言基礎類庫:ohos.data.storage 輕量級存儲

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-07-15 18:21 ? 次閱讀

輕量級存儲

輕量級存儲為應用提供key-value鍵值型的文件數據處理能力,支持應用對數據進行輕量級存儲及查詢。數據存儲形式為鍵值對,鍵的類型為字符串型,值的存儲數據類型包括數字型、字符型、布爾型。

說明:
開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

  • 本模塊首批接口從API version 6開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。
  • 從API Version 9開始,該接口不再維護,推薦使用新接口[@ohos.data.preferences]。

導入模塊

import data_storage from '@ohos.data.storage';

常量

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

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

data_storage.getStorageSync

getStorageSync(path: string): Storage

讀取指定文件,將數據加載到Storage實例,用于數據操作。

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

參數:

參數名類型必填說明
pathstring應用程序內部數據存儲路徑。

返回值:

類型說明
[Storage]獲取到要操作的Storage實例,用于進行數據存儲操作。

示例:

import data_storage from '@ohos.data.storage'

let path = '/data/storage/el2/database'
let storage = data_storage.getStorageSync(path + '/mystore')
storage.putSync('startup', 'auto')
storage.flushSync()

data_storage.getStorage

getStorage(path: string, callback: AsyncCallback): void

讀取指定文件,將數據加載到Storage實例,用于數據操作,使用callback方式返回結果,此方法為異步方法。

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

參數:

參數名類型必填說明
pathstring應用程序內部數據存儲路徑。
callbackAsyncCallback<[Storage]>回調函數。

示例:

import data_storage from '@ohos.data.storage'

let path = '/data/storage/el2/database'
data_storage.getStorage(path + '/mystore', function (err, storage) {
    if (err) {
        console.info("Get the storage failed, path: " + path + '/mystore')
        return;
    }
    storage.putSync('startup', 'auto')
    storage.flushSync()
})

data_storage.getStorage

getStorage(path: string): Promise

讀取指定文件,將數據加載到Storage實例,用于數據操作,使用Promise方式返回結果,此方法為異步方法。

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

參數:

參數名類型必填說明
pathstring應用程序內部數據存儲路徑。

返回值:

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

示例:

import data_storage from '@ohos.data.storage'

let path = '/data/storage/el2/database'

let getPromise = data_storage.getStorage(path + '/mystore')
getPromise.then((storage) = > {
    storage.putSync('startup', 'auto')
    storage.flushSync()
}).catch((err) = > {
    console.info("Get the storage failed, path: " + path + '/mystore')
})

data_storage.deleteStorageSync

deleteStorageSync(path: string): void

從內存中移除指定文件對應的Storage單實例,并刪除指定文件及其備份文件、損壞文件。刪除指定文件時,應用不允許再使用該實例進行數據操作,否則會出現數據一致性問題。

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

參數:

參數名類型必填說明
pathstring應用程序內部數據存儲路徑。

示例:

let path = '/data/storage/el2/database'
data_storage.deleteStorageSync(path + '/mystore')

data_storage.deleteStorage

deleteStorage(path: string, callback: AsyncCallback): void

從內存中移除指定文件對應的Storage單實例,并刪除指定文件及其備份文件、損壞文件。刪除指定文件時,應用不允許再使用該實例進行數據操作,否則會出現數據一致性問題,使用callback方式返回結果,此方法為異步方法。

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

參數:

參數名類型必填說明
pathstring應用程序內部數據存儲路徑。
callbackAsyncCallback回調函數。

示例:

let path = '/data/storage/el2/database'
data_storage.deleteStorage(path + '/mystore', function (err) {
    if (err) {
        console.info("Deleted failed with err: " + err)
        return
    }
    console.info("Deleted successfully.")
})

data_storage.deleteStorage

deleteStorage(path: string): Promise

從內存中移除指定文件對應的Storage單實例,并刪除指定文件及其備份文件、損壞文件。刪除指定文件時,應用不允許再使用該實例進行數據操作,否則會出現數據一致性問題,使用promise方式返回結果,此方法為異步方法。

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

參數:

參數名類型必填說明
pathstring應用程序內部數據存儲路徑。

返回值:

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

示例:

let path = '/data/storage/el2/database'
let promisedelSt = data_storage.deleteStorage(path + '/mystore')
promisedelSt.then(() = > {
    console.info("Deleted successfully.")
}).catch((err) = > {
    console.info("Deleted failed with err: " + err)
})

data_storage.removeStorageFromCacheSync

removeStorageFromCacheSync(path: string): void

從內存中移除指定文件對應的Storage單實例。移除Storage單實例時,應用不允許再使用該實例進行數據操作,否則會出現數據一致性問題。

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

參數:

參數名類型必填說明
pathstring應用程序內部數據存儲路徑。

示例:

let path = '/data/storage/el2/database'
data_storage.removeStorageFromCacheSync(path + '/mystore')

data_storage.removeStorageFromCache

removeStorageFromCache(path: string, callback: AsyncCallback): void

從內存中移除指定文件對應的Storage單實例。移除Storage單實例時,應用不允許再使用該實例進行數據操作,否則會出現數據一致性問題。使用callback方式返回結果,此方法為異步方法。

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

參數:

參數名類型必填說明
pathstring應用程序內部數據存儲路徑。
callbackAsyncCallback回調函數。

示例:

let path = '/data/storage/el2/database'
data_storage.removeStorageFromCache(path + '/mystore', function (err) {
    if (err) {
        console.info("Removed storage from cache failed with err: " + err)
        return
    }
    console.info("Removed storage from cache successfully.")
})

data_storage.removeStorageFromCache

removeStorageFromCache(path: string): Promise

從內存中移除指定文件對應的Storage單實例。移除Storage單實例時,應用不允許再使用該實例進行數據操作,否則會出現數據一致性問題。使用Promise方式返回結果,此方法為異步方法。

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

參數:

參數名類型必填說明
pathstring應用程序內部數據存儲路徑。

返回值:

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

示例:

let path = '/data/storage/el2/database'
let promiserevSt = data_storage.removeStorageFromCache(path + '/mystore')
promiserevSt.then(() = > {
    console.info("Removed storage from cache successfully.")
}).catch((err) = > {
    console.info("Removed storage from cache failed with err: " + err)
})

Storage

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

getSync

getSync(key: string, defValue: ValueType): ValueType

獲取鍵對應的值,如果值為null或者非默認值類型,返回默認數據。

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

參數:

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

返回值:

類型說明
ValueType鍵對應的值,如果值為null或者非默認值類型,返回默認數據。

示例:

let value = storage.getSync('startup', 'default')
console.info("The value of startup is " + value)

get

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

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

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

參數:

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

示例:

storage.get('startup', 'default', function(err, value) {
    if (err) {
        console.info("Get the value of startup failed with err: " + err)
        return
    }
    console.info("The 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 promiseget = storage.get('startup', 'default')
promiseget.then((value) = > {
    console.info("The value of startup is " + value)
}).catch((err) = > {
    console.info("Get the value of startup failed with err: " + err)
})

putSync

putSync(key: string, value: ValueType): void

首先獲取指定文件對應的Storage實例,然后借助Storage API將數據寫入Storage實例,通過flush或者flushSync將Storage實例持久化。

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

參數:

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

示例:

storage.putSync('startup', 'auto')

put

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

首先獲取指定文件對應的Storage實例,然后借助Storage API將數據寫入Storage實例,通過flush或者flushSync將Storage實例持久化。使用callback方式返回結果,此方法為異步方法。

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

參數:

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

示例:

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

put

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

首先獲取指定文件對應的Storage實例,然后借助Storage API將數據寫入Storage實例,通過flush或者flushSync將Storage實例持久化。使用Promise方式返回結果,此方法為異步方法。

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

參數:

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

返回值:

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

示例:

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

hasSync

hasSync(key: string): boolean

檢查存儲對象是否包含名為給定key的存儲。

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

參數:

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

返回值:

類型說明
booleantrue 表示存在,false表示不存在。

示例:

let isExist = storage.hasSync('startup')
if (isExist) {
    console.info("The key of startup is contained.")
}

has

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

檢查存儲對象是否包含名為給定key的存儲。使用callback方式返回結果,此方法為異步方法。

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

參數:

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

返回值:

類型說明
booleantrue表示存在,false表示不存在。

示例:

storage.has('startup', function (err, isExist) {
    if (err) {
        console.info("Check the key of startup failed with err: " + err)
        return
    }
    if (isExist) {
        console.info("The key of startup is contained.")
    }
})

has

has(key: string): Promise

檢查存儲對象是否包含名為給定key的存儲。使用Promise方式返回結果,此方法為異步方法。

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

參數:

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

返回值:

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

示例:

let promisehas = storage.has('startup')
promisehas.then((isExist) = > {
    if (isExist) {
        console.info("The key of startup is contained.")
    }
}).catch((err) = > {
    console.info("Check the key of startup failed with err: " + err)
})

deleteSync

deleteSync(key: string): void

從存儲對象中刪除名為給定key的存儲。

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

參數:

參數名類型必填說明
keystring要獲取的存儲key名稱。它不能為空。

示例:

storage.deleteSync('startup')

delete

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

從存儲對象中刪除名為給定key的存儲。使用callback方式返回結果,此方法為異步方法。

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

參數:

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

示例:

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

delete

delete(key: string): Promise

從存儲對象刪除名為給定key的存儲。使用Promise方式返回結果,此方法為異步方法。

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

參數:

參數名類型必填說明
keystring要獲取的存儲key名稱。

返回值:

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

示例:

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

flushSync

flushSync(): void

將當前storage對象中的修改保存到當前的storage,并同步存儲到文件中。

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

示例:

storage.flushSync()

flush

flush(callback: AsyncCallback): void

將當前storage對象中的修改保存到當前的storage,并異步存儲到文件中。使用callback方式返回結果,此方法為異步方法。

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

參數:

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

示例:

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

flush

flush(): Promise

將當前storage對象中的修改保存到當前的storage,并異步存儲到文件中。使用Promise方式返回結果,此方法為異步方法。

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

返回值:

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

示例:

let promiseflush = storage.flush()
promiseflush.then(() = > {
    console.info("Flushed to file successfully.")
}).catch((err) = > {
    console.info("Flush to file failed with err: " + err)
})

clearSync

clearSync(): void

清除此存儲對象中的所有存儲。

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

示例:

storage.clearSync()

clear

clear(callback: AsyncCallback): void

清除此存儲對象中的所有存儲。使用callback方式返回結果,此方法為異步方法。

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

參數:

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

示例:

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

clear

clear(): Promise

清除此存儲對象中的所有存儲。使用Promise方式返回結果,此方法為異步方法。

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

返回值:

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

示例:

let promiseclear = storage.clear()
promiseclear.then(() = > {
    console.info("Cleared to file successfully.")
}).catch((err) = > {
    console.info("Clear to file failed with err: " + err)
})

on('change')

on(type: 'change', callback: Callback): void

訂閱數據變更者類需要實現StorageObserver接口,訂閱的key的值發生變更后,在執行flush/flushSync方法后,callback方法會被回調。

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

參數:

參數名類型說明
typestring事件類型,固定值'change',表示數據變更。
callbackCallback<[StorageObserver]>回調對象實例。

示例:

var observer = function (key) {
    console.info("The key of " + key + " changed.")
}
storage.on('change', observer)
storage.putSync('startup', 'auto')
storage.flushSync()  // observer will be called.

off('change')

off(type: 'change', callback: Callback): void

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

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

參數:

參數名類型說明
typestring事件類型,固定值'change',表示數據變更。
callbackCallback<[StorageObserver]>需要取消的回調對象實例。

示例:

var observer = function (key) {
    console.info("The key of " + key + " changed.")
}
storage.off('change', observer)

StorageObserver

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

名稱參數類型必填說明HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
keystring變更的數據內容。

ValueType

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

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

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

審核編輯 黃宇

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

    關注

    13

    文章

    4266

    瀏覽量

    85685
  • 鴻蒙
    +關注

    關注

    57

    文章

    2321

    瀏覽量

    42749
收藏 人收藏

    評論

    相關推薦

    輕量級的ui框架如何去制作

    原創分享:自制輕量級單片機UI框架框架元素用戶接口代碼開源平時常看csdn,但是從來沒有自己寫過。正好這幾天需要用單片機做一個簡易的ui界面,于是自己寫了一個輕量級的ui框架。發個csdn分享給大家
    發表于 07-14 07:39

    木棉花:輕量級偏好數據學習筆記--沈泳鑫

    本帖最后由 jf_62992433 于 2021-9-5 10:33 編輯 前言 為了更好地熟練掌握鴻蒙手機應用開發,深圳大學木棉花今天就帶來輕量級偏好數據的學習筆記,供大家更好的學習
    發表于 09-04 14:30

    基于輕量級偏好數據,實現存儲在本地應用數據的訪問及操作

    1. 介紹輕量級偏好數據輕量級存儲,主要用于保存應用的一些常用配置。它是使用鍵值對的形式來存儲數據的,保存數據時,需要給這條數據提供一個
    發表于 10-09 14:43

    一種超輕量級的flashKV數據存儲方案分享

    tinyFlash一種超輕量級的flash KV數據存儲方案Github 地址:https://github.com/ospanic/tinyFlash設計原理本方案采用兩個扇區輪流使用的方法存儲
    發表于 12-20 06:08

    深度剖析OpenHarmony輕量級數據存儲

    一、輕量級數據存儲的版本openharmony的輕量級數據存儲現有兩個版本,但是harmonyOS的官網上只有一個輕量級數據
    發表于 03-31 14:45

    HarmonyOS應用API-輕量級數據庫開發

    調用相關的接口import dataStorage from '@ohos.data.storage';import featureAbility from
    發表于 10-15 15:44

    用于openharmony的輕量級、簡單的結構化NoSQL數據

    用于openharmony的輕量級、簡單的結構化 NoSQL 數據。 下載 依賴項{ 實現“io.openharmony.tpc.thirdlib:ohos-NoSql:1.0.0” } 將數據
    發表于 04-13 10:05 ?2次下載

    一款適合初學者超輕量級C語言網絡—Dyad

    Dyad 是一個基于 C 語言的異步網絡,旨在輕量級、可移植和易用。它既可用于創建小型獨立服務器,也可用于為現有的項目提供網絡支持。
    的頭像 發表于 10-10 14:33 ?1881次閱讀
    一款適合初學者超<b class='flag-5'>輕量級</b>C<b class='flag-5'>語言</b>網絡<b class='flag-5'>庫</b>—Dyad

    TinyDB輕量級數據庫有哪些特點呢

    TinyDB 是一個純 Python 編寫的輕量級數據庫,一共只有1800行代碼,沒有外部依賴項。
    的頭像 發表于 10-28 14:07 ?1425次閱讀

    PSoC NeoPixel Easy輕量級

    電子發燒友網站提供《PSoC NeoPixel Easy輕量級.zip》資料免費下載
    發表于 11-17 09:48 ?0次下載
    PSoC NeoPixel Easy<b class='flag-5'>輕量級</b><b class='flag-5'>庫</b>

    LSI存儲機構輕量級監視器用戶指南

    電子發燒友網站提供《LSI存儲機構輕量級監視器用戶指南.pdf》資料免費下載
    發表于 08-24 14:25 ?0次下載
    LSI<b class='flag-5'>存儲</b>機構<b class='flag-5'>輕量級</b>監視器用戶指南

    輕量級數據庫有哪些

    輕量級數據庫有哪些 隨著互聯網和物聯網等新一代信息技術的廣泛應用,數據系統也變得越來越重要。人們對于數據數據的可靠性、安全性和性能等要求也越來越高。與傳統的關系型數據
    的頭像 發表于 08-28 16:41 ?5890次閱讀

    輕量級數據庫有哪些類型

    關系型數據是目前最常見的數據類型,它將數據以表的形式存儲,并使用SQL語言進行數據的管理和查詢。雖然關系型數據通常較為龐大和復雜,但
    的頭像 發表于 12-20 11:29 ?1199次閱讀

    鴻蒙OpenHarmony大合集:【語言基礎

    本示例集合語言基礎的各個子模塊,展示了各個模塊的基礎功能
    的頭像 發表于 04-29 16:38 ?545次閱讀
    <b class='flag-5'>鴻蒙</b>OpenHarmony大合集:【<b class='flag-5'>語言</b>基礎<b class='flag-5'>類</b><b class='flag-5'>庫</b>】

    EEPROM輕量級的簡易文件的數據讀寫:EEPROMFS

    小。 這里就給大家分享一款EEPROM輕量級的簡易文件的數據讀寫:EEPROMFS 1 關于EEPROMFS EEPROMFS,基于EEPROM的簡易文件的數據讀寫
    的頭像 發表于 11-15 16:31 ?305次閱讀
    EEPROM<b class='flag-5'>輕量級</b>的簡易<b class='flag-5'>類</b>文件的數據讀寫<b class='flag-5'>庫</b>:EEPROMFS