码迷,mamicode.com
首页 > 其他好文 > 详细

Flutter 网络请求

时间:2020-02-25 00:16:55      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:build   转化   网络   app   state   ==   nbsp   list()   over   

一、Flutter JSON 字符串和 Map 类型的
转换
import ‘dart:convert‘
var mapData={"name":"张三","age":"20"};
var strData=‘{"name":"张三","age":"20"}‘;
print(json.encode(mapData)); //Map 转换成 Json 字符串
print(json.decode(strData)); //Json 字符串转化成 Map 类型
 
 
二、使用 http 库进行网络请求
请参考官方文档:https://pub.dev/packages/http 
 
案例代码
 

import ‘package:flutter/material.dart‘;
import ‘package:http/http.dart‘ as http;
import ‘dart:convert‘;


class HttpPage extends StatefulWidget {
HttpPage({Key key}) : super(key: key);

_HttpDemoState createState() => _HttpDemoState();
}

class _HttpDemoState extends State {

List _list=[];

@override
initState() {
// TODO: implement initState
super.initState();
this._getData();
}
_getData() async{
var apiUrl="http://a.itying.com/api/productlist";
var result=await http.get(apiUrl);
if(result.statusCode==200){
print(result.body);
setState(() {
this._list=json.decode(result.body)["result"];
});
}else{
print("失败${result.statusCode}");
}
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("请求数据Demo"),
),
body: this._list.length>0?ListView(
children: this._list.map((value){
return ListTile(
title: Text(value["title"]),
);
}).toList(),
):Text("加载中...")
);
}
}

Flutter 网络请求

标签:build   转化   网络   app   state   ==   nbsp   list()   over   

原文地址:https://www.cnblogs.com/zhaofeis/p/12359505.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!