Flutter后端服务搭建

您所在的位置:网站首页 张歆艺第一任丈夫是谁啊 Flutter后端服务搭建

Flutter后端服务搭建

2024-07-17 03:57:08| 来源: 网络整理| 查看: 265

使用dart搭建一个返回数据的服务器

开发工具使用的是vscode,手动编写dart文件和配置文件pubspec.yaml,最大程度上减少外部代码的依赖。

pubspec.yaml

name: flutter_web_app_server description: A new Flutter application. dependencies: http_server: ^0.9.8+3

手动编写的测试数据data.dart

var products = { "items":[ { "name":"算法第四版", "auth":"Robert Sedgewick & Kevin Wayne", "pice":"99", "imageUrl":"asset/images/01.png" }, { "name":"Android源码设计模式", "auth":"何红辉,关爱民", "pice":"99", "imageUrl":"asset/images/01.png" }, { "name":"Android进阶之光", "auth":"刘望舒", "pice":"89", "imageUrl":"asset/images/01.png" }, { "name":"Android开发艺术探索", "auth":"任玉刚", "pice":"79", "imageUrl":"asset/images/01.png" }, { "name":"深入理解java虚拟机", "auth":"周志明", "pice":"79", "imageUrl":"asset/images/01.png" }, { "name":"Android进阶解密", "auth":"刘望舒", "pice":"99", "imageUrl":"asset/images/01.png" }, { "name":"android软件安全权威指南", "auth":"丰强生", "pice":"95", "imageUrl":"asset/images/01.png" }, { "name":"算法第四版", "auth":"Robert Sedgewick & Kevin Wayne", "pice":"99", "imageUrl":"asset/images/01.png" }, { "name":"算法第四版", "auth":"Robert Sedgewick & Kevin Wayne", "pice":"99", "imageUrl":"asset/images/01.png" }, { "name":"算法第四版", "auth":"Robert Sedgewick & Kevin Wayne", "pice":"99", "imageUrl":"asset/images/01.png" }, { "name":"算法第四版", "auth":"Robert Sedgewick & Kevin Wayne", "pice":"99", "imageUrl":"asset/images/01.png" }, ] }; var news = { "items":[ {"title":"任正非:不需要美国 华为已经能自己解决供应问题","autho":"新京报","content":"日前,华为心声社区发布了一篇任正非与德国媒体的圆桌纪要。在这场圆桌上,任正非与德国媒体谈到了华为目前的处境、5G布局,以及孟晚舟近况等。"}, {"title":"港姐嫁富商住400平别墅 自己种菜下厨照顾3女儿","autho":"易起看家","content":"他来了!他带着豪宅和精彩故事来了!”周一搬砖的苦闷日子,家居君为大家准备了轻松的豪宅之旅,希望能给你的社畜生活带来一丝快乐。"}, {"title":"2019第十届互联网牛耳人人盛典开幕在即","autho":"网易传媒","content":"12月26日,2019第十届互联网牛耳人人盛典将在北京M空间隆重开幕。本届盛典以“创行智远”为主题,将在记录2019年中国互联网发展历程的同时,为过去一年中能代表互联网行业发展的伟大企业与优秀创业者献上桂冠。"}, {"title":"2019第十届互联网牛耳人人盛典开幕在即","autho":"网易传媒","content":"12月26日,2019第十届互联网牛耳人人盛典将在北京M空间隆重开幕。本届盛典以“创行智远”为主题,将在记录2019年中国互联网发展历程的同时,为过去一年中能代表互联网行业发展的伟大企业与优秀创业者献上桂冠。"}, {"title":"2019第十届互联网牛耳人人盛典开幕在即","autho":"网易传媒","content":"12月26日,2019第十届互联网牛耳人人盛典将在北京M空间隆重开幕。本届盛典以“创行智远”为主题,将在记录2019年中国互联网发展历程的同时,为过去一年中能代表互联网行业发展的伟大企业与优秀创业者献上桂冠。"}, {"title":"2019第十届互联网牛耳人人盛典开幕在即","autho":"网易传媒","content":"12月26日,2019第十届互联网牛耳人人盛典将在北京M空间隆重开幕。本届盛典以“创行智远”为主题,将在记录2019年中国互联网发展历程的同时,为过去一年中能代表互联网行业发展的伟大企业与优秀创业者献上桂冠。"}, {"title":"2019第十届互联网牛耳人人盛典开幕在即","autho":"网易传媒","content":"12月26日,2019第十届互联网牛耳人人盛典将在北京M空间隆重开幕。本届盛典以“创行智远”为主题,将在记录2019年中国互联网发展历程的同时,为过去一年中能代表互联网行业发展的伟大企业与优秀创业者献上桂冠。"}, {"title":"2019第十届互联网牛耳人人盛典开幕在即","autho":"网易传媒","content":"12月26日,2019第十届互联网牛耳人人盛典将在北京M空间隆重开幕。本届盛典以“创行智远”为主题,将在记录2019年中国互联网发展历程的同时,为过去一年中能代表互联网行业发展的伟大企业与优秀创业者献上桂冠。"}, {"title":"2019第十届互联网牛耳人人盛典开幕在即","autho":"网易传媒","content":"12月26日,2019第十届互联网牛耳人人盛典将在北京M空间隆重开幕。本届盛典以“创行智远”为主题,将在记录2019年中国互联网发展历程的同时,为过去一年中能代表互联网行业发展的伟大企业与优秀创业者献上桂冠。"}, ] };

main.dart 如下

import 'dart:convert'; import 'dart:io'; import 'data.dart'; main() async { var requestServer = await HttpServer.bind("192.168.31.120", 8080); print("http 服务启动起来"); await for(HttpRequest request in requestServer){ handleMessage(request); } } void handleMessage(HttpRequest request){ try{ if(request.method == 'GET'){ handleGet(request); } else if(request.method == 'POST'){ //TODO } }catch(e){ print('出现了异常:$e'); } } void handleGet(HttpRequest request){ var action = request.uri.queryParameters["action"]; if(action == 'getProducts'){ print("获得产品数据"); request.response ..statusCode=HttpStatus.ok ..write(json.encode(products)) ..close(); } if(action == "getNews"){ print("获得新闻"); request.response ..statusCode=HttpStatus.ok ..write(json.encode(news)) ..close(); } } void handlePost(HttpRequest request){ }

app访问数据方式如下。

String url = 'http://192.168.31.120:8080/?action=getProducts'; var res = await http.get(url); String str = res.body; var json = jsonDecode(str); print("转化后的json是$json");

 

这样在vscode中启动之后,就能在浏览器中访问http://192.168.31.120:8080/?action=getProducts就能访问数据了,注意这里的ip需要在代码中配置成自己电脑的ip,

需要在模拟器中才能够访问后台返回的数据,真机我反正没有连接成功。

值得注意的一点是vscode的配置文件lunch.json中需要配置一下启动的dart文件,因为默认生成的program配置,不是我们编写的启动文件。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭