import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
// TODO: implement build
//需要构建一个material的部件
return MaterialApp(
title: '获取远程数据并解析为模型',
home: MyPage(),
);
}
}
class MyPage extends StatefulWidget {
//必须重写该方法 返回state
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return MyState();
}
}
class MyState extends State<MyPage> {
String ddddd = "ffffffff";
// @override
// void setState(fn) {
// // TODO: implement setState
// super.setState(fn);
//
// }
//必须重写build方法 - 返回一个部件
@override
Widget build(BuildContext context) {
// TODO: implement build
return Scaffold(
appBar: AppBar(
title: Text('数据转模型'),
),
body: Column(
children: <Widget>[
Container(
child: GestureDetector(
child: Text(ddddd),
// onTap: fetchPost,
//刷新界面
// onTap: fetchPost, //这里需要的是一个方法, 而不是一个方法的返回值
onTap: (){
fetchPost().then((value){
setState(() {
ddddd = value;
});
});
},
))
],
),
);
}
}
//返回String, 显示到text文本部件上
//调用接口 获取服务端数据
Future<String> fetchPost() async {
final response =
await http.get("https://wanandroid.com/wxarticle/chapters/json");
final result = response.body;
print(result);
return result;
}
Flutter获取远程数据 自动刷新UI界面
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 问题原因是有个点差列表的界面,前期是自己socket工具封装自己代码的失误,造成数据源data不断追加,比较专业的...
- 2014-12-28 22:48:30qinlicang阅读数 103276 在ios的开发和学习中多线程编程是必...
- 在ios的开发和学习中多线程编程是必须会遇到并用到的。 在java中以及Android开发中,大量的后台运行,异步...
- 个人收藏 在ios的开发和学习中多线程编程是必须会遇到并用到的。 在java中以及Android开发中,大量的后台...
- 在ios的开发和学习中多线程编程是必须会遇到并用到的,大量的后台运行,异步消息队列,基本都是运用了多线程来实现。 ...