二、Flutter网络请求数据

作者: 星星编程 | 来源:发表于2019-07-09 07:39 被阅读87次

    目录
    一、集成dio
    二、ListView
    三、请求网络数据
    四、刷新ListView
    五、flutter run

    一、集成dio

    dio: ^2.1.10是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时、自定义适配器。
    pubspec.yaml 中 添加dio: ^2.1.10,并同步 packages get。
    在相应的 .dart 文件中添加引用 import 'package:dio/dio.dart'。

    dependencies:
      flutter:
        sdk: flutter
    
      # The following adds the Cupertino Icons font to your application.
      # Use with the CupertinoIcons class for iOS style icons.
      cupertino_icons: ^0.1.2
      dio: ^2.1.10
    

    二、ListView

    ListView是最常用的滑动组件。它在滚动方向上一个接一个地显示它的孩子。在交叉轴中,需要孩子填充ListView。

    @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: Text('网络请求数据'),
          ),
          body: Center(
              child: ListView.builder(
                  itemCount: listData == null ? 0 : listData.length,
                  itemBuilder: this._getItems)),
        );
      }
    

    三、请求网络数据

    进入页面时系统会自动调用 initState(),为了保证第一次正常加载,这个时候调用_loadData();

    void _loadData() async {
        var result = await YFHttp.request('/v2/movie/in_theaters',
            data: {
              'apikey': "0b2bdeda43b5688921839c8ecb20399b",
            },
            method: YFHttp.GET);
      }
    

    四、刷新ListView

    网络请求是异步的造成数据不能同步到ListView,这个时候就需要刷新表格,把网络数据加载到ListView里面。

      setState(() {
          listData = result['subjects'];
        });
    

    五、flutter run

    终于一切都准备好了,只差flutter run。

    网络请求数据.jpg 关注公众号,查看更多内容.jpg

    相关文章

      网友评论

        本文标题:二、Flutter网络请求数据

        本文链接:https://www.haomeiwen.com/subject/ufrphctx.html