保存应用程序历史记录的最佳方式
Best way to save history for app
我想编写一个 android 计算器应用程序,就像我 android phone 上的那个一样。它保存操作的历史记录,并通过单击按钮显示最后的操作。现在我的问题是保存操作的最佳方法是什么?将它们保存到内部存储中的文件中是否合理?
我建议您使用数据库(SQLite
) 来存储数据。
如果您对 android 中的 SQLite
不了解,请查看 these
教程。
我认为如果必须为一个操作存储多个操作,那么数据库应该对历史很方便,否则您可以使用共享首选项。
有一些选项..
1) 如其他人所述,包括一个 SQLite 数据库。这使得存储大量信息变得非常容易。您可以找到有关如何在您的项目中正确包含一个的教程,并且不必关心更多。然后,您可以与内容提供商合作来读取和存储数据。
http://developer.android.com/guide/topics/providers/content-providers.html
2) 共享首选项。如果您只是想存储最后一个或最后 3 个操作,您可以只使用共享首选项。如果这是一个小项目,这比添加数据库的开销要少,尽管您必须自己保持数据结构化。
http://developer.android.com/reference/android/content/SharedPreferences.html
3) 如果您只想存储用户当前会话,您可以只保留使用过的操作的堆栈。在撤消时,或者不管你怎么称呼它,你只会弹出堆栈。
通过实施 onSaveInstanceState
和 Parcelable
,您可以确保在旋转/内存不足等情况下不会丢失任何数据。
我个人会建议您在不了解您的项目的情况下使用普通 java 对象并存储状态。在大多数情况下,计算器不需要持久存储。如果你真的想知道用户在 2 周前做了什么,你应该使用数据库。
我想编写一个 android 计算器应用程序,就像我 android phone 上的那个一样。它保存操作的历史记录,并通过单击按钮显示最后的操作。现在我的问题是保存操作的最佳方法是什么?将它们保存到内部存储中的文件中是否合理?
我建议您使用数据库(SQLite
) 来存储数据。
如果您对 android 中的 SQLite
不了解,请查看 these
教程。
我认为如果必须为一个操作存储多个操作,那么数据库应该对历史很方便,否则您可以使用共享首选项。
有一些选项..
1) 如其他人所述,包括一个 SQLite 数据库。这使得存储大量信息变得非常容易。您可以找到有关如何在您的项目中正确包含一个的教程,并且不必关心更多。然后,您可以与内容提供商合作来读取和存储数据。 http://developer.android.com/guide/topics/providers/content-providers.html
2) 共享首选项。如果您只是想存储最后一个或最后 3 个操作,您可以只使用共享首选项。如果这是一个小项目,这比添加数据库的开销要少,尽管您必须自己保持数据结构化。 http://developer.android.com/reference/android/content/SharedPreferences.html
3) 如果您只想存储用户当前会话,您可以只保留使用过的操作的堆栈。在撤消时,或者不管你怎么称呼它,你只会弹出堆栈。
通过实施 onSaveInstanceState
和 Parcelable
,您可以确保在旋转/内存不足等情况下不会丢失任何数据。
我个人会建议您在不了解您的项目的情况下使用普通 java 对象并存储状态。在大多数情况下,计算器不需要持久存储。如果你真的想知道用户在 2 周前做了什么,你应该使用数据库。