flutter Dio示例

class DioWidget extends StatefulWidget{
  const DioWidget({super.key});

  @override
  State<DioWidget> createState() {
    return DioState();
  }
}

class DioState extends State<DioWidget> {
  
  final Dio _dio=Dio();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title:const Text("Dio")),
      body: Container(
        alignment: Alignment.center,
        child: FutureBuilder(
          future: _dio.get("https://api.github.com/orgs/flutterchina/repos"),
          builder: (context,snapshot){
            //请求完成
            if(snapshot.connectionState==ConnectionState.done){
              Response response=snapshot.data!;
             
              //发生错误
              if(snapshot.hasError){
                return Text(snapshot.error.toString());
              }

              //请求成功,通过项目信息构建用于显示项目名称的ListView
              return ListView(
                children: response.data.map<Widget>((e)=>
                  ListTile(title: Text(e['full_name']))
                ).toList(),
              );
            }
            //请求未完成时弹出loading
            return CircularProgressIndicator();
          }
          ),
      ),
    );
  }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xiaopihair123/article/details/125198092