Flutter开始进行网络请求
一、简介
Flutter是Google一个新的用于构建跨平台的手机App的SDK。写一份代码,在Android和ios以及Web都可以运行出来。
二、对比Android
在Android中,view是屏幕上显示的所有内容的基础,按钮、工具栏、输入框等都是view,而Flutter中,View相当于是Widget,然而,Widget仅支持一帧,并且在每一帧上,Flutter的框架都会创建一个Widget的实例树。
在界面布局中,Flutter支持热更新,绘制界面更快捷,它支持无状态和有状态两种模式。
三、使用方法
1、先去API里面去添加后台给的接口
static String givePreviewFilePath="/web/rest/previewFile/givePreviewFilePath";//预览路径
static String previewFile="/web/rest/previewFile/previewFile";//预览ppt
2、开始去调用
就是写一个请求体,需要给后台传输那些数据
class GetPreviewFileReqModel extends ReqModel{
String filePath;
GetPreviewFileReqModel(
this.filePath
);
@override
String url()=>Api.givePreviewFilePath;
@override
Map params() =>{
"request":{
"filePath":"$filePath"
},
"type":"request",
"cmd":"givePreviewFilePath"
};
Future data()=>post(); //这个post是写的一个post请求
}
这里开始去写请求,最后在界面中去调用它
class GetPreviewFileView extends ViewModel{
Future<dynamic> getData(String filePath)async{
final data=await GetPreviewFileReqModel(filePath).data();
Map<String,dynamic> response =data['response'];
String message =response['message'];
return Future.value(response);
}
}
下方就是去调用的方法
void doLogin() {
String dataMessage = "1234";
loginViewModel.getData(username, password).then((value) {
Map<String, dynamic> response = value;
setState(() {
res = response['res'];
exception = response['exception'];
if (res) {
setSPContent();
NavigatorUtil.goBack(context);
} else {
return _showAlertDialog(context);
}
});
});
}
四、成果展示

|