所以我尝试使用 moor 创建加密数据库,并使用 Injectible/GetIt 将其注入其他类。
我有一个包装类
@Singleton.lazy(signalsReady: true)
class BillingDatabaseModule {
static BillingDatabase _billingDatabase;
BillingDatabase get billingDatabase => _billingDatabase;
@factoryMethod
static BillingDatabaseModule billingDatabaseInit(@factoryParam String code) {
var instance = BillingDatabaseModule();
_billingDatabase = BillingDatabase(code);
GetIt.instance.signalReady(instance);
return instance;
}
}
这导致了以下错误
Injectable Generator ---------------------------------------------------
Error generating [BillingDatabaseModule]! only factories can have parameters
------------------------------------------------------------------------
所以我的问题是在输入/创建密码之前我无法打开数据库,因为它是数据库的密码。所以我试图延迟打开它,直到我创建/输入了 pin。
我的备份选项是创建一个强随机字符串并使用安全存储进行存储。我的意思是无论如何我已经为别针做了那个。