我想开发一个安卓应用。我想从用户那里获取输入并将其存储在手机的数据库中。
即使手机关机,我的数据也应该保留在手机中。这可能使用 SQLite 数据库吗?
Android 为您提供了几种保存持久应用程序数据的选项。您选择的解决方案取决于您的特定需求,例如数据是否应该对您的应用程序私有或可供其他应用程序(和用户)访问,以及您的数据需要多少空间
您的数据存储选项如下:
Shared Preferences 将私有原始数据存储在键值对中。
内部存储 将私人数据存储在设备内存中。
外部存储 将公共数据存储在共享的外部存储上。
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)
in 中的第二个参数getInt
是default value
未设置的情况。
为了你的灵感!
本地存储最强大的方法是使用 SQLite 数据库。每个应用程序都配备了自己的 SQLite 数据库,应用程序中的任何类都可以访问该数据库,但任何外部应用程序都不能访问该数据库。在继续讨论复杂的查询或代码片段之前,让我快速总结一下 SQLite 数据库是什么。SQL(结构化查询语言)是一种专门为管理关系数据库中的数据而设计的编程语言。关系数据库允许您提交插入、删除、更新和获取查询,同时还允许您创建和修改模式(更简单地认为是表)。SQLite 只是 MySQL、PostgreSQL 和其他流行数据库系统的缩小版本。它完全独立且无服务器,同时仍然是事务性的,并且仍然使用标准 SQL 语言来执行查询。由于它是独立的和可执行的,它非常高效、灵活,并且可以通过各种编程语言在各种平台(包括我们自己的 Android 平台)上访问。
Sqlite 数据库通常用于在大多数 Android 应用程序中持久化数据。
Sqlite 文件在您的包文件夹中创建。
备份 Sqlite 文件
1.将 Sqlite 文件复制到您的 SD 卡(无需网络连接) 2.将您的 Sqlite 文件同步到谷歌驱动器(需要网络连接)
示例网址: https ://developers.google.com/drive/examples/android
内容提供程序相对于 Sqlite 数据库的优势
1.加载器的优势(加载最新数据)
2.轻松同步数据
3.将数据共享给其他应用程序
Sqlite 数据在应用程序关闭甚至手机关机后仍然存在。