对于Android应用,我想制作一个自定义历史事件日志,我可以在屏幕上显示。的 N.B。 - 此处的事件不是用于调试,与LogCat 无关。这些是与普通用户使用该程序相关的应用程序域事件。此应用程序在工业环境中运行,可能会持续运行几天,在此期间可能会收集大约一千个日志条目。每个条目都是一个大约100-150个字符的字符串,因此该日志的总大小将远低于1M。
此日志应该是可持久的,因此如果设备关闭或电池故障或崩溃,日志仍然可以在下次启动时读取。用户可以根据需要清除日志。
我正在考虑创建一个类,该类为事件实现Serializable和“has-a”字符串数组,然后将该类序列化为文件以进行持久存储。该类将具有添加新事件,清除事件,读取按时间/日期排序或过滤的事件,类型或用户(事件字符串中的所有字段)的方法。当应用程序启动时,它会读取它,并且每次记录新事件时它都会写出一个新副本。为了显示它,我可能会使用ListView。
这是一个好方法吗? Android是否已经有任何内置类,所以我不必重新发明轮子?
答案 0 :(得分:0)
简短回答: 这听起来像你应该使用sqlite
细节: 由于以下原因,我不会按照您的描述来序列化带有字符串的类:
您必须实施所需的排序 - 您可以免费获得所有这些并使用数据库建立
所有你描述的声音真的是你应该在这里找到一个数据库 - 只是把它放在盘子上也有选择使用SharedPreferences - 但是你的descibed数据大小和你需要的排序和东西我会去对于DB