我正在android内部的日志上工作,我认为有两种方式来存储日志,一种是外部目录作为文本文件或日志文件,而另一种则是存储在数据库中。我发现数据库方法在我的情况下更有用。我的问题是,如果我联合安装并重新安装应用程序,数据库将受到影响?如果是,我该怎么办?我无法在线放置日志。如何进行备份或保护该数据库,以便在UN安装时不受影响。基于数据库的android内部记录器
0
A
回答
1
我的问题是如果我卸载并重新安装应用程序将数据库将受到影响?
是的,您的数据库将默认存储在应用程序的数据目录中,该目录在卸载时随应用程序一起删除。
您可以改为将选定文件类型的文件(无论是简单文本文件还是数据库文件)写入外部存储器。您可以使用以下方式获取目录路径:
Environment.getExternalStoragePublicDirectory(type)
用于获取特定类型文件(如图像或视频)的目录路径;Environment.getExternalStorageDirectory()
用于获取主外部存储目录,在该目录下可以创建新路径。
我会阻止你这样做,因为它会要求你的用户在卸载你的应用程序后手动处理任何文件。也许你应该重新考虑选择这个解决方案的合理性。
1
如果您卸载该应用程序,那么数据库(以及存储在应用程序私有存储中的所有其他数据)将不再使用。
您可以将日志存储在公共外部存储中,但这会将日志暴露给其他应用程序以及用户。
一种可能的方法是将“应用程序专用存储”用于“实时”日志,并定期备份到公共存储。如果是新安装,则可以检查指定的备份位置,并尝试从备份中恢复以前的日志。
相关问题
- 1. 过滤基于数据库记录
- 2. 基于内部数组值跳过JSON数据记录-D3
- 3. linq基于一些内部索引的数据表 - 记录过滤器
- 4. 基于for循环更新数据库中的相同记录
- 5. 基于数据库记录/调用的动态变量 - 帮助?
- 6. Spring Boot基于目录的数据库
- 7. JAVA JDBC SQL基于旧数据库记录更新新数据库
- 8. 基于JSON记录的AngularJS过滤器数据
- 9. 基于数据表筛选器的筛选记录集
- 10. jquery基于数据库记录添加列
- 11. Ruby on Rails - 基于下拉选项填充数据库记录
- 12. 用于将部分记录信息保存到数据库的Android UI模式
- 13. 试图找出Android内部数据库的基础知识
- 14. 基于服务器的数据库
- 15. SELECT记录基于以前的记录内容(无关系)
- 16. Android数据库中存在()记录吗?
- 17. Spring XD内部数据库日志记录
- 18. Android的基于定时器的服务更新数据库
- 19. 基于MySql数据库表的自动生成记录类型,用于FSharpDAL
- 20. 基于触发器的历史记录
- 21. 如何重置内部数据库时间戳记计数器?
- 22. 用于记录传感器数据的Android按钮
- 23. 使用jQuery内部中继器项目更新/删除数据库记录
- 24. 如何调用数据库记录以及数据库记录
- 25. SQLite.NET内存(:内存:)数据库比基于文件的数据库慢很多
- 26. 基于attr的大量数据中的记录总数。类别
- 27. 用于记录实验数据的数据库设计
- 28. 初始化dll内部的记录器
- 29. 基于时差的记录
- 30. MongoDB的基于记录