前提・実現したいこと
flutterでアプリを作っております。
shared_preferencesを使用してインストール直後かどうかを取得するコードを作りたく『該当のソースコード』を参考に作成しております。
Unhandled Exception: Null check operator used on a null valueのエラーが発生しており解決方法をご教示いただければ幸いです。
発生している問題・エラーメッセージ
下記のソースコードを実行するとエラーメッセージが出ます Launching lib\main.dart on sdk gphone x86 arm in debug mode... Running Gradle task 'assembleDebug'... √ Built build\app\outputs\flutter-apk\app-debug.apk. Installing build\app\outputs\flutter-apk\app.apk... Debug service listening on ws://127.0.0.1:54829/2hF72wWVD40=/ws Syncing files to device sdk gphone x86 arm... I/flutter (15366): Instance of 'Future<bool>' E/flutter (15366): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: Null check operator used on a null value E/flutter (15366): #0 MethodChannel.binaryMessenger (package:flutter/src/services/platform_channel.dart:142:86) E/flutter (15366): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:167:36) E/flutter (15366): #2 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:350:12) E/flutter (15366): #3 MethodChannel.invokeMapMethod (package:flutter/src/services/platform_channel.dart:377:49) E/flutter (15366): #4 MethodChannelSharedPreferencesStore.getAll (package:shared_preferences_platform_interface/method_channel_shared_preferences.dart:44:25) E/flutter (15366): #5 SharedPreferences._getSharedPreferencesMap (package:shared_preferences/shared_preferences.dart:180:57) E/flutter (15366): #6 SharedPreferences.getInstance (package:shared_preferences/shared_preferences.dart:56:19) E/flutter (15366): #7 firstRun (package:flutter_sample/main.dart:10:53) E/flutter (15366): #8 main (package:flutter_sample/main.dart:6:9) E/flutter (15366): #9 _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:142:25) E/flutter (15366): #10 _rootRun (dart:async/zone.dart:1428:13) E/flutter (15366): #11 _CustomZone.run (dart:async/zone.dart:1328:19) E/flutter (15366): #12 _runZoned (dart:async/zone.dart:1863:10) E/flutter (15366): #13 runZonedGuarded (dart:async/zone.dart:1851:12) E/flutter (15366): #14 _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:138:5) E/flutter (15366): #15 _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:283:19) E/flutter (15366): #16 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
該当のソースコード
ファイル名:main.dart import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; void main() async { const _key = "FirstRun"; print(firstRun(_key)); } Future<bool> firstRun(_key) async { SharedPreferences prefs = await SharedPreferences.getInstance(); var firstRun = prefs.get(_key); if (firstRun == null) { return prefs.setBool(_key, true);; }else{ return Future.value(false); }; }
試したこと
下記サイトを参考に調べてみたのですが解決に至っておりません。
https://pub.dev/packages/shared_preferences
補足情報(FW/ツールのバージョンなど)
・OS:Windows 10 Pro
・IDE:Android Studio:4.2.2
・flutter:2.3.0-12.1
・Dart:2.14.0
・pubspec.yaml
dependencies:
shared_preferences: ^2.0.6
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。