如何解决Flutter 未处理异常:对空值使用空检查运算符
我收到以下错误 Unhandled Exception: Null check operator,我不确定我的代码或我使用的库是否有问题。我正在尝试测试 back4app 使用的 parse_server_sdk 的 livequery,因为我需要实时发送和接收图像。相关代码如下:
import 'dart:io';
import 'package:filepicker_windows/filepicker_windows.dart';
import 'package:Flutter/material.dart';
import 'package:parse_server_sdk_Flutter/parse_server_sdk.dart';
void main() async {
final keyApplicationId = 'EPARW6nRAAyp5uehoDE7rBEby4wtehcZf9EayykS';
final keyClientKey = 'fDaL2DjyC9YdwCwZ4RB5c5vhACROaMOO1EjjL4Zn';
final keyParseServerUrl = 'https://parseapi.back4app.com';
final LIVE_QUERY_URL = 'wss://samuraichat.b4a.io';
await Parse().initialize(keyApplicationId,keyParseServerUrl,clientKey: keyClientKey,autoSendSessionId: true,liveQueryUrl: LIVE_QUERY_URL,coreStore: CoreStoreMemoryImp());
final LiveQuery liveQuery = LiveQuery();
QueryBuilder<ParSEObject> query =
QueryBuilder<ParSEObject>(ParSEObject('FirstClass'))
..whereEqualTo('chatId',1);
Subscription subscription = await liveQuery.client.subscribe(query);
subscription.on(LiveQueryEvent.create,(value) {
print('*** CREATE ***: ${DateTime.Now().toString()}\n $value ');
print((value as ParSEObject).objectId);
print((value as ParSEObject).get('message'));
});
runApp(MyApp());
}
这是错误堆栈:
[ERROR:Flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: Null check operator used on a null value
#0 MethodChannel.binaryMessenger (package:Flutter/src/services/platform_channel.dart:142:86)
#1 MethodChannel._invokeMethod (package:Flutter/src/services/platform_channel.dart:148:36)
#2 MethodChannel.invokeMethod (package:Flutter/src/services/platform_channel.dart:331:12)
#3 MethodChannelConnectivity.checkConnectivity (package:connectivity_platform_interface/src/method_channel_connectivity.dart:41:29)
#4 Connectivity.checkConnectivity (package:connectivity/connectivity.dart:46:22)
#5 Parse.checkConnectivity (package:parse_server_sdk_Flutter/parse_server_sdk.dart:106:34)
#6 new LiveQueryReconnectingController (package:parse_server_sdk/src/network/parse_live_query.dart:45:28)
#7 new LiveQueryClient._internal (package:parse_server_sdk/src/network/parse_live_query.dart:146:30)
#8 LiveQueryClient._getInstance (package:parse_server_sdk/src/network/parse_live_query.dart:153:35)
#9 new LiveQuery (package:parse_server_sdk/src/network/parse_live_query.dart:416:30)
#10 main (package:chat_app/main.dart:18:37)
<asynchronous suspension>
谢谢。
解决方法
这个错误应该用 this PR 修复。
您通过覆盖 pubspec.yaml
中的依赖项来使用当前的 nullsafety 分支:
dependency_overrides:
parse_server_sdk_flutter:
git:
url: https://github.com/parse-community/Parse-SDK-Flutter.git
ref: nullsafety
path: packages/flutter
parse_server_sdk:
git:
url: https://github.com/parse-community/Parse-SDK-Flutter.git
ref: nullsafety
path: packages/dart
,
尝试清理您的应用缓存:
flutter clean
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。