在颤振解析 JSON 在后台失败



我尝试在后台实现解析JSON https://flutter.io/cookbook/networking/background-parsing/,但出现以下错误。当我使用安卓模拟器时,错误也是一样的。

我正在使用macOs HighSierra。我安装了IntelliJ和Fluter和Dark插件。我在 Flutter 上测试了大多数示例,一切都奏效了。我还创建了一个演示及其工作。我不明白为什么这不起作用。请帮忙吗?

我正在使用的代码:

import 'dart:async';
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:http/http.dart' as http;

// JSON::WEATHER 
Future<String> getWeatherData() async {
var response = await http.get(
Uri.encodeFull("http://api.openweathermap.org/data/2.5/forecast?q=San+Francisco&units=metric&APPID=14cc828bff4e71286219858975c3e89a"),
headers: {
'Accept': 'application/json'
}
);
this.setState(() {
weatherData = json.decode(response.body);
});
return 'Success!';
}

@override
void initState() {
// TODO: implement initState
super.initState();;
this.getWeatherData();
}

// USAGE
new Text(
weatherData['list'][0]['main']['temp_min'].toString(),
style: new TextStyle(
fontSize: 10.0,
fontWeight: FontWeight.w400,
color: Colors.white,
),
),

调试模式下在 SM G935F 上启动 lib/main.dart... 正在初始化分级... 正在解析依赖项... 运行 'gradlew assembleDebug'... 构建/应用程序/输出/apk/调试/应用程序调试.apk (31.4MB)。 I/FlutterActivityDelegate(26125):onResume将当前活动设置为此D/libGLESv2(26125): STS_GLApi : DTS 不允许用于 包 : com.yourcompany.parsingjsonintheackground正在将文件同步到设备 SM G935F... F/flutter (26125): [FATAL:flutter/fml/message_loop.cc(23)] 检查失败:循环 != nullptr。 MessageLoop::EnsureInitializedForCurrentThread 未在此调用 消息循环使用之前的线程。 F/libc (26125):致命信号 6 (SIGABRT),TID 26165 中的代码 -6 (1.ui) **构建指纹:"samsung/hero2ltexx/hero2lte:7.0/NRD90M/G935FXXS2DRC3:user/release-keys" 修订版:"9" 阿比:"手臂64" PID: 26125, TID: 26165, 姓名: 1.UI>>> com.yourcompany.parsingjsonintheackground <<<信号 _x0036_=" _x002D_6=" _x002D_-------=">

我在你打开的相关错误中回答了: https://github.com/flutter/flutter/issues/16738

最新更新