「这是我参加11月更文应战的第26天,活动概况查看:2021终究一次更文应战」

布景

今日咱们介绍一款轻量级的数据耐久化的三方Get_Stroage,可与分配get一同运用,也可以协助咱们在多个isolation之前同步数据

get_stroage介绍

那其实目前有许多的flutter数据耐久化的三方咱们为什么要运用get_stroage,最简略粗犷的原因,那就是快,一切的增修正查可以再一瞬间结束,来看下get_stroage与其他三方之间的数据比照

flutter:Get_Stroage数据存储

flutter:Get_Stroage数据存储

flutter: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届的一个小学生,希望咱们多多指教