Flutter请求网络

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);
      }
    });
  });
}

四、成果展示

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值