Java 使用哪种Android数据存储技术?
android文档有以下选项,但没有解释每种情况最适合哪种情况。每种方法的优缺点是什么?e、 g.在什么条件下SQL比共享首选项更好Java 使用哪种Android数据存储技术?,java,android,sqlite,sharedpreferences,data-storage,Java,Android,Sqlite,Sharedpreferences,Data Storage,android文档有以下选项,但没有解释每种情况最适合哪种情况。每种方法的优缺点是什么?e、 g.在什么条件下SQL比共享首选项更好 共享首选项 内部存储器 外部存储器 SQLite数据库 网络连接 共享首选项是键/值对,仅此而已。所以,如果你想跟踪,比如说,学生和他们的考试成绩,这真的不会很好 数据库就是一个数据库。您可以根据需要定义任意多的列(和表)来完成工作 如果是应用程序的首选项,请使用共享首选项(我能想到的几乎所有首选项都可以这样做),如果是其他更复杂的,请使用数据库 共享首选项有
- 共享首选项
- 内部存储器
- 外部存储器
- SQLite数据库
- 网络连接
- 共享首选项有利于存储。。。应用程序的首选项和其他少量数据。它是一个非常简单的持久字符串键存储,用于一些数据类型:boolean、float、int、long和string。例如,如果我的应用程序有一个登录名,我可能会考虑将会话密钥作为StryPraseString中的字符串存储。
- 内部存储适用于存储用户不需要访问的应用程序数据,因为用户无法轻松访问内部存储。可能适用于缓存、日志等。只有应用程序打算创建的任何内容都将被读取、更新或删除
- 外部存储。与我刚才说的相反,这太好了。dropbox应用程序可能使用外部存储来存储用户的dropbox文件夹,以便用户可以在dropbox应用程序之外轻松访问这些文件,例如,使用文件管理器
- SQLite每当您要使用大量结构化数据和一个相对严格的模式来管理它时,数据库都是非常棒的。用外行的话说,SQLite类似于MySQL或PostgreSQL,只是数据库没有充当服务器守护进程,然后从php之类的CGI脚本接收查询,它只是存储在一个.db文件中,并通过应用程序中的一个简单库进行访问和查询。虽然SQLite不能像专用数据库那样扩展,但对于较小的应用程序(如Android应用程序)来说,它非常快速和方便。如果我正在制作一个用于聚合和下载食谱的应用程序,我会使用SQLite db,因为这种数据是相对结构化的,而且数据库可以很好地扩展。数据库很好,因为将您的所有数据写入一个文件,然后以您自己的专有格式对其进行解析并没有什么乐趣。再说一次,用XML或JSON存储数据也不会那么糟糕
- 网络连接指在云端存储数据。HTTP或FTP文件和内容通过java.net.*包进行传输
- 假设从application1添加到设备的结构化数据是
同一设备中的其他应用程序2无法访问,但
通过
添加到设备的配置文件照片可供 在同一设备中运行的application1
应用程序2
- 将android设备视为一座城市,其中的应用程序是 城市中的房屋,房屋中的人(应用程序)是数据。 现在,内容提供商就像城市里的一个经纪人(安卓设备)。 这个经纪人为城市里的人们提供访问权
- 共享首选项是键/值对,仅此而已。所以,如果你想跟踪,比如说,学生和他们的考试成绩,这真的不会很好
数据库就是一个数据库。您可以根据需要定义任意多的列(和表)来完成工作
如果是应用程序的首选项,请使用共享首选项(我能想到的几乎所有首选项都可以这样做),如果是其他更复杂的,请使用数据库
内容提供商