Flutter如何在手机屏幕关闭时本地保存数据



我想在后台运行的应用程序和手机屏幕关闭的情况下本地保存数据,你如何使用hive DB做到这一点。

我只是在应用程序运行时尝试在本地保存数据,现在一切都很好,我想在屏幕手机关闭时做同样的事情

我不认为Hive支持在多个隔离中打开盒子,所以你必须关闭主隔离中的盒子,在后台隔离中更新它,然后在主隔离中重新打开它。

这可能有助于

以下是两个隔离物之间通信的示例代码:

import 'dart:io';
import 'dart:async';
import 'dart:isolate';
Future<SendPort> initIsolate() async {
Completer completer = new Completer<SendPort>();
ReceivePort isolateToMainStream = ReceivePort();
isolateToMainStream.listen((data) {
if (data is SendPort) {
SendPort mainToIsolateStream = data;
completer.complete(mainToIsolateStream);
} else {
print('[isolateToMainStream] $data');
}
});
Isolate myIsolateInstance = await Isolate.spawn(myIsolate,isolateToMainStream.sendPort);
return completer.future;
}
void myIsolate(SendPort isolateToMainStream) {
ReceivePort mainToIsolateStream = ReceivePort();
isolateToMainStream.send(mainToIsolateStream.sendPort);
mainToIsolateStream.listen((data) {
print('[mainToIsolateStream] $data');
exit(0);
});
isolateToMainStream.send('This is from myIsolate()');
}
void main() async {
SendPort mainToIsolateStream = await initIsolate();
mainToIsolateStream.send('This is from main()');
}

最新更新