问题标签 [sembast]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
683 浏览

android - 应用程序卸载 Flutter 时不会删除应用程序数据库

在我的应用程序中,我刚刚意识到,在我卸载应用程序时,Android Sembast db 不会被删除,而在 iOS 上,它确实会被删除。在这里查看其他答案,我看到为了防止 Android 备份android:allowBackup="false",需要在AndroidManifest.xml. 所以我为 android/main/app 中的 Manifest 做了。没有改变。在应用程序卸载并重新安装后,数据库仍然存在。由于我的手机使用的是 Android 7.0 API 24,我猜这个标志会影响下一次安装,但我必须手动删除 db。这次。我是否正确添加了这个标志?

我试图在手机目录 Android/data/com.vinny.fixit_cloud_biking/files 中查找 db 文件夹,但只有一个Pictures文件夹。我在哪里可以删除旧的数据库?这是单例中声明的路径final dbPath = join(appDocumentDir.path, 'device.db');

0 投票
1 回答
37 浏览

list - 如何重新订购 Sembast 商店

我创建了一个允许用户创建自己的锻炼计划的应用程序。因此,我将练习存储在 sembast 商店中。

我想知道是否以及如何重新安排锻炼。我计划使用 ReordarableListView,但我只是不明白如何更新 Store 中的数据。我认为最好的方法是使用他们自己的 sembastkey(在我的情况下为 int)重新排序练习。但我就是不认识人哈哈哈。

假设我已经将练习 7 拖到练习 3 的上方,那么完全破坏并重新创建所有练习 N (N > 3) 的练习列表会不会过大?这是我能想到的唯一方法,但我希望有更有效的方法。如果有人能给我提示如何更轻松地解决此任务,我将非常高兴。先感谢您

0 投票
0 回答
39 浏览

flutter - 为什么降级 Flutter App 会导致数据丢失?

问题:

我有一个使用sembastshared_preferences存储数据的应用程序。

最近我不小心降级了我的应用程序,导致它丢失了所有存储的数据。

我在物理设备和仿真器设备上都对其进行了测试,都导致了同样的问题。有没有办法来解决这个问题?

注意:通过“修复此问题”,我的意思是在降级的情况下防止进一步的数据丢失,而不是恢复丢失的数据)

重现步骤:

1)创建一个项目

2)将数据存储在共享引用或sembast中

3)热重启

4) 将内部版本号更改为比之前版本号更低的编号(例如:1.0.0+110 到 1.0.0+109)

5)热重启

发布规范.yaml

颤振医生:

0 投票
1 回答
283 浏览

flutter - 如何在flutter sembast中找到特定的记录Map值?

我在颤振应用程序中使用 sembast,我有一个 getAll()如下所示的函数:

它返回以下内容:

如何检查{name: Daredevil, season: 1, episode: 13}我的数据中是否有数据?

0 投票
1 回答
227 浏览

flutter - 颤振 + Sembast + 溪流 + 腕尺

我正在尝试制作一个简单的应用程序来发送/接收 SMS 并将数据存储在 noSQL 数据库中。作为小型数据库,我选择了sembast

然后出现了一些问题。

  1. 几乎所有示例都是针对旧版本的颤振,因此 null-safety 会阻止获取应用程序的工作示例。在花了一天无用的努力使代码正确之后,我找到了另一个例子。
  2. 在作者的github 页面上有一个工作示例,但它是以流直接馈送到 UI 的方式编写的。无论如何,我想通过使用 cubits 的bloc架构来保留数据层抽象。

弄清楚如何通过 cubit->emit 调用转发流并不是什么大问题,但是这段代码让我有点困惑:

核心问题是我无法弄清楚这个getDatabaseFactory方法来自哪里,而在我的应用程序中它只是给出了Method not found: 'getDatabaseFactory'.

我唯一设法找到的主题是在某些数据库上提到这种 Java 方法。

另一方面,克隆和运行 ( flutter run) 初始笔记本示例运行正常。当我尝试转储结果时,getDatabaseFactory它给了我Instance of 'DatabaseFactoryWeb'.

问题是:

  1. 有没有简单的方法来解决这个问题getDatabaseFactory?也许我想念依赖?
  2. 有没有办法简化整个note_provider?这似乎有点过于复杂。
  3. 如果您对如何not_provider通过bloc架构进行工作有提示,那就太好了。现在的计划是监听onNotesStream 并在事件中发出“notes”列表,以便 UI 重绘小部件。

先感谢您。

0 投票
1 回答
55 浏览

flutter-web - 你如何删除存储在网络上的 Sembast db 中的所有数据?扑

在我在设备和网络上运行的应用程序中,我将 sembast 用于本地数据库,当我想擦除所有数据以开始在新数据库上测试时,在 Android 上,我只需使用 Android 菜单,选择我的应用程序并删除所有数据. 你如何处理应用在 Chrome 上运行时生成的数据?非常感谢和抱歉这个天真的问题哈哈。