• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# oh_preferences_value.h
2<!--Kit: ArkData-->
3<!--Subsystem: DistributedDataManager-->
4<!--Owner: @yanhuii-->
5<!--Designer: @houpengtao1-->
6<!--Tester: @yippo; @logic42-->
7<!--Adviser: @ge-yafang-->
8
9## 概述
10
11提供访问Preferences值(PreferencesValue)对象的接口、枚举类型与数据结构。
12
13**引用文件:** <database/preferences/oh_preferences_value.h>
14
15**库:** libohpreferences.so
16
17**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
18
19**起始版本:** 13
20
21**相关模块:** [Preferences](capi-preferences.md)
22
23## 汇总
24
25### 结构体
26
27| 名称                                               | typedef关键字       | 描述                                  |
28| -------------------------------------------------- | ------------------- | ------------------------------------- |
29| [OH_PreferencesPair](capi-preferences-oh-preferencespair.md)   | OH_PreferencesPair  | 定义Preferences使用的KV数据对象类型。 |
30| [OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md) | OH_PreferencesValue | 定义PreferencesValue对象类型。        |
31
32### 枚举
33
34| 名称                                          | typedef关键字        | 描述                             |
35| --------------------------------------------- | -------------------- | -------------------------------- |
36| [Preference_ValueType](#preference_valuetype) | Preference_ValueType | 定义PreferencesValue的数据类型。 |
37
38### 函数
39
40| 名称                                                         | 描述                                                         |
41| ------------------------------------------------------------ | ------------------------------------------------------------ |
42| [const char *OH_PreferencesPair_GetKey(const OH_PreferencesPair *pairs, uint32_t index)](#oh_preferencespair_getkey) | 获取KV数据中索引对应数据的键。                               |
43| [const OH_PreferencesValue *OH_PreferencesPair_GetPreferencesValue(const OH_PreferencesPair *pairs, uint32_t index)](#oh_preferencespair_getpreferencesvalue) | 获取KV数据数组中索引对应的值。                               |
44| [Preference_ValueType OH_PreferencesValue_GetValueType(const OH_PreferencesValue *object)](#oh_preferencesvalue_getvaluetype) | 获取PreferencesValue对象的数据类型。                         |
45| [int OH_PreferencesValue_GetInt(const OH_PreferencesValue *object, int *value)](#oh_preferencesvalue_getint) | 从PreferencesValue对象[OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md)中获取一个整型值。 |
46| [int OH_PreferencesValue_GetBool(const OH_PreferencesValue *object, bool *value)](#oh_preferencesvalue_getbool) | 从PreferencesValue对象[OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md)中获取一个布尔值。 |
47| [int OH_PreferencesValue_GetString(const OH_PreferencesValue *object, char **value, uint32_t *valueLen)](#oh_preferencesvalue_getstring) | 从PreferencesValue对象[OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md)中获取字符串。 |
48
49## 枚举类型说明
50
51### Preference_ValueType
52
53```
54enum Preference_ValueType
55```
56
57**描述**
58
59定义PreferencesValue的数据类型。
60
61**起始版本:** 13
62
63| 枚举项                   | 描述         |
64| ------------------------ | ------------ |
65| PREFERENCE_TYPE_NULL = 0 | 空类型。     |
66| PREFERENCE_TYPE_INT      | 整型类型。   |
67| PREFERENCE_TYPE_BOOL     | 布尔类型。   |
68| PREFERENCE_TYPE_STRING   | 字符串类型。 |
69| PREFERENCE_TYPE_BUTT     | 结束类型。   |
70
71
72## 函数说明
73
74### OH_PreferencesPair_GetKey()
75
76```
77const char *OH_PreferencesPair_GetKey(const OH_PreferencesPair *pairs, uint32_t index)
78```
79
80**描述**
81
82获取KV数据中索引对应数据的键。
83
84**起始版本:** 13
85
86
87**参数:**
88
89| 参数项                                                       | 描述                                                         |
90| ------------------------------------------------------------ | ------------------------------------------------------------ |
91| const [OH_PreferencesPair](capi-preferences-oh-preferencespair.md) *pairs | 目标KV数据[OH_PreferencesPair](capi-preferences-oh-preferencespair.md)的指针。 |
92| uint32_t index                                               | 目标KV数据[OH_PreferencesPair](capi-preferences-oh-preferencespair.md)的索引值。 |
93
94**返回:**
95
96| 类型         | 说明                                                         |
97| ------------ | ------------------------------------------------------------ |
98| const char * | 如果操作成功,返回获取到的键的指针。操作失败或传参不合法返回空指针。 |
99
100### OH_PreferencesPair_GetPreferencesValue()
101
102```
103const OH_PreferencesValue *OH_PreferencesPair_GetPreferencesValue(const OH_PreferencesPair *pairs, uint32_t index)
104```
105
106**描述**
107
108获取KV数据数组中索引对应的值。
109
110**起始版本:** 13
111
112
113**参数:**
114
115| 参数项                                                       | 描述                                                         |
116| ------------------------------------------------------------ | ------------------------------------------------------------ |
117| const [OH_PreferencesPair](capi-preferences-oh-preferencespair.md) *pairs | 目标KV数据[OH_PreferencesPair](capi-preferences-oh-preferencespair.md)的指针。 |
118| uint32_t index                                               | 目标KV数据[OH_PreferencesPair](capi-preferences-oh-preferencespair.md)的索引值。 |
119
120**返回:**
121
122| 类型                                                     | 说明                                                         |
123| -------------------------------------------------------- | ------------------------------------------------------------ |
124| const [OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md) | 如果操作成功,返回获取到的值对象的指针。操作失败或传参不合法返回空指针。 |
125
126
127### OH_PreferencesValue_GetValueType()
128
129```
130Preference_ValueType OH_PreferencesValue_GetValueType(const OH_PreferencesValue *object)
131```
132
133**描述**
134
135获取PreferencesValue对象的数据类型。
136
137**起始版本:** 13
138
139
140**参数:**
141
142| 参数项                                                       | 描述                                                         |
143| ------------------------------------------------------------ | ------------------------------------------------------------ |
144| const [OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md) *object | 对象[OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md)的指针。 |
145
146**返回:**
147
148| 类型                                          | 说明                                                         |
149| --------------------------------------------- | ------------------------------------------------------------ |
150| [Preference_ValueType](#preference_valuetype) | 返回获取到的数据类型枚举。若返回数据类型枚举为PREFERENCE_TYPE_NULL,代表传参不合法。 |
151
152### OH_PreferencesValue_GetInt()
153
154```
155int OH_PreferencesValue_GetInt(const OH_PreferencesValue *object, int *value)
156```
157
158**描述**
159
160从PreferencesValue对象[OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md)中获取一个整型值。
161
162**起始版本:** 13
163
164
165**参数:**
166
167| 参数项                                                       | 描述                                                         |
168| ------------------------------------------------------------ | ------------------------------------------------------------ |
169| const [OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md) *object | 对象[OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md)的指针。 |
170| int *value                                                   | 该参数作为出参使用,表示指向获取到的整型值的指针。           |
171
172**返回:**
173
174| 类型 | 说明                                                         |
175| ---- | ------------------------------------------------------------ |
176| int  | 返回执行的错误码。<br>若错误码为PREFERENCES_OK,表示操作成功。<br>若错误码为PREFERENCES_ERROR_INVALID_PARAM,表示参数不合法。<br>若错误码为PREFERENCES_ERROR_STORAGE,表示存储异常。<br>若错误码为PREFERENCES_ERROR_MALLOC,表示内存分配失败。 |
177
178### OH_PreferencesValue_GetBool()
179
180```
181int OH_PreferencesValue_GetBool(const OH_PreferencesValue *object, bool *value)
182```
183
184**描述**
185
186从PreferencesValue对象[OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md)中获取一个布尔值。
187
188**起始版本:** 13
189
190
191**参数:**
192
193| 参数项                                                       | 描述                                                         |
194| ------------------------------------------------------------ | ------------------------------------------------------------ |
195| const [OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md) *object | 对象[OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md)的指针。 |
196| bool *value                                                  | 该参数作为出参使用,表示指向获取到的布尔值的指针。           |
197
198**返回:**
199
200| 类型 | 说明                                                         |
201| ---- | ------------------------------------------------------------ |
202| int  | 返回执行的错误码。<br>若错误码为PREFERENCES_OK,表示操作成功。<br>若错误码为PREFERENCES_ERROR_INVALID_PARAM,表示参数不合法。<br>若错误码为PREFERENCES_ERROR_STORAGE,表示存储异常。<br>若错误码为PREFERENCES_ERROR_MALLOC,表示内存分配失败。 |
203
204### OH_PreferencesValue_GetString()
205
206```
207int OH_PreferencesValue_GetString(const OH_PreferencesValue *object, char **value, uint32_t *valueLen)
208```
209
210**描述**
211
212从PreferencesValue对象[OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md)中获取字符串。
213
214**起始版本:** 13
215
216
217**参数:**
218
219| 参数项                                                       | 描述                                                         |
220| ------------------------------------------------------------ | ------------------------------------------------------------ |
221| const [OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md) *object | 对象[OH_PreferencesValue](capi-preferences-oh-preferencesvalue.md)的指针。 |
222| char **value                                                 | 该参数作为出参使用,表示指向获取到的字符串的二级指针,使用完毕后需要调用释放函数[OH_Preferences_FreeString](capi-oh-preferences-h.md#oh_preferences_freestring)释放内存。 |
223| uint32_t *valueLen                                           | 该参数作为出参使用,表示指向获取到的字符串长度的指针。       |
224
225**返回:**
226
227| 类型 | 说明                                                         |
228| ---- | ------------------------------------------------------------ |
229| int  | 返回执行的错误码。<br>若错误码为PREFERENCES_OK,表示操作成功。<br>若错误码为PREFERENCES_ERROR_INVALID_PARAM,表示参数不合法。<br>若错误码为PREFERENCES_ERROR_STORAGE,表示存储异常。<br>若错误码为PREFERENCES_ERROR_MALLOC,表示内存分配失败。 |
230
231
232
233