Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
1a01a954
D
Docs
项目概览
OpenHarmony
/
Docs
12 个月 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1a01a954
编写于
7月 04, 2022
作者:
L
li_juntao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改preference innerkit接口描述
Signed-off-by:
N
li_juntao
<
lijuntao9@huawei.com
>
上级
d5c206f1
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
12 addition
and
14 deletion
+12
-14
zh-cn/device-dev/subsystems/subsys-data-storage-guide.md
zh-cn/device-dev/subsystems/subsys-data-storage-guide.md
+12
-14
未找到文件。
zh-cn/device-dev/subsystems/subsys-data-storage-guide.md
浏览文件 @
1a01a954
...
...
@@ -43,12 +43,12 @@
| 类名 | 方法名 | 描述 |
| --- | ----- | ----|
| Preferences | bool GetBool(const std::string &key, bool defValue); | key:要获取的存储key名称,不能为空。
<br/>
defValue:若获取失败或value不存在返回此默认值。
<br/>
返回值:value。 |
| Preferences | std::string GetString(const std::string &key, const std::string
&defValue);
| key:要获取的存储key名称,不能为空。
<br/>
defValue:若获取失败或value不存在返回此默认值。
<br/>
返回值:value。 |
| Preferences | bool GetBool(const std::string &key,
bool defValue
); | key:要获取的存储key名称,不能为空。
<br/>
defValue:若获取失败或value不存在返回此默认值。
<br/>
返回值:value。 |
| Preferences | float GetFloat(const std::string &key,
float defValue
); | key:要获取的存储key名称,不能为空。
<br/>
defValue:若获取失败或value不存在返回此默认值。
<br/>
返回值:value。 |
| Preferences | double GetDouble(const std::string &key,
double defValue
); | key:要获取的存储key名称,不能为空。
<br/>
defValue:若获取失败或value不存在返回此默认值。
<br/>
返回值:value。 |
| Preferences | int64_t GetLong(const std::string &key,
int64_t defValue
); | key:要获取的存储key名称,不能为空。
<br/>
defValue:若获取失败或value不存在返回此默认值。
<br/>
返回值:value。 |
| Preferences | std::set
\<
std::string
\>
GetStringSet(const std::string &key,
std::set
\<
std::string
\>
&defValue
);
| key:要获取的存储key名称,不能为空。
<br/>
defValue:若获取失败或value不存在返回此默认值。
<br/>
返回值:value。 |
| Preferences | std::string GetString(const std::string &key, const std::string &defValue
= {}
); | key:要获取的存储key名称,不能为空。
<br/>
defValue:若获取失败或value不存在返回此默认值。
<br/>
返回值:value。 |
| Preferences | bool GetBool(const std::string &key,
const bool &defValue = {}
); | key:要获取的存储key名称,不能为空。
<br/>
defValue:若获取失败或value不存在返回此默认值。
<br/>
返回值:value。 |
| Preferences | float GetFloat(const std::string &key,
const float &defValue = {}
); | key:要获取的存储key名称,不能为空。
<br/>
defValue:若获取失败或value不存在返回此默认值。
<br/>
返回值:value。 |
| Preferences | double GetDouble(const std::string &key,
const double &defValue = {}
); | key:要获取的存储key名称,不能为空。
<br/>
defValue:若获取失败或value不存在返回此默认值。
<br/>
返回值:value。 |
| Preferences | int64_t GetLong(const std::string &key,
const int64_t &defValue = {}
); | key:要获取的存储key名称,不能为空。
<br/>
defValue:若获取失败或value不存在返回此默认值。
<br/>
返回值:value。 |
| Preferences | std::set
\<
std::string
\>
GetStringSet(const std::string &key,
const std::set
\<
std::string
\>
&defValue = {}
); | key:要获取的存储key名称,不能为空。
<br/>
defValue:若获取失败或value不存在返回此默认值。
<br/>
返回值:value。 |
**数据持久化**
...
...
@@ -122,14 +122,13 @@
5.
数据持久化。
应用存入数据到Preferences实例后,可以通过
flush或者flushSync
方法将Preferences实例回写到文件中。
应用存入数据到Preferences实例后,可以通过
Flush()或者FlushSync()
方法将Preferences实例回写到文件中。
```C++
int err = pref->FlushSync();
EXPECT_EQ(ret, E_OK);
```
6.
订阅数据变化。
应用订阅数据变化需要指定PreferencesObserver作为回调方法。订阅的key的值发生变更后,当执行flush或者flushSync方法时,PreferencesObserver被触发回调。不再需要PreferencesObserver时请注销。
...
...
@@ -144,7 +143,7 @@
std::atomic_int notifyTimes;
static const std::vector<std::string> NOTIFY_KEYS_VECTOR;
};
PreferencesObserverCounter::~PreferencesObserverCounter() {}
void PreferencesObserverCounter::OnChange(Preferences &preferences, const std::string &key)
...
...
@@ -156,7 +155,7 @@
}
}
}
const std::vector<std::string> PreferencesObserverCounter::NOTIFY_KEYS_VECTOR = { PreferencesTest::KEY_TEST_INT_ELEMENT,
PreferencesTest::KEY_TEST_LONG_ELEMENT, PreferencesTest::KEY_TEST_FLOAT_ELEMENT,
PreferencesTest::KEY_TEST_BOOL_ELEMENT, PreferencesTest::KEY_TEST_STRING_ELEMENT };
...
...
@@ -167,17 +166,17 @@
std::shared_ptr<PreferencesObserver> counter =
std::make_shared<PreferencesObserverCounter>();
pref->RegisterObserver(counter); // 注册数据变化的回调。
pref->PutString(PreferencesTest::KEY_TEST_STRING_ELEMENT, "test");
pref->Flush(); // 触发执行counter的onChanged回调方法。
EXPECT_EQ(static_cast<PreferencesObserverCounter *>(counter.get())->notifyTimes, 1);
/* same value */
pref->PutInt(PreferencesTest::KEY_TEST_INT_ELEMENT, 2);
pref->PutString(PreferencesTest::KEY_TEST_STRING_ELEMENT, "test");
pref->Flush();
EXPECT_EQ(static_cast<PreferencesObserverCounter *>(counter.get())->notifyTimes, 2);
pref->UnRegisterObserver(counter); // 注销注册数据变化的回调。
```
...
...
@@ -192,4 +191,3 @@
EXPECT_EQ(ret, E_OK);
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录