android - 在 Flutter 中使用新版本更新(本机)android 应用程序,同时保留数据库
问题描述
我有一个用java编写的android小应用程序,我正在使用flutter重写。
是否可以通过保持 SQLite 数据库结构(包括所有数据)完整来过渡到新版本?
我进行了测试,虽然我能够覆盖应用程序,但升级后数据丢失了。
解决方案
如果有人需要它,我可以从现有数据库中读取数据并使用颤振写入它。
我之前的测试出错了,因为碱基被分配在不同的目录中。
在 java 中,我使用SQLiteOpenHelper
类创建了数据库,而在新的颤振应用程序中,我尝试使用getApplicationDocumentsDirectory()
.
我只是更改了访问路径,一切都解决了:)
var databasesPath = await getDatabasesPath ();
String path = join (databasesPath, "database.db");
推荐阅读
- javascript - 查询选择器不适用于模板文字
- ruby-on-rails - 有没有办法通过对 id 的搜索求和来计算价格
- javascript - 使用播放/暂停按钮启动/停止 CSS 选框?
- python - 数据流管道中 WriteToText 文件的 ERRNO2
- .net-core - Nuget 包 - 接口及其在单独的类库中的实现
- sql - 从自由格式 STT 输入中查询子字符串
- c# - 如何加速我的程序,试图找到随机一百万点之间的最长距离?
- c - PIC 中的去抖动按钮
- php - 如何使用 laravel 从两个集合创建一个集合
- javascript - node.js 护照反序列化用户没有被调用