6

我想开发一个安卓应用。我想从用户那里获取输入并将其存储在手机的数据库中。

即使手机关机,我的数据也应该保留在手机中。这可能使用 SQLite 数据库吗?

4

5 回答 5

6

Android 为您提供了几种保存持久应用程序数据的选项。您选择的解决方案取决于您的特定需求,例如数据是否应该对您的应用程序私有或可供其他应用程序(和用户)访问,以及您的数据需要多少空间

您的数据存储选项如下:

Shared Preferences 将私有原始数据存储在键值对中。

内部存储 将私人数据存储在设备内存中。

外部存储 将公共数据存储在共享的外部存储上。

SQLite 数据库将结构化数据存储在私有数据库中。

于 2013-03-13T05:25:56.160 回答
2

我想从用户那里获取输入并将其存储在电话数据库中(使用 sqlite)。我想知道,如果我更喜欢使用 sqlite 数据库构建我的应用程序。即使手机关机,我的数据也应该保留在手机中。是否可以使用 sqlite 数据库?

的,您可以使用 sqlite 数据库。

但是,如果你有像一两个字符串这样的数据,那么你应该使用SharedPreferences

希望它会有所帮助。

于 2013-03-13T05:28:05.193 回答
1

这是很有可能的。但很可能也是矫枉过正。

您是否尝试过 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 中的第二个参数getIntdefault value未设置的情况。

于 2013-03-13T05:24:58.173 回答
0

为了你的灵感!

本地存储最强大的方法是使用 SQLite 数据库。每个应用程序都配备了自己的 SQLite 数据库,应用程序中的任何类都可以访问该数据库,但任何外部应用程序都不能访问该数据库。在继续讨论复杂的查询或代码片段之前,让我快速总结一下 SQLite 数据库是什么。SQL(结构化查询语言)是一种专门为管理关系数据库中的数据而设计的编程语言。关系数据库允许您提交插入、删除、更新和获取查询,同时还允许您创建和修改模式(更简单地认为是表)。SQLite 只是 MySQL、PostgreSQL 和其他流行数据库系统的缩小版本。它完全独立且无服务器,同时仍然是事务性的,并且仍然使用标准 SQL 语言来执行查询。由于它是独立的和可执行的,它非常高效、灵活,并且可以通过各种编程语言在各种平台(包括我们自己的 Android 平台)上访问。

于 2013-03-13T05:30:59.760 回答
0

Sqlite 数据库通常用于在大多数 Android 应用程序中持久化数据。

Sqlite 文件在您的包文件夹中创建。

备份 Sqlite 文件

1.将 Sqlite 文件复制到您的 SD 卡(无需网络连接) 2.将您的 Sqlite 文件同步到谷歌驱动器(需要网络连接)

示例网址: https ://developers.google.com/drive/examples/android

内容提供程序相对于 Sqlite 数据库的优势

1.加载器的优势(加载最新数据)

2.轻松同步数据

3.将数据共享给其他应用程序

Sqlite 数据在应用程序关闭甚至手机关机后仍然存在。

于 2013-03-13T05:53:25.230 回答