首页 > 试题广场 >

下列关于数据持久化的描述正确的有

[不定项选择题]
下列关于数据持久化的描述正确的有
  • 在内存中缓存多个Bitmap对象是一种数据持久化方法
  • SQLite数据库文件可以保存在SD卡中
  • ContentProvider的主要目的是为了将Android应用的数据持久化
  • 数据持久化就是将内存的数据保存到外存
https://developer.android.com/guide/topics/data/data-storage.html#filesInternal
来自官方文档:
Android数据持久化有五种方式:
1、SharedPreferences
2、内部存储(例如通过openFileOutput()打开一个文件输入输出流)
3、SQLite Database
4、网络连接(将数据存储到服务器上)
5、外部存储(SD卡)
发表于 2016-08-23 21:06:05 回复(0)
A:错。这种类似于内存缓存(LRUCache)不是数据持久化,否则也不会有DiskLruCache
B:不清楚,有待验证。应该是正确的,可以指定路径
C:错。ContentProvider的目的是对外暴露数据供其他程序查询
D: 对。
发表于 2015-04-23 16:38:29 回复(1)
Android数据持久化主要有几种:1.保存到Shared Preferences 2.保存到SDCard中 3.保存到SQlite数据库中

发表于 2016-07-26 23:02:30 回复(0)

数据持久化就是将数据模型转换为存储模型,五种存储方式都可以,shareparence,sqlite,文件流的Io操作,手机内部存储,外部存储sd卡,网络存储


编辑于 2018-08-21 07:52:14 回复(0)
BCD B 可以用android自带的SQLite数据库来做数据持久化,主要用到的类包括SQLiteOpenHelper和SQLiteDatabase。 C android中要实现跨应用共享数据,规范的方式是使用ContentProvider,使其他应用可以得到某个应用对外提供的数据,而不需要知道这个 应用的实现细节。系统自带的provider放在android.provider包下,比如通讯录等。如果需要的话,开发者也可以提供自己的 ContentProvider D 对的
发表于 2015-10-04 14:39:08 回复(0)
andorid数据持久化的方法。    
    1.文件IO(直接写入SD卡文件);
    2.SQLite数据库;
    3.使用Preferences。 Preferences其实也属于文件IO;
    4.ContentProvider。作为android4大组件之一,其本身也是为了实现进程间数据共享。可能有的小伙伴会产生
疑惑,说这和持久化有毛的关系(我自己就是这样,因为基础不牢了。。)。数据持久化就是将内存中的数据模型转化
为存储模型。这样就明白了把。反观,ContentProvider,会发现其中好多方法和SQLite数据库操作方法有的一拼,heh
到这里 ,我们就明白了为什么把ContentProvider也是持久化了把。但是  ContentProvider的主要目的还是为了数据共享。
    以上是个人观点,如有不好或不正确,请小伙伴们指出。

编辑于 2015-09-29 16:58:15 回复(2)
BD Android数据持久化主要有几种:1.保存到Shared Preferences 2.保存到手机内存 3.保存到SDCard中 4.保存到SQlite数据库中
发表于 2015-04-09 17:12:28 回复(3)
能不能说清楚啊,这里的内外存真的有歧义
发表于 2023-11-19 17:30:09 回复(0)
A:内存中缓存多个Bitmap对象并不是数据持久化方法,而是一种数据缓存的方式。数据持久化是指将数据保存在长期存储介质(如硬盘、数据库等)中,以便在应用程序关闭后仍然可以保留数据。而数据缓存是指将数据暂时存储在内存中,以便在需要时可以快速访问,以提高应用程序的性能和响应速度。
C:

ContentProvider的主要目的是为了实现数据共享和数据访问的机制,而不仅仅是为了将Android应用的数据持久化。虽然ContentProvider确实可以用于在Android应用中实现数据的持久化,但其功能远不止于此。

ContentProvider提供了一种标准化的接口,允许应用程序之间共享数据。它可以将应用程序的数据暴露给其他应用程序,从而实现数据共享。通过ContentProvider,其他应用程序可以访问和操作应用程序的数据,无需了解数据存储的具体实现细节。

除了数据共享外,ContentProvider还常用于以下场景:

  1. 数据库访问:ContentProvider可以封装底层数据库,允许其他应用程序以标准化的方式访问数据。

  2. 文件共享:ContentProvider可以用于共享文件,其他应用程序可以通过ContentProvider获取文件的内容。

  3. 跨进程通信:ContentProvider可以在不同的进程之间进行数据交换和通信。

  4. 与系统组件交互:一些系统组件(如联系人、媒体库等)可以通过ContentProvider提供数据访问。

虽然ContentProvider可以用于数据持久化,但其主要作用是提供一种安全且标准化的数据访问机制,以实现数据共享和跨应用数据交换。数据持久化通常是通过数据库存储、文件存储或其他数据持久化方法来实现的。

发表于 2023-07-29 15:06:50 回复(0)
ContentProvider的主要目的还是为了数据共享
发表于 2019-01-30 13:01:20 回复(0)
选项b中,数据保存至SQLite就已经是持久化了,还要把数据库文件保存至sd卡中才叫持久化?这不是多此一举?!做技术的就不要捉这些没意义的字眼了吧
发表于 2018-03-16 18:38:21 回复(1)
我竟然选了AC。。。
发表于 2017-09-14 00:29:35 回复(2)
sqlite数据库难道不是把数据保存在sd卡中吗?
发表于 2017-08-30 11:40:38 回复(0)
ContenProvider主要智能是提供数据共享
编辑于 2017-05-19 21:11:51 回复(0)
安卓中数据持久化的方式
1.手机自身的存储内存 (16G, 32G 64G之类的)
2.SD卡存储
3.ShareParference 共享参数
4.SQLite(轻量级的数据库),ContentProvider(和SQlite类似,不过是提供的数据来之其他的app)
5.网络存储,就是把数据存到网上去,再从网上进行读取
往有助于理解.
发表于 2016-07-23 23:58:17 回复(0)

数据持久化表示数据可以长久地进行保存,用户可以随时进行存储和获取。而将一些数据缓存在内存中,一旦关闭APP或者被清理缓存,数据就消失了,这不是持久化所希望的。而将一些数据保存在SD卡上,除非特殊操作,否则数据不会被轻易清理而可以达到持久化的目的。

发表于 2016-03-13 15:16:28 回复(0)
求高手解惑
发表于 2015-04-08 15:55:51 回复(0)
D
发表于 2015-04-05 20:02:05 回复(0)
BD
SQLite数据库保存在SD卡Data/data/目录下,*.db
发表于 2015-03-17 19:41:18 回复(0)
ContentProvider为应用程序之间共享数据。其余不清楚,求高手解惑。
编辑于 2015-03-11 10:08:50 回复(1)