【发布时间】:2013-03-13 05:23:22
【问题描述】:
我想开发一个 Android 应用。我想从用户那里获取输入并将其存储在手机的数据库中。
即使手机关机,我的数据也应该保留在手机中。这可以使用 SQLite 数据库吗?
【问题讨论】:
我想开发一个 Android 应用。我想从用户那里获取输入并将其存储在手机的数据库中。
即使手机关机,我的数据也应该保留在手机中。这可以使用 SQLite 数据库吗?
【问题讨论】:
Android 为您提供了多种保存持久应用程序数据的选项。您选择的解决方案取决于您的特定需求,例如数据是否应该对您的应用程序私有或可供其他应用程序(和用户)访问,以及您的数据需要多少空间
您的数据存储选项如下:
共享偏好 将私有原始数据存储在键值对中。
内部存储 将私有数据存储在设备内存中。
外部存储 将公共数据存储在共享的外部存储上。
SQLite 数据库 将结构化数据存储在私有数据库中。
【讨论】:
我想从用户那里获取输入并将其存储在手机中 数据库(使用 sqlite)。我想知道,如果可以的话 更喜欢使用 sqlite 数据库构建我的应用程序。我的数据应该是 即使手机关机,也会保留在手机中。是吗 可以使用 sqlite 数据库吗?
是的您可以使用 sqlite 数据库。
但是,如果你有像一两个字符串这样的数据,那么你应该使用SharedPreferences
希望它会有所帮助。
【讨论】:
很有可能。但也很可能矫枉过正。
您尝试过 SharedPreferences 吗?即使您的应用程序关闭或手机关机,它们也会保留。
一个例子:
保存偏好:
SharedPreferences preferences = context.getSharedPreferences("YourAppPreferences", 0);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("yourvalue", 14);
editor.putString("name", "John");
e.commit();
这就是你检索它们的方式:
SharedPreferences preferences = context.getSharedPreferences("YourAppPreferences", 0);
preferences .getInt("yourvalue", 0)
getInt中的第二个参数是default value,以防未设置。
【讨论】:
为了你的灵感!
最强大的 本地存储的方法是使用 SQLite 数据库。每个应用程序都配备 它自己的 SQLite 数据库,应用程序中的任何类都可以访问该数据库,但不能 通过任何外部应用程序。在继续进行复杂查询或 sn-ps 之前 代码,让我快速总结一下 SQLite 数据库是什么。 SQL(结构化查询语言)是一种专门设计的编程语言 用于管理关系数据库中的数据。关系数据库允许您提交 插入、删除、更新和获取查询,同时还允许您创建和修改 模式(更简单地认为是表)。那么 SQLite 只是一个按比例缩小的 MySQL、PostgreSQL 和其他流行的数据库系统的版本。这完全是 自包含和无服务器,同时仍然是事务性的并且仍然使用 用于执行查询的标准 SQL 语言。因为它是独立的 并且可执行,它非常高效、灵活,并且可以通过多种方式访问 跨各种平台的编程语言(包括我们非常 自己的安卓平台)。
【讨论】:
Sqlite 数据库通常用于在大多数 Android 应用程序中持久化数据。
Sqlite 文件在你的包文件夹中创建。
备份Sqlite文件
1.将 Sqlite 文件复制到您的 SD 卡(无需网络连接) 2.同步你的Sqlite文件到google Drive(需要网络连接)
示例网址: https://developers.google.com/drive/examples/android
内容提供程序相对于 Sqlite 数据库的优势
1.加载器的优势(加载最新数据)
2.轻松同步数据
3.将数据共享给其他应用程序
Sqlite 数据会在应用关闭甚至手机关机后持久化。
【讨论】: