import 'dart:async';
import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:flutter/material.dart';
//使用网络请求json
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
final String url = "https://swapi.co/api/people";
List data;
@override
void initState() {
super.initState();
this.getJsonData();
}
Future<String> getJsonData() async{
var response = await http.get(
//encode the url
Uri.encodeFull(url),
//only accept json response
headers: {
"Accept": "application/json"}
);
print(response.body);
setState(() {
// ignore: deprecated_member_use
var convertDataToJson = JSON.decode(response.body);
data= convertDataToJson['results'];
});
return "Success";
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Retrieve Json via Http get"),
),
body: ListView.builder(
itemCount: data == null? 0:data.length,
itemBuilder: (BuildContext context,int index){
return Container(
child: Center(
child: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Card(
child: Container(
child: Text(data[index]['name']),
padding: EdgeInsets.all(20.0),
),
)
],
),
),
),
);
},
),
);
}
}
还没有评论,来说两句吧...