1

我正在制作一个简单的 GPA android 应用程序。用户可以输入每个学期的成绩和班级名称。然后我将如何存储这些学期中的每一个,以便始终可以在应用程序中提取它们?我可能还需要存储单独的随机变量。

我简要介绍了共享首选项、内部存储等选项。什么选项最适合我的需求?请解释原因。谢谢!

4

3 回答 3

1

这取决于您的需要,有时您在同一个应用程序中使用所有选项,例如:存储成绩和班级的最佳方式是使用数据库,在 android SqlLite 数据库中。并且为了存储一些变量值,如用户名和密码,您只需要使用共享首选项....至少这是我在我的应用程序中的策略。

于 2013-01-02T05:08:01.377 回答
1

这里是解释...

共享首选项有利于存储……应用程序的首选项和其他少量数据。它是一些数据类型的非常简单的持久字符串密钥存储:boolean、float、int、long 和 string。因此,例如,如果我的应用程序有登录名,我可能会考虑将会话密钥作为字符串存储在 SharedPreferences 中。

内部存储有利于存储用户不需要访问的应用程序数据,因为用户无法轻松访问内部存储。可能对缓存、日志和其他东西有好处。只有应用程序打算创建读取更新或删除的任何内容。

外部存储。与我刚才所说的相反。保管箱应用程序可能使用外部存储来存储用户的保管箱文件夹,以便用户可以在保管箱应用程序之外轻松访问这些文件,例如,使用文件管理器。

SQLite 数据库每当您有大量结构化数据和用于管理它的相对严格的模式时,它都很棒。用外行的话来说,SQLite 就像 MySQL 或 PostgreSQL,除了它不是充当服务器守护进程的数据库,然后从 php 等 CGI 脚本中获取查询,它只是存储在一个 .db 文件中,并通过一个简单的库进行访问和查询在应用程序内。虽然 SQLite 无法像专用数据库那样扩展,但它对于较小的应用程序(如 Android 应用程序)来说非常快速和方便。如果我正在制作一个用于聚合和下载食谱的应用程序,我会使用 SQLite 数据库,因为这种数据是相对结构化的,并且数据库可以很好地扩展。数据库很好,因为将所有数据写入文件,然后以您自己的专有格式解析它,这并不好玩。再说一次,

网络连接是指将数据存储在云端。通过 java.net.* 包的 HTTP 或 FTP 文件和内容传输实现了这一点。

  Considering this i suggest you to use Sqlite especially in your case.

好运

于 2013-01-02T05:17:35.200 回答
0

SQLite 将最适合您的方案。

因为您可以创建具有所需列的格式良好的表格。您可以使用预先开发的数据库,也可以随时随地创建表

于 2013-01-02T05:16:09.490 回答