android文档下面有以下选项,但没有解释每种情况下最适合的情况。每种方法的优缺点是什么?在什么情况下,SQL会比共享首选项更好?
发布于 2014-10-13 05:18:23
Android中的不同存储选项

内容提供者

application1添加到设备上的配置文件照片对于运行在同一设备中的application2是可用的。共享偏好

文件存储


内部存储:

SQLite

把所有的碎片放在一起

发布于 2012-04-03 03:59:27
发布于 2012-04-03 04:04:44
SharedPreferences主要用于特定于应用程序的设置,您可以通过设置菜单来访问这些设置,比如应用程序设置。在这里保持一切简单是个好主意,主要是布尔标志、短字符串或整数。SharedPreferences数据在设备重新启动时会持久化,并随着应用程序卸载而被删除。数据被保存为键值对。
内部存储主要用于更大的非持久性数据存储。如果你想要处理一个图像,一个短视频剪辑,一个大文本文件等等,你可以利用内部存储。但是你不把处理过的数据存储在内部存储器中--它的功能更像一个CPU的RAM。应用程序可用的内部存储量取决于设备,但是将任何东西保持在1MB以下总是一个好主意。数据通过其文件路径引用。
外部存储不仅指SDCard存储,而且对于高端手机来说,这可能意味着内部可安装存储(如Galaxy或S2中的存储)。这是您在应用程序中存储大型视频文件、高分辨率图像和要解析的20 to文本文件的地方。这也是一个存储数据的地方,如果您交换sd卡,您希望在设备之间共享这些数据。数据还通过其文件路径引用。
SQLite 是在常规数据库中存储几乎所有您想要的东西的地方--它的优点是将事物组织成表、行和列。它最适合在UI中以列表形式显示的内容--最好的例子是伟大的发明,即CursorAdapter。这里存储的数据在设备重新启动时也会持久化,并随app卸载而删除。如果将sqlite连接到ContentProvider上,还可以在应用程序之间共享数据。数据是使用游标访问的,在这里您可以调用方法,就好像在执行sql语句一样。
网络连接并不是一种真正的数据存储技术,而是一种为特定用户保存数据的方法,前提是设备通过某种身份验证连接到互联网上。你必须在每次应用程序需要的时候下载数据,或者进行一次数据同步,这最终会导致上面提到的另一个存储选项。
https://stackoverflow.com/questions/9986734
复制相似问题