基于数据库的android内部记录器

时间:2013-11-24 14:17:04

标签: android

我正在研究android内部的日志,我想到了两种存储日志的方法,一种是在外部目录中作为文本文件或日志文件,而另一种是存储在数据库中。我发现数据库方法在我的情况下更有用。我的问题是,如果我安装并重新安装应用程序,数据库是否会受到影响?如果是,我该怎么办?我无法将日志放在网上。如何备份或保护该数据库,以便在安装UN时不会受到影响。

2 个答案:

答案 0 :(得分:1)

  

我的问题是,如果我卸载并重新安装应用程序,数据库是否会受到影响?

是的,默认情况下,您的数据库将存储在应用程序的数据目录中,该目录将在卸载时与您的应用程序一起删除。

您可以将您选择的文件类型的文件(无论是简单的文本文件还是数据库文件)写入外部存储器。您可以使用以下命令获取目录路径:

  1. Environment.getExternalStoragePublicDirectory(type)用于获取特定类型文件的目录路径,例如图片或视频;
  2. Environment.getExternalStorageDirectory()用于获取主外部存储目录,您可以在其下创建新路径。
  3. 但是我不鼓励你这样做,因为它会要求你的用户在卸载你的应用程序后手动处理任何文件。也许你应该重新考虑选择这个解决方案的理由。

答案 1 :(得分:1)

如果您卸载该应用程序,那么数据库(以及存储在应用程序专用存储中的所有其他数据)将会消失。

您可以将日志存储在公共外部存储中,但这会将您的日志暴露给其他应用程序以及用户。

一种可能的方法是为您的“实时”日志使用应用程序专用存储,并定期备份到公共存储。如果是新安装,您可以检查指定的备份位置,并尝试从备份中恢复以前的日志。