问题描述
我试图从 pub dev 的护目镜“gcloud”库中读取数据。但是调用时出错,
Future<void> read() async {
if (_client == null)
_client = await auth.clientViaServiceAccount(_credentials,Storage.ScopES);
var storage = Storage(_client,'audio_project');
var bucket = storage.bucket('audio_bucket');
var audioList = await bucket.read("level01/").toList();
audioList.forEach((element) {
print("Elements"+element.toString());
});
return audioList;
}
gcloud: ^0.7.3
googleapis_auth: ^0.2.12
在我的存储中有一个文件夹,里面有音频文件。这些是我需要阅读的文件。
Flutter run --verbose
这些是我的依赖项。
[ +141 ms] E/Flutter ( 9371): [ERROR:Flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: NoSuchMethodError: The method 'read' was called on null.
[ ] E/Flutter ( 9371): Receiver: null
[ ] E/Flutter ( 9371): Tried calling: read()
[ ] E/Flutter ( 9371): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
[ ] E/Flutter ( 9371): #1 BaseViewState.getAudios (package:OA/screens/base_view.dart:94:30)
[ ] E/Flutter ( 9371): #2 BaseViewState.initState (package:OA/screens/base_view.dart:29:5)
[ ] E/Flutter ( 9371): #3 _LandingPageState.initState (package:OA/screens/dashboard.dart:112:11)
[ ] E/Flutter ( 9371): #4 StatefulElement._firstBuild (package:Flutter/src/widgets/framework.dart:4765:58)
[ ] E/Flutter ( 9371): #5 ComponentElement.mount (package:Flutter/src/widgets/framework.dart:4601:5)
[ ] E/Flutter ( 9371): #6 Element.inflateWidget (package:Flutter/src/widgets/framework.dart:3569:14)
[ ] E/Flutter ( 9371): #7 Element.updateChild (package:Flutter/src/widgets/framework.dart:3327:18)
[ ] E/Flutter ( 9371): #8 SingleChildRenderObjectElement.mount (package:Flutter/src/widgets/framework.dart:6118:14)
[ ] E/Flutter ( 9371): #9 Element.inflateWidget (package:Flutter/src/widgets/framework.dart:3569:14)
[ ] E/Flutter ( 9371): #10 Element.updateChild (package:Flutter/src/widgets/framework.dart:3327:18)
[ ] E/Flutter ( 9371): #11 ComponentElement.performRebuild (package:Flutter/src/widgets/framework.dart:4652:16)
[ ] E/Flutter ( 9371): #12 Element.rebuild (package:Flutter/src/widgets/framework.dart:4343:5)
[ ] E/Flutter ( 9371): #13 ComponentElement._firstBuild (package:Flutter/src/widgets/framework.dart:4606:5)
[ ] E/Flutter ( 9371): #14 ComponentElement.mount (package:Flutter/src/widgets/framework.dart:4601:5)
[ ] E/Flutter ( 9371): #15 Element.inflateWidget (package:Flutter/src/widgets/framework.dart:3569:14)
[ ] E/Flutter ( 9371): #16 Element.updateChild (package:Flutter/src/widgets/framework.dart:3327:18)
[ ] E/Flutter ( 9371): #17 SingleChildRenderObjectElement.mount (package:Flutter/src/widgets/framework.dart:6118:14)
[ ] E/Flutter ( 9371): #18 Element.inflateWidget (package:Flutter/src/widgets/framework.dart:3569:14)
[ ] E/Flutter ( 9371): #19 Element.updateChild (package:Flutter/src/widgets/framework.dart:3327:18)
[ ] E/Flutter ( 9371): #20 SingleChildRenderObjectElement.mount (package:Flutter/src/widgets/framework.dart:6118:14)
[ +1 ms] E/Flutter ( 9371): #21 Element.inflateWidget (package:Flutter/src/widgets/framework.dart:3569:14)
[ ] E/Flutter ( 9371): #22 Element.updateChild (package:Flutter/src/widgets/framework.dart:3327:18)
[ ] E/Flutter ( 9371): #23 ComponentElement.performRebuild (package:Flutter/src/widgets/framework.dart:4652:16)
[ ] E/Flutter ( 9371): #24 StatefulElement.performRebuild (package:Flutter/src/widgets/framework.dart:4800:11)
[ ] E/Flutter ( 9371): #25 Element.rebuild (package:Flutter/src/widgets/framework.dart:4343:5)
[ ] E/Flutter ( 9371): #26 ComponentElement._firstBuild (package:Flutter/src/widgets/framework.dart:4606:5)
[ ] E/Flutter ( 9371): #27 StatefulElement._firstBuild (package:Flutter/src/widgets/framework.dart:4791:11)
[ ] E/Flutter ( 9371): #28 ComponentElement.mount (package:Flutter/src/widgets/framework.dart:4601:5)
[ +1 ms] E/Flutter ( 9371): #29 Element.inflateWidget (package:Flutter/src/widgets/framework.dart:3569:14)
[ ] E/Flutter ( 9371): #30 Element.updateChild (package:Flutter/src/widgets/framework.dart:3327:18)
[ ] E/Flutter ( 9371): #31 SingleChildRenderObjectElement.mount (package:Flutter/src/widgets/framework.dart:6118:14)
[ ] E/Flutter ( 9371): #32 Element.inflateWidget (package:Flutter/src/widgets/framework.dart:3569:14)
[ ] E/Flutter ( 9371): #33 Element.updateChild (package:Flutter/src/widgets/framework.dart:3327:18)
[ ] E/Flutter ( 9371): #34 SingleChildRenderObjectElement.mount (package:Flutter/src/widgets/framework.dart:6118:14)
[ ] E/Flutter ( 9371): #35 Element.inflateWidget (package:Flutter/src/widgets/framework.dart:3569:14)
[ ] E/Flutter ( 9371): #36 Element.updateChild (package:Flutter/src/widgets/framework.dart:3327:18)
[ ] E/Flutter ( 9371): #37 ComponentElement.performRebuild (package:Flutter/src/widgets/framework.dart:4652:16)
[ ] E/Flutter ( 9371): #38 StatefulElement.performRebuild (package:Flutter/src/widgets/framework.dart:4800:11)
[ ] E/Flutter ( 9371): #39 Element.rebuild (package:Flutter/src/widgets/framework.dart:4343:5)
[ ] E/Flutter ( 9371): #40 ComponentElement._firstBuild (package:Flutter/src/widgets/framework.dart:4606:5)
[ ] E/Flutter ( 9371): #41 StatefulElement._firstBuild (package:Flutter/src/widgets/framework.dart:4791:11)
[ ] E/Flutter ( 9371): #42 ComponentElement.mount (package:Flutter/src/widgets/framework.dart:4601:5)
[ ] E/Flutter ( 9371): #43 Element.inflateWidget (package:Flutter/src/widgets/framework.dart:3569:14)
[ ] E/Flutter ( 9371): #44 Element.updateChild (package:Flutter/src/widgets/framework.dart:3327:18)
[ +2 ms] E/Flutter ( 9371): #45 ComponentElement.performRebuild (package:Flutter/src/widgets/framework.d
节目
Solution.java
解决方法
你在详细运行后分享的错误信息说你调用了一个 null 的 'read'
函数,它指的是这一行
bucket.read("level01/").toList();
这意味着您的 bucket
变量是具有空值的变量,这意味着不存在名称为 'audio_bucket'
的存储桶。因此,为了修复它,我建议您查看 GCS 存储桶并确认这是否确实是存储桶的名称,因为我认为这就是您面临的问题发生的地方。