android-升级预填充的sqlite数据库表,而不用用户输入删除表?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了android-升级预填充的sqlite数据库表,而不用用户输入删除表?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1691字,纯文字阅读大概需要3分钟。
内容图文
![android-升级预填充的sqlite数据库表,而不用用户输入删除表?](/upload/InfoBanner/zyjiaocheng/881/ac53a04a70b343f981d24f5c4a7cfb2d.jpg)
我正在使用Sqlite DB创建一个Android应用程序,该数据库具有几个带有预填充数据的表(500行),并且还具有将由用户填充的表.
我计划分发数据库的方式是通过以下方法向应用Using your own SQLite database in Android applications添加预填充的数据库.
我对此有一个问题,但是当涉及到升级时,我可能会向预先填充的表中添加许多行,甚至可能修改现有行中的许多数据,我想完全替换那些现有行表格与新的预填充表格中的表格相同,但用户填充的表格保持完整.
我发现了另一个帖子How do i upgrade my pre-populated sqlite database on my device without re-creating tables?,其中用户建议这完全是错误的方法(“正确的做事方式与您提出的方式完全不同”),因为我希望升级尽可能高效.因为我实际上尚未发布我的第一个版本,所以我应该改变我的方法吗?
在这种情况下最有效的方法是什么?
解决方法:
The way I plan on distributing the database is via the following method for adding a pre-populated database to an app Using your own SQLite database in Android applications.
该代码已经过时了一段时间.请考虑使用更现代且受支持的版本like SQLiteAssetHelper.
I want to completely replace those existing tables with the tables from the new pre-populated tables, yet leave the user populated tables intact
SQLiteAssetHelper支持两种现成的模式:
>用新的打包副本替换整个数据库
>运行您自己的SQL脚本以更新现有已安装的数据库,而忽略与应用程序打包在一起的副本
由于SQLiteAssetHelper是开源的,因此您可以查看Jeff Gilfelt的编写方式,并尝试利用该方式以某种方式支持您的混合方案.
就个人而言,除非您需要在“预填充表”和“用户填充表”之间进行联接,否则我建议您使用两个单独的数据库.一种是所有预先填充的数据,您可以根据应用程序更新完全替换这些数据.另一个将保存用户表,您可以使用更常规的SQLiteOpenHelper处理该表.而且,即使我没有亲自尝试过这种情况,即使使用两个单独的数据库,您也可以使用ATTACH DATABASE进行联接.
内容总结
以上是互联网集市为您收集整理的android-升级预填充的sqlite数据库表,而不用用户输入删除表?全部内容,希望文章能够帮你解决android-升级预填充的sqlite数据库表,而不用用户输入删除表?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。