您的位置 首页 > 数码极客

android如何判断shardpreference是否存在

本头条核心宗旨

欢迎来到「技术刚刚好」作者,「技术刚刚好」是个人维护,每天至少更新一篇Flutter技术文章,实时为大家播报Flutter最新消息。如果你刚好也在关注Flutter这门技术,那就跟我一起学习进步吧,你的赞,收藏,转发是对我个人最大的支持,维护不易,欢迎关注。

技术刚刚好经历

近几年,移动端跨平台开发技术层出不穷,从Facebook家的ReactNative,到阿里家WEEX,前端技术在移动端跨平台开发中大展身手,技术刚刚好作为一名Android开发,经历了从Reactjs到Vuejs的不断学习。而在2018年,我们的主角变成了Flutter,这是Goolge开源的一个移动端跨平台解决方案,可以快速开发精美的移动App。希望跟大家一起学习,一起进步!

本文核心要点

本文会讲解在Flutter当中存储简单的数据,方便在Android,iOS 手机上读写简单的数据,

在简单示例中,假设您只想在电话上存储简单数据,以后再启动该应用程序时就可以引用该数据,然后共享首选项将帮助您在电话上存储数据。

iOS和macOS上的NSUserDefaults中的共享首选项,Android 上的SharedPreferences。

我相信做安卓 iOS 开发的应该知道这两个API

添加依赖:

首先,您需要将包名称添加 shared_preferences到Pub中

在dependencies: 您的 部分中 pub,将以下几行添加为“ 共享的偏好设置”:

现在在您的终端中运行 Flutter程序包 ,我们将安装该 shared_preferences程序包。

class MyApp extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State<MyApp> { @override Widget build(BuildContext context) { return MaterialApp( home: !isFirstScreen ? IntroScreen() : HomeScreen(), ); } }

在上述代码中,我们创建MyApp StatefulWidget,在home属性中,我们具有isFirsScreen。

要存储布尔值,我们需要创建变量isFirstScreen,如下所示:

bool isFirstScreen = false;class IntroScreen extends StatefulWidget { @override _IntroScreenState createState() => _IntroScreenState(); } class _IntroScreenState extends State<IntroScreen> { @override Widget build(BuildContext context) { return Scaffold( body: Center( child: Column( mainAxisAlignment: MainAxi, children: <Widget>[ Text("Intro Screen"), RaisedButton( onPressed: () {}, child: Text("GO to HomeScreen"), ) ], ), )); } }

这个时候当我们进入项目就实现一次介绍。

当第二次进入就不显示了。

void gotoHomeScreen(context) async { ///Shared Preferences wiill stored types String , int , bool, double SharedPreferences pref = await S(); await ('seen', true); Naviga(context).pushReplacement( MaterialPageRoute( builder: (context) => HomeScreen(), ), ); }class HomeScreen extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: Center( child: Text( "Home Screen", style: TextStyle( fontSize: 30, ), ), ), ); } }然后,我们需要为此在MyApp中获取该密钥,我们需要在MyApp窗口小部件中创建checkFirstScreen。 Future<void> checkFirstScreen() async { SharedPreferences pref = await S(); //if First statement is Null Or NO Value then it will give us Second Value bool seen = ('seen') ?? false); if (seen) { setState(() { isFirstScreen = true; }); } else { setState(() { isFirstScreen = false; }); } } Future<void> checkFirstScreen() async { SharedPreferences pref = await S(); //if First statement is Null Or NO Value then it will give us Second Value bool seen = ('seen') ?? false); if (seen) { setState(() { isFirstScreen = true; }); } else { setState(() { isFirstScreen = false; }); } }

这样就行了。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“android如何判断shardpreference是否存在”边界阅读