Android应用自定义事件历史记录

时间:2014-06-12 17:58:04

标签: android

对于Android应用,我想制作一个自定义历史事件日志,我可以在屏幕上显示。的 N.B。 - 此处的事件不是用于调试,与LogCat 无关。这些是与普通用户使用该程序相关的应用程序域事件。此应用程序在工业环境中运行,可能会持续运行几天,在此期间可能会收集大约一千个日志条目。每个条目都是一个大约100-150个字符的字符串,因此该日志的总大小将远低于1M。

此日志应该是可持久的,因此如果设备关闭或电池故障或崩溃,日志仍然可以在下次启动时读取。用户可以根据需要清除日志。

我正在考虑创建一个类,该类为事件实现Serializable和“has-a”字符串数组,然后将该类序列化为文件以进行持久存储。该类将具有添加新事件,清除事件,读取按时间/日期排序或过滤的事件,类型或用户(事件字符串中的所有字段)的方法。当应用程序启动时,它会读取它,并且每次记录新事件时它都会写出一个新副本。为了显示它,我可能会使用ListView。

这是一个好方法吗? Android是否已经有任何内置类,所以我不必重新发明轮子?

1 个答案:

答案 0 :(得分:0)

简短回答:  这听起来像你应该使用sqlite

细节:  由于以下原因,我不会按照您的描述来序列化带有字符串的类:

  • 您反复写入相同的数据(消耗的资源超过需要的数量)
  • 在写入不松散的数据时你必须要小心 - 特别是如果你在描述的电话关闭场景中写下旧的序列化文件...
  • 您必须实施所需的排序 - 您可以免费获得所有这些并使用数据库建立

    所有你描述的声音真的是你应该在这里找到一个数据库 - 只是把它放在盘子上也有选择使用SharedPreferences - 但是你的descibed数据大小和你需要的排序和东西我会去对于DB