【发布时间】:2021-08-24 07:34:03
【问题描述】:
我正在开发一个条形码应用程序并将数据保存到 hive。我需要知道的是有一种方法可以将保存的配置单元数据库导出到备份文件,并且能够在应用程序崩溃或手机丢失时检索它。这是为了盲人访问。想要将数据导出到我可以保存到我的电脑中进行存储的文件中,如果发生某些事情,我不必再次扫描所有产品来构建数据库。如果 hive 不能做到这一点,有人可以向我指出 Flutter dart 数据库可以做到这一点的方向。谢谢
好的,答案对我不起作用。这是我的模型文件的副本
import 'package:hive/hive.dart';
part 'product.g.dart';
@HiveType(typeId: 0)
class Product extends HiveObject{
@HiveField(0)
String itemName;
@HiveField(1)
String barCode;
@HiveField(2)
String bcType;
Product(this.itemName, this.barCode, this.bcType);
}
然后我打电话给我的盒子 var box = Hive.box('products');
如何将其编码为 json 以保存?
我用下一个
Future<File> _createBackupFile() async {
/// This example uses the OS temp directory
文件备份文件 = File('${Directory.systemTemp.path}/backup_barcode.json');
try {
/// barcodeBox is the [Box] object from the Hive package, usually exposed inside a [ValueListenableBuilder] or via [Hive.box()]
var barcodeBox = Hive.box<Product>('products');
backupFile = await backupFile.writeAsString(jsonEncode(barcodeBox.values));
return backupFile;
} catch (e) {
// TODO: handle exception
print(e);
}
}
【问题讨论】:
标签: flutter dart flutter-hive