Flutter中通过getx依赖注入绑定类中的SharedPreferences

问题描述 投票:0回答:1

是否可以通过 Getx 将共享首选项绑定到某些类中?我创建了一个这样的类:

class SplashBinding implements Bindings {
  @override
  void dependencies() {
    Get.lazyPut<SplashLocalDataSource>(() {
      final sharedPreferences =  SharedPreferences.getInstance();
      return  awaitSplashLocalDataSource(// inject here )
    });

  }
}

我想将 shareprefrences 注入 awaitSplashLocalDataSource 构造函数SharedPreferences.getInstance() 返回一个 future 。我应该注入sharedPreferences的未来还是可以注入sharedPreferences引用?

曾经我使用 Injecteble 包,并通过

@preResolve 
注释注入共享首选项,但在 getx 中我该怎么做?

flutter dependency-injection flutter-getx
1个回答
0
投票
Get.putAsync<SharedPreferences>(() async {
final prefs = await SharedPreferences.getInstance();
await prefs.setString('name', 'Minnal Murali');
return prefs;
}, tag: 'tags', permanent: true); 

Get.find<SharedPreferences>().getString('name');
© www.soinside.com 2019 - 2024. All rights reserved.