android - 在android中将应用程序移动到真实设备后数据消失

标签 android sqlite storage internal

我只用代码创建了一个表格,但里面还是空的。我改为通过在运行模拟器时拉出文件并通过 SQLite 浏览器插入数据来插入数据,然后使用此解决方案将其放回 data/data/package_name/file.db,运行程序后我可以看到信息列表模拟器。但是在真实设备上移动应用程序,我在真实设备上看不到任何信息列表。我该怎么办?

因为我的应用程序只是向用户提供数据,所以用户不需要向数据库添加或编辑数据。此外,数据不需要经常更改。这就是我使用 SQLite 浏览器插入数据的原因。

我知道(非根)设备存在一些安全限制。但是,对解决方案有什么建议吗?我应该如何编辑我的代码?

最佳答案

您可以将数据库打包到 res/assets/文件夹中,然后将其复制到/data/data/YOUR_APP_FOLDER/databases 如果数据库不存在(即首次安装)或者它比assets 文件夹(即更新的 apk)。

这篇文章有一个完整的工作示例:http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

关于android - 在android中将应用程序移动到真实设备后数据消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6168806/

相关文章:

algorithm - 图形中是否有类似于mipmaps的数据存储模式?

mysql - Sqlite 或 Mysql

jquery - jQuery Json Cordova问题

linux - VMware ESXi 本地存储速度慢,仅位于一个磁盘分区上

C存储分配器用法?

android - sqlite错误中的多个表

java - 如何考虑java中的夏令时计算两个日期之间的全天差

android - 全局 ArrayList 和 AsyncTask 问题

android - 以编程方式调整按钮大小

android - 在RelativeLayout中自动缩放按钮的宽度