1# Data 2 3 4## 概述 5 6分布式数据管理(Distributed data manager,data)支持单设备的各种结构化数据的持久化,以及端云间的同步、共享功能。 分布式数据管理定义了一系列数据类型,可以对数据进行增删改查。 7 8**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 9 10**起始版本:** 11 11 12 13## 汇总 14 15 16### 文件 17 18| 名称 | 描述 | 19| -------- | -------- | 20| [data_asset.h](data__asset_8h.md) | 提供资产类型数据结构。<br/>引用文件: <database/data/data_asset.h><br/>库: libnative_rdb_ndk.z.so<br/> | 21 22 23### 类型定义 24 25| 名称 | 描述 | 26| -------- | -------- | 27| [Data_AssetStatus](#data_assetstatus) | 资产状态值类型。 | 28| [Data_Asset](#data_asset) | 表示资产附件类型的数据。 | 29 30 31### 枚举 32 33| 名称 | 描述 | 34| -------- | -------- | 35| [Data_AssetStatus](#data_assetstatus) {<br/>ASSET_NULL = 0, ASSET_NORMAL, ASSET_INSERT, ASSET_UPDATE,<br/>ASSET_DELETE, ASSET_ABNORMAL, ASSET_DOWNLOADING<br/>} | 资产状态值类型。 | 36 37 38### 函数 39 40| 名称 | 描述 | 41| -------- | -------- | 42| [OH_Data_Asset_SetName](#oh_data_asset_setname) ([Data_Asset](#data_asset) \*asset, const char \*name) | 设置资产类型数据的名称。 | 43| [OH_Data_Asset_SetUri](#oh_data_asset_seturi) ([Data_Asset](#data_asset) \*asset, const char \*uri) | 设置资产类型数据在系统里的绝对路径,即URI。 | 44| [OH_Data_Asset_SetPath](#oh_data_asset_setpath) ([Data_Asset](#data_asset) \*asset, const char \*path) | 设置资产类型数据在应用沙箱里的相对路径。 | 45| [OH_Data_Asset_SetCreateTime](#oh_data_asset_setcreatetime) ([Data_Asset](#data_asset) \*asset, int64_t createTime) | 设置资产类型数据创建的时间。 | 46| [OH_Data_Asset_SetModifyTime](#oh_data_asset_setmodifytime) ([Data_Asset](#data_asset) \*asset, int64_t modifyTime) | 设置资产类型数据最后修改的时间。 | 47| [OH_Data_Asset_SetSize](#oh_data_asset_setsize) ([Data_Asset](#data_asset) \*asset, size_t size) | 设置资产类型数据占用空间的大小。 | 48| [OH_Data_Asset_SetStatus](#oh_data_asset_setstatus) ([Data_Asset](#data_asset) \*asset, [Data_AssetStatus](#data_assetstatus) status) | 设置资产类型数据的状态码。 | 49| [OH_Data_Asset_GetName](#oh_data_asset_getname) ([Data_Asset](#data_asset) \*asset, char \*name, size_t \*length) | 获取资产类型数据的名称。 | 50| [OH_Data_Asset_GetUri](#oh_data_asset_geturi) ([Data_Asset](#data_asset) \*asset, char \*uri, size_t \*length) | 获取资产类型数据的绝对路径。 | 51| [OH_Data_Asset_GetPath](#oh_data_asset_getpath) ([Data_Asset](#data_asset) \*asset, char \*path, size_t \*length) | 获取资产类型数据的相对路径。 | 52| [OH_Data_Asset_GetCreateTime](#oh_data_asset_getcreatetime) ([Data_Asset](#data_asset) \*asset, int64_t \*createTime) | 获取资产类型数据的创建时间。 | 53| [OH_Data_Asset_GetModifyTime](#oh_data_asset_getmodifytime) ([Data_Asset](#data_asset) \*asset, int64_t \*modifyTime) | 获取资产类型数据的最后修改的时间。 | 54| [OH_Data_Asset_GetSize](#oh_data_asset_getsize) ([Data_Asset](#data_asset) \*asset, size_t \*size) | 获取资产类型数据占用空间的大小。 | 55| [OH_Data_Asset_GetStatus](#oh_data_asset_getstatus) ([Data_Asset](#data_asset) \*asset, [Data_AssetStatus](#data_assetstatus) \*status) | 获取资产类型数据的状态码。 | 56| [OH_Data_Asset_CreateOne](#oh_data_asset_createone) () | 创造一个[Data_Asset](#data_asset)类型实例。 | 57| [OH_Data_Asset_DestroyOne](#oh_data_asset_destroyone) ([Data_Asset](#data_asset) \*asset) | 销毁[Data_Asset](#data_asset) 对象并回收该对象占用的内存。 | 58| [OH_Data_Asset_CreateMultiple](#oh_data_asset_createmultiple) (uint32_t count) | 创造指定数量的[Data_Asset](#data_asset)类型实例。 | 59| [OH_Data_Asset_DestroyMultiple](#oh_data_asset_destroymultiple) ([Data_Asset](#data_asset) \*\*assets, uint32_t count) | 销毁多个[Data_Asset](#data_asset) 对象并回收该对象占用的内存。 | 60 61 62## 类型定义说明 63 64 65### Data_Asset 66 67``` 68typedef struct Data_Asset Data_Asset 69``` 70 71**描述** 72 73表示资产附件类型的数据。 74 75提供资产附件的信息。 76 77**起始版本:** 11 78 79 80## 枚举类型说明 81 82 83### Data_AssetStatus 84 85``` 86enum Data_AssetStatus 87``` 88 89**描述:** 90 91资产状态值类型。 92 93| 枚举值 | 描述 | 94| -------- | -------- | 95| ASSET_NULL | 表示资产为空。 | 96| ASSET_NORMAL | 表示资产状态正常。 | 97| ASSET_INSERT | 表示资产需要插入到云端。 | 98| ASSET_UPDATE | 表示资产需要更新到云端。 | 99| ASSET_DELETE | 表示资产需要在云端删除。 | 100| ASSET_ABNORMAL | 表示资产状态异常。 | 101| ASSET_DOWNLOADING | 表示资产正在下载到本地设备。 | 102 103 104## 函数说明 105 106 107### OH_Data_Asset_CreateMultiple() 108 109``` 110Data_Asset** OH_Data_Asset_CreateMultiple (uint32_t count) 111``` 112 113**描述** 114 115创造指定数量的[Data_Asset](#data_asset) 类型实例 116 117**起始版本:** 11 118 119**参数:** 120 121| 名称 | 描述 | 122| -------- | -------- | 123| count | 代表创建的资产类型数据的数量。 | 124 125**返回:** 126 127创建成功则返回一个指向[Data_Asset](#data_asset)结构体实例的指针,否则返回NULL。 128 129**参见:** 130 131[Data_Asset](#data_asset). 132 133 134### OH_Data_Asset_CreateOne() 135 136``` 137Data_Asset* OH_Data_Asset_CreateOne () 138``` 139 140**描述** 141 142创造一个[Data_Asset](#data_asset) 类型实例 143 144**起始版本:** 11 145 146**返回:** 147 148创建成功则返回一个指向[Data_Asset](#data_asset)结构体实例的指针,否则返回NULL。 149 150**参见:** 151 152[Data_Asset](#data_asset). 153 154 155### OH_Data_Asset_DestroyMultiple() 156 157``` 158int OH_Data_Asset_DestroyMultiple (Data_Asset ** assets, uint32_t count ) 159``` 160 161**描述** 162 163销毁多个[Data_Asset](#data_asset) 对象并回收该对象占用的内存。 164 165**起始版本:** 11 166 167**参数:** 168 169| 名称 | 描述 | 170| -------- | -------- | 171| assets | 表示指向[Data_Asset](#data_asset)实例的指针。 | 172| count | 代表需要销毁的[Data_Asset](#data_asset)类型对象的数量。 | 173 174**返回:** 175 176返回操作是否成功,成功时返回RDB_OK,出错时返回对应的错误码。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 177 178**参见:** 179 180[Data_Asset](#data_asset), [OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1). 181 182 183### OH_Data_Asset_DestroyOne() 184 185``` 186int OH_Data_Asset_DestroyOne (Data_Asset * asset) 187``` 188 189**描述** 190 191销毁[Data_Asset](#data_asset) 对象并回收该对象占用的内存。 192 193**起始版本:** 11 194 195**参数:** 196 197| 名称 | 描述 | 198| -------- | -------- | 199| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 | 200 201**返回:** 202 203返回操作是否成功,成功时返回RDB_OK,出错时返回对应的错误码。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 204 205**参见:** 206 207[Data_Asset](#data_asset), [OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1). 208 209 210### OH_Data_Asset_GetCreateTime() 211 212``` 213int OH_Data_Asset_GetCreateTime (Data_Asset * asset, int64_t * createTime ) 214``` 215 216**描述** 217 218获取资产类型数据的创建时间。 219 220**起始版本:** 11 221 222**参数:** 223 224| 名称 | 描述 | 225| -------- | -------- | 226| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 | 227| createTime | 参数是输出参数,资产类型数据的创建时间会以int64_t形式写入该变量。 | 228 229**返回:** 230 231返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 232 233**参见:** 234 235[Data_Asset](#data_asset) 236 237 238### OH_Data_Asset_GetModifyTime() 239 240``` 241int OH_Data_Asset_GetModifyTime (Data_Asset * asset, int64_t * modifyTime ) 242``` 243 244**描述** 245 246获取资产类型数据的最后修改的时间。 247 248**起始版本:** 11 249 250**参数:** 251 252| 名称 | 描述 | 253| -------- | -------- | 254| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 | 255| modifyTime | 参数是输出参数,资产类型数据的最后修改时间会以int64_t形式写入该变量。 | 256 257**返回:** 258 259返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 260 261**参见:** 262 263[Data_Asset](#data_asset) 264 265 266### OH_Data_Asset_GetName() 267 268``` 269int OH_Data_Asset_GetName (Data_Asset * asset, char * name, size_t * length ) 270``` 271 272**描述** 273 274获取资产类型数据的名称。 275 276**起始版本:** 11 277 278**参数:** 279 280| 名称 | 描述 | 281| -------- | -------- | 282| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 | 283| name | 该参数是输出参数,资产类型数据的名称会以字符串形式写入该变量。 | 284| length | 表示name的长度。 | 285 286**返回:** 287 288返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 289 290**参见:** 291 292[Data_Asset](#data_asset) 293 294 295### OH_Data_Asset_GetPath() 296 297``` 298int OH_Data_Asset_GetPath (Data_Asset * asset, char * path, size_t * length ) 299``` 300 301**描述** 302 303获取资产类型数据的相对路径。 304 305**起始版本:** 11 306 307**参数:** 308 309| 名称 | 描述 | 310| -------- | -------- | 311| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 | 312| path | 参数是输出参数,资产类型数据的相对路径会以字符串形式写入该变量。 | 313| length | 表示path的长度。 | 314 315**返回:** 316 317返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 318 319**参见:** 320 321[Data_Asset](#data_asset) 322 323 324### OH_Data_Asset_GetSize() 325 326``` 327int OH_Data_Asset_GetSize (Data_Asset * asset, size_t * size ) 328``` 329 330**描述** 331 332获取资产类型数据占用空间的大小。 333 334**起始版本:** 11 335 336**参数:** 337 338| 名称 | 描述 | 339| -------- | -------- | 340| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 | 341| size | 参数是输出参数,资产类型数据的占用空间大小会以size_t形式写入该变量。 | 342 343**返回:** 344 345返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 346 347**参见:** 348 349[Data_Asset](#data_asset) 350 351 352### OH_Data_Asset_GetStatus() 353 354``` 355int OH_Data_Asset_GetStatus (Data_Asset * asset, Data_AssetStatus * status ) 356``` 357 358**描述** 359 360获取资产类型数据的状态码。 361 362**起始版本:** 11 363 364**参数:** 365 366| 名称 | 描述 | 367| -------- | -------- | 368| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 | 369| status | 参数是输出参数,资产类型数据的状态码会以[Data_AssetStatus](#data_assetstatus)形式写入该变量。 | 370 371**返回:** 372 373返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 374 375**参见:** 376 377[Data_Asset](#data_asset) 378 379 380### OH_Data_Asset_GetUri() 381 382``` 383int OH_Data_Asset_GetUri (Data_Asset * asset, char * uri, size_t * length ) 384``` 385 386**描述** 387 388获取资产类型数据的绝对路径。 389 390**起始版本:** 11 391 392**参数:** 393 394| 名称 | 描述 | 395| -------- | -------- | 396| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 | 397| uri | 参数是输出参数,资产类型数据的绝对路径会以字符串形式写入该变量。 | 398| length | 表示uri的长度。 | 399 400**返回:** 401 402返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 403 404**参见:** 405 406[Data_Asset](#data_asset) 407 408 409### OH_Data_Asset_SetCreateTime() 410 411``` 412int OH_Data_Asset_SetCreateTime (Data_Asset * asset, int64_t createTime ) 413``` 414 415**描述** 416 417设置资产类型数据创建的时间。 418 419**起始版本:** 11 420 421**参数:** 422 423| 名称 | 描述 | 424| -------- | -------- | 425| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 | 426| createTime | 表示要设置的创建时间。 | 427 428**返回:** 429 430返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 431 432**参见:** 433 434[Data_Asset](#data_asset) 435 436 437### OH_Data_Asset_SetModifyTime() 438 439``` 440int OH_Data_Asset_SetModifyTime (Data_Asset * asset, int64_t modifyTime ) 441``` 442 443**描述** 444 445设置资产类型数据最后修改的时间。 446 447**起始版本:** 11 448 449**参数:** 450 451| 名称 | 描述 | 452| -------- | -------- | 453| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 | 454| modifyTime | 表示要设置的最后修改的时间。 | 455 456**返回:** 457 458返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 459 460**参见:** 461 462[Data_Asset](#data_asset) 463 464 465### OH_Data_Asset_SetName() 466 467``` 468int OH_Data_Asset_SetName (Data_Asset * asset, const char * name ) 469``` 470 471**描述** 472 473设置资产类型数据的名称。 474 475**起始版本:** 11 476 477**参数:** 478 479| 名称 | 描述 | 480| -------- | -------- | 481| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 | 482| name | 表示要设置的名称。 | 483 484**返回:** 485 486返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 487 488**参见:** 489 490[Data_Asset](#data_asset) 491 492 493### OH_Data_Asset_SetPath() 494 495``` 496int OH_Data_Asset_SetPath (Data_Asset * asset, const char * path ) 497``` 498 499**描述** 500 501设置资产类型数据在应用沙箱里的相对路径。 502 503**起始版本:** 11 504 505**参数:** 506 507| 名称 | 描述 | 508| -------- | -------- | 509| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 | 510| path | 表示要设置的相对路径。 | 511 512**返回:** 513 514返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 515 516**参见:** 517 518[Data_Asset](#data_asset) 519 520 521### OH_Data_Asset_SetSize() 522 523``` 524int OH_Data_Asset_SetSize (Data_Asset * asset, size_t size ) 525``` 526 527**描述** 528 529设置资产类型数据占用空间的大小。 530 531**起始版本:** 11 532 533**参数:** 534 535| 名称 | 描述 | 536| -------- | -------- | 537| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 | 538| size | 表示要设置的占用空间的大小。 | 539 540**返回:** 541 542返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 543 544**参见:** 545 546[Data_Asset](#data_asset) 547 548 549### OH_Data_Asset_SetStatus() 550 551``` 552int OH_Data_Asset_SetStatus (Data_Asset * asset, Data_AssetStatus status ) 553``` 554 555**描述** 556 557设置资产类型数据的状态码。 558 559**起始版本:** 11 560 561**参数:** 562 563| 名称 | 描述 | 564| -------- | -------- | 565| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 | 566| status | 表示需要设置的状态码。详细信息可以查看[Data_AssetStatus](#data_assetstatus)。 | 567 568**返回:** 569 570返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 571 572**参见:** 573 574[Data_Asset](#data_asset), [Data_AssetStatus](#data_assetstatus) 575 576 577### OH_Data_Asset_SetUri() 578 579``` 580int OH_Data_Asset_SetUri (Data_Asset * asset, const char * uri ) 581``` 582 583**描述** 584 585设置资产类型数据在系统里的绝对路径,即URI。 586 587**起始版本:** 11 588 589**参数:** 590 591| 名称 | 描述 | 592| -------- | -------- | 593| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 | 594| name | 表示要设置的URI。 | 595 596**返回:** 597 598返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。 599 600**参见:** 601 602[Data_Asset](#data_asset) 603