首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

HarmonyOS第一课 08 保存应用数据-习题解析

用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。当用户希望有一个全局唯一存储的地方,可以采用用户首选项来进行存储。

鸿蒙OS定义的本地存储叫用户首选项。

判断题

1.  用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,它是一种关系型数据库。F

正确(True)

错误(False)

前面半句是正确的,后面半句错了。应该是非关系型数据库

2.  用户首选项Key是可以重复的关键字。F

正确(True)

错误(False)

Key是不能重复的,要不然怎么叫Key,钥匙怎么能重复

3.  用户首选项存储只需要注意Value大小限制。F

正确(True)

错误(False)

Key的大小限制为1024

单选题

1.  应用存入数据到Preferences实例后,可以使用flush()方法实现数据持久化,用户首选项的数据持久化后是放在哪里?C

A. 内存中

B. 数据库表中

C. 持久化文件

D. 云端

持久化的数据保存在文件中

2.  下面哪个接口用于使用户首选项数据持久化?D

A. get()

B. update()

C. put()

D. flush()

flush()方法是刷新并持久化

3.  下面哪个接口不是用户首选项提供的API接口?B

A. get()

B. update()

C. put()

D. flush()

update没有提供该方法.如果要更新,直接使用put即可,相同的key会自动更新,只保留唯一的key

4.  使用用户首选项持久化数据的正确流程?A

A. 使用getPreferencesSync()获取用户首选项实例,然后使用putSync()方法保存数据到缓存的Preferences实例中,再使用flush()持久化数据

B. 使用getPreferencesSync()获取用户首选项实例,然后使用getSync()方法保存数据到缓存的Preferences实例中,再使用flush()持久化数据

C. 使用getSync()获取用户首选项实例,然后使用getPreferencesSync()方法保存数据到缓存的Preferences实例中,再使用flush()持久化数据

D. 使用putSync()获取用户首选项实例,然后使用getPreferencesSync()方法保存数据到缓存的Preferences实例中,再使用flush()持久化数据

A,这个设计得有点麻烦,个人感觉preference可以作为一个内存变量,用户随时可以取用。现在这样的做法增加了开发量

多选题

1.  用户首选项支持存储应用持久化轻量级数据,关于其约束限制,下面说法正确的有?BCD

A. 用户首选项遵循ACID特性(Atomicity, Consistency, Isolation and Durability)

B. 用户首选项以Key-Value形式存取数据

C. 用户首选项存储数据数量建议不超过1万条

D. 用户首选项的Key为string类型

不是关系型数据库,所以没有ACID特性

2.  用户首选项支持存储应用持久化轻量级数据,关于其注意事项,下面说法不正确的有?BD

A. 用户首选项支持应用持久化轻量级数据

B. 用户首选项Key可以重复

C. 使用flush()方法把数据保存到文件

D. 通过get()方法判断首选项中是否包含指定的key,保证指定的key不会被重复保存

不正确的是B和D

3.  以下选项是键值对列表,以Key-Value形式展示,如[teacher-zhangsan, student-lisi],表示有两个键值对,第一个键值对Key为teacher,Value为zhangsan,第二个键值对Key为student,Value为lisi。哪组键值对不能用用户首选项存储?AC

A. [student-zhangsan, student-lisi]

B. [student1-zhangsan, student2-lisi]

C. [teacher-zhangsan, teacher-lisi]

D. [teacher1-zhangsan, teacher2-lisi]

A和C的KEY重复了.

这一章非常简单,主要内容就是KEY不能重复,value的长度有限制.本地存储不是关系型数据库。

操作起来有点复杂,比浏览器和小程序编程困难。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OqZA-zcVd286fuCXhyN_mCjQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券