Wor*_*ess 9 dart android-studio flutter
我正在尝试构建一个天气应用程序,作为我正在学习的 Flutter 课程的一部分,并有一条消息指出:
\n\n\n将考虑丢失的 Gc 直方图窗口的数量从 101 减少到 100
\n
当我期待天气数据时,它出现在我的控制台中。有人熟悉这条消息吗?
\n我粘贴下面涉及的屏幕中的代码,以供参考。
\nlocation_screen.dart
\nimport 'package:flutter/material.dart';\nimport 'package:clima/utilities/constants.dart';\n\nclass LocationScreen extends StatefulWidget {\n LocationScreen({this.locationWeather});\n final locationWeather;\n @override\n _LocationScreenState createState() => _LocationScreenState();\n}\n\nclass _LocationScreenState extends State<LocationScreen> {\n @override\n void initState() {\n super.initState();\n print(widget.locationWeather);\n }\n\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n body: Container(\n decoration: BoxDecoration(\n image: DecorationImage(\n image: AssetImage('images/location_background.jpg'),\n fit: BoxFit.cover,\n colorFilter: ColorFilter.mode(\n Colors.white.withOpacity(0.8), BlendMode.dstATop),\n ),\n ),\n constraints: BoxConstraints.expand(),\n child: SafeArea(\n child: Column(\n mainAxisAlignment: MainAxisAlignment.spaceBetween,\n crossAxisAlignment: CrossAxisAlignment.stretch,\n children: <Widget>[\n Row(\n mainAxisAlignment: MainAxisAlignment.spaceBetween,\n children: <Widget>[\n FlatButton(\n onPressed: () {},\n child: Icon(\n Icons.near_me,\n size: 50.0,\n ),\n ),\n FlatButton(\n onPressed: () {},\n child: Icon(\n Icons.location_city,\n size: 50.0,\n ),\n ),\n ],\n ),\n Padding(\n padding: EdgeInsets.only(left: 15.0),\n child: Row(\n children: <Widget>[\n Text(\n '32\xc2\xb0',\n style: kTempTextStyle,\n ),\n Text(\n '\xe2\x98\x80\xef\xb8\x8f',\n style: kConditionTextStyle,\n ),\n ],\n ),\n ),\n Padding(\n padding: EdgeInsets.only(right: 15.0),\n child: Text(\n "It's time in San Francisco!",\n textAlign: TextAlign.right,\n style: kMessageTextStyle,\n ),\n ),\n ],\n ),\n ),\n ),\n );\n }\n}\n/*\n\ndouble temperature = decodedData['main']['temp'];\nint condition = decodedData['weather'][0]['id'];\nString cityName = decodedData['name'];\n*/\nRun Code Online (Sandbox Code Playgroud)\n加载屏幕.dart
\nimport 'package:clima/screens/location_screen.dart';\nimport 'package:clima/services/networking.dart';\nimport 'package:flutter/material.dart';\nimport 'package:clima/services/location.dart';\nimport 'package:clima/services/networking.dart';\nimport 'package:flutter_spinkit/flutter_spinkit.dart';\nimport 'location_screen.dart';\n\nconst apiKey = 'APIKEY';\n\nclass LoadingScreen extends StatefulWidget {\n @override\n State<StatefulWidget> createState() {\n return _LoadingScreenState();\n }\n}\n\nclass _LoadingScreenState extends State<LoadingScreen> {\n double latitude;\n double longitude;\n\n @override\n void initState() {\n super.initState();\n getLocation();\n }\n\n void getLocationData() async {\n Location location = Location();\n await location.getCurrentLocation();\n latitude = location.latitude;\n longitude = location.longitude;\n NetworkHelper networkHelper = NetworkHelper(\n 'https://api.openweathermap.org/data/2.5/weather?lat=$latitude&lon=$longitude&appid=$apiKey');\n var weatherData = await networkHelper.getData();\n\n Navigator.push(\n context,\n MaterialPageRoute(\n builder: (context) {\n return LocationScreen(\n locationWeather: weatherData,\n );\n },\n ),\n );\n }\n\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n body: Center(\n child: SpinKitDoubleBounce(\n color: Colors.white,\n size: 100.0,\n ),\n ),\n );\n }\n}\n\nRun Code Online (Sandbox Code Playgroud)\n网络.dart
\nimport 'package:http/http.dart' as http;\nimport 'dart:convert';\n\nclass NetworkHelper {\n NetworkHelper(this.url);\n\n final String url;\n\n Future getData() async {\n http.Response response = await http.get(url);\n if (response.statusCode == 200) {\n String data = response.body;\n\n return jsonDecode(data);\n } else {\n print(response.statusCode);\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
11246 次 |
| 最近记录: |