小编Kee*_*ani的帖子

“扩展”与“实现”与“具有”

我想明白之间的差别extendsimplementswith。什么时候使用什么?

dart

24
推荐指数
1
解决办法
2925
查看次数

卸载应用程序后共享首选项会发生什么情况?

我保存了一个boolean标志sharedpreferences,我需要在应用程序的一开始就进入该标志。如果我卸载并再次安装该应用程序然后收到该标志,会发生什么情况?对我来说,它不会抛出异常,而是在卸载之前向我发送值。我想知道这怎么可能..

sharedpreferences dart flutter

7
推荐指数
1
解决办法
1163
查看次数

如何使用嵌套的 FutureBuilders 并确保一个 future 被另一个调用?

为了避免FutureBuilder一次又一次地被调用(请参阅),我有调用我的 future 的习惯,initState并且它一直工作得很好,直到我不得不使用嵌套的 future。

connectionState基本上我希望第二个 future 仅在第一个 future成为 后才被调用done。有什么帮助吗?

这是我的代码进一步解释-

FutureBuilder(
  future: _future1,
  builder: (BuildContext context, AsyncSnapshot snapshot) {
    return snapshot.connectionState != ConnectionState.done
        ? CircularProgressIndicator()
        : snapshot.data != 200
            ? SomeWidget()
            : FutureBuilder(
                future: _future2,
                builder: (BuildContext context, AsyncSnapshot snapshot) {
                  return snapshot?.connectionState == ConnectionState.done
                      ? Text('')
                      : CircularProgressIndicator();
                });
  },
);
Run Code Online (Sandbox Code Playgroud)

_future2所以基本上,如果收到的数据不是 200 ,我根本不想被调用_future1。换句话说,我想_future2根据 的结果决定是否应该被调用_future1

asynchronous future flutter

6
推荐指数
1
解决办法
5065
查看次数

5
推荐指数
1
解决办法
2084
查看次数

为什么我的“AppLifecycleState”“恢复”两次?

我正在使用call_number插件从我的应用程序拨打电话。我正在跟踪AppLifecycleState采取行动。这是状态变化的顺序 -

AppLifecycleState.inactive
AppLifecycleState.resumed
AppLifecycleState.inactive
AppLifecycleState.paused
AppLifecycleState.inactive
AppLifecycleState.resumed
Run Code Online (Sandbox Code Playgroud)

最后4-我理解流程,但我无法理解为什么状态会resumed第一次改变。根据文档 - “应用程序是可见的并响应用户输入。” 当它处于恢复状态但当我按下按钮时,直接拨打电话。我想知道它是否是由插件在后台完成的,但我什至没有看到我的应用程序出现。

lifecycle state dart flutter

5
推荐指数
0
解决办法
655
查看次数

如何显示从一个点到另一个点绘制的线?

我使用 canvas.drawLine 来显示一条线,但我希望用户能够看到它从一个点绘制到另一个点,并且如果可能的话,还可以控制动画的持续时间。(类似于进度条,但这是我的自定义小部件)

paint line flutter

2
推荐指数
2
解决办法
3708
查看次数

net不存在时如何处理套接字异常?

如果没有网络,我想显示一个错误屏幕。我没有使用连接包,因为我不想连续检查。我只想在调用后端 api 并显示屏幕时处理异常。我无法捕获异常。

我发现了这个问题和这个关于套接字异常的问题,但似乎没有一个对我有帮助。

这就是我调用后端 api 的方式 -

callBackendApi() async {
  try {
    http.Response response = await Future.value(/*api call here*/)
        .timeout(Duration(seconds: 90), onTimeout: () {
      print('TIME OUT HAPPENED');
    });
  } catch (exception) {
    Fluttertoast.showToast(msg: 'Check internet connection.');
    print('Error occurred' + exception.toString());
  }
}
Run Code Online (Sandbox Code Playgroud)

asynchronous exception-handling flutter

2
推荐指数
2
解决办法
4132
查看次数