「这是我参加11月更文应战的第26天,活动概况查看:2021终究一次更文应战」
布景
今日咱们介绍一款轻量级的数据耐久化的三方Get_Stroage,可与分配get一同运用,也可以协助咱们在多个isolation之前同步数据
get_stroage介绍
那其实目前有许多的flutter数据耐久化的三方咱们为什么要运用get_stroage,最简略粗犷的原因,那就是快,一切的增修正查可以再一瞬间结束,来看下get_stroage与其他三方之间的数据比照
看数据比照咱们可以发现,读写删都具有非常快的速度,至于为何可以做到这么快的速度,咱们明日再介绍,今日咱们先来看看运用方法
增修正查
那一个数据库肯定是绕不开增修正查的,那咱们就来看下怎样运用get_stroage
首要咱们需求再main函数里边初始化一下GetStorage,初始化结束后咱们就可以正常运用了
main() async {
await GetStorage.init();
runApp(App());
}
假如通过实例调用的话,先获取到GetStorage实例
final box = GetStorage();
写入信息
box.write('quote', 'GetX is the best');
读取信息
print(box.read('quote'));
删去信息
box.remove('quote');
也可以监听,一切键值对的改动,当然在你不需求了的时分务必将监听移除
//添加监听
box.listen((){
print('box changed');
});
//移除监听
box.removeListen(listen);
当然假如你不想监听一切只想监听某一个的时分也可以
box.listenKey('key', (value){
print('new key is $value');
});
清楚一切容器内数据
box.erase();
当你想创立多个容器时,也是可以的,还记得上面咱们运用的初始化方法么,只需求在初始化的时分传入参数就可以了
await GetStorage.init('MyStorage');
当然get还提供了方便快捷的扩展方法,当成员变量的值产生改变时你不需求再次去存储数据,因为已经帮你存储好了,你只需求运用就好了
class MyPref {
static final _otherBox = () => GetStorage('MyPref');
final username = ''.val('username');
final age = 0.val('age');
final price = 1000.val('price', getBox: _otherBox);
// or
final username2 = ReadWriteValue('username', '');
final age2 = ReadWriteValue('age', 0);
final price2 = ReadWriteValue('price', '', _otherBox);
}
...
void updateAge() {
final age = 0.val('age');
// or
final age = ReadWriteValue('age', 0, () => box);
// or
final age = Get.find<MyPref>().age;
age.val = 1; // will save to box
final realAge = age.val; // will read from box
}
结语
好了今日的Get_Stroage运用已经介绍完了, 明日一同看下源码是怎样完结的
希望咱们把一些好的三方共享出来,打在谈论区,一同学习,一同进步
作为Flutter届的一个小学生,希望咱们多多指教