Dio练习题
Posted braveheart007
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dio练习题相关的知识,希望对你有一定的参考价值。
lib文件夹分了三个文件
getdiodata.dart
model.dart
main.dart
注意点:Dio().get()返回的数据是List或者Map,http().get()返回的数据是json数据;Dio().get()比http更方便的地方就是返回的数据是List或者Map,而http().get()返回的数据是json数据需要用jsonDecode()来解码成为List或者Map数据;
main.dart:
import ‘package:flutter/material.dart‘;
import ‘getdiodata.dart‘;
import ‘model.dart‘;
void main()=>runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: HomePage(),
);
}
}
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text(‘‘),),
body: FutureBuilder(
future: GetDio().getData(),
builder: (context,snapshot){
print(snapshot.data);
if(!snapshot.hasData){
return Center(child: CircularProgressIndicator(),);
}else{
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder:(context,index){
return ListTile(
title: Text(‘${snapshot.data[index][‘title‘]}‘),
subtitle: Text(‘${snapshot.data[index][‘body‘]}‘),
);
},);
}
}),
);
}
}
model.dart
class PostModel{
//下面两个数据要根据实际的Json数据填写;
final int userId;
final int id;
final String title;
final String body;
PostModel(
this.userId,
this.id,
this.title,
this.body,
);
//PostModel.fromJson(Map json)输入的参数是一个Map类型Map json;输出的是PostModel类型数据;
PostModel.fromJson(Map json)
:userId = json[‘userId‘],
id = json[‘id‘],
title = json[‘title‘],
body = json[‘body‘];
// Map toJson()返回的是Map类型数据,是将Post类数据序列化为Json;
Map toJson() => {
‘userId‘:userId,
‘id‘:id,
‘title‘:title,
‘body‘:body,
};
}
getdiodata.dart
import ‘package:dio/dio.dart‘;
class GetDio{
getData()async{
Response response = await Dio().get(‘http://jsonplaceholder.typicode.com/posts‘);
if(response.statusCode == 200){
return response.data;
}
}
}
以上是关于Dio练习题的主要内容,如果未能解决你的问题,请参考以下文章
Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段
flutter中的dio包如何在这段代码中加入base-url和url和apikey