Fluttter应用程序可在android studio模拟器上完美运行,但不会超过物理设备上的加载屏幕

时间:2020-08-08 12:23:43

标签: android android-studio flutter dart

我创建了一个简单的flutter应用程序,用于使用天气api和http程序包告诉我当前的天气。该应用程序可以在我的仿真设备上按预期运行,并且为了在物理设备上进行测试,我使用flutter build apk构建了一个胖APK。不幸的是,该应用程序没有超过物理设备上的加载屏幕(我已经在多个设备上进行了测试)。

Android清单

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="co.appbrewery.clima">

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>

加载屏幕

import 'package:clima/services/weather.dart';
import 'package:flutter/material.dart';
import 'location_screen.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';

class LoadingScreen extends StatefulWidget {
  @override
  _LoadingScreenState createState() => _LoadingScreenState();
}

class _LoadingScreenState extends State<LoadingScreen> {
  @override
  void initState() {
    super.initState();
    getlocationdata();
  }

  void getlocationdata() async {
    WeatherModel weatherModel = WeatherModel();
    var weatherdata = await weatherModel.getlocationweather();
    Navigator.push(context, MaterialPageRoute(builder: (context) {
      return LocationScreen(
        locationweather: weatherdata,
      );
    }));
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: SpinKitChasingDots(
          color: Colors.white,
          size: 50,
        ),
      ),
    );
  }
}

出了什么问题?我被卡住了。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

您可以这样处理:

getlocationdata();注释行 然后使用flutter run

如果可以,请在调试模式下查看为什么不起作用。 如果仍然无法正常运行,请尝试用SpinKitChasingDots替换Text("test")

祝你好运