【问题标题】:Best way to save history for app保存应用历史记录的最佳方式
【发布时间】:2015-08-29 09:32:23
【问题描述】:

我想在我的安卓手机上编写一个安卓计算器应用程序。它保存操作的历史记录,并通过单击按钮显示最后的操作。现在我的问题是保存操作的最佳方法是什么?将它们保存到内部存储中的文件是否合理?

【问题讨论】:

  • “我想写一个计算器应用程序...” - 什么类型的应用程序? Windows、Mac、iOS、Android、WebApp、...
  • 这是安卓应用@balexandre

标签: android save calculator history


【解决方案1】:

有一些选择..

1) 包括一个 SQLite 数据库,正如其他人所提到的。这使得存储大量信息变得非常容易。你可以找到关于如何在你的项目中正确包含一个的教程,并且不需要关心更多。然后,您可以与内容提供者合作来读取和存储数据。 http://developer.android.com/guide/topics/providers/content-providers.html

2) 共享首选项。如果您只是打算像最后一个或最后 3 个操作一样存储,则可以使用共享首选项。这比添加数据库的开销要小得多,如果它是一个小项目,尽管您必须自己保持数据结构。 http://developer.android.com/reference/android/content/SharedPreferences.html

3) 如果您只想存储用户当前会话,您可以只保留使用过的操作的堆栈。在撤消或您调用它时,您只需弹出堆栈。 通过实现onSaveInstanceStateParcelable,您可以确保在轮换/内存不足等情况下不会丢失任何数据。

我个人会建议您在不了解您的项目的情况下使用纯 Java 对象并存储状态。在大多数情况下,计算机不需要持久存储。如果你真的想知道用户两周前做了什么,你应该使用数据库。

【讨论】:

  • 您不想写入文件。您将不得不编写太多代码来完成您可以使用共享首选项执行的操作。如果要保存更多数据,请使用数据库,如果有一些字符串,请使用首选项。除非您真的知道自己做什么以及为什么这样做,否则没有必要写入文件。但正如我所说,如果不了解更多关于您的特殊用例,很难说。但一般来说,使用你所拥有的,不要进行自定义实现。大多数时候,事情变得比他们必须的更难。
【解决方案2】:

我建议你使用数据库(SQLite) 来存储数据。

如果您对 Android 中的 SQLite 不了解更多信息,请查看 these 教程。

【讨论】:

    【解决方案3】:

    如果必须存储多个操作,我认为数据库应该便于记录历史,否则对于可以使用共享首选项的操作。

    【讨论】:

      猜你喜欢
      • 2011-10-23
      • 2023-04-05
      • 1970-01-01
      • 2011-02-07
      • 2021-11-27
      • 2018-06-16
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多