软工实践个人技术总结博客

这个作业属于哪个课程https://bbs.csdn.net/forums/weixin_53785144_3
这个作业要求在哪里https://bbs.csdn.net/topics/618785570
这个作业的目标软件工程实践总结&个人技术博客
其他参考文献

个人技术总结博客


1.技术问题

1.1技术:

Flutter框架是基于dart语言开发的前端框架,是由 Google 开发的开源移动应用框架。它于 2017 年首次发布,旨在帮助开发者快速构建高性能、高保真的应用程序。这里针对的是flutter前端框架构建中遇到的一些问题:布局限制,JSON解析与map打包,后端网络请求。

1.2技术概述

技术问题学习原因技术难点
布局限制网页端移动缩放的时候不会出现溢出报错精确了解各个组件在组件树的context,以及组件边框的设定
JSON解析与map打包获得服务器返回的数据在前端UI上显示JSON本地类的存储与遍历,以及使用jsonencode函数将请求体打包上送
后端网络请求与后端交互通信解决跨域问题fetch函数的编写,post请求的应用

1.3详细叙述

1.布局问题:(由于太多例子这里举一个典型的)
常见的listview以及listtile是无边界组件,如果直接出现listview嵌套listview的话将会报错:
【例】:
1.直接嵌套listview可以看到网页无法绘制
布局
解决方法:用listviewbuilder在内部设置listview的高度从而使得内部的listview不会无限溢出。
【解决方法】:
使用listviewbuilder加上column限制大小后:

可以看到这时候能够正确构图。
2.JSON解析问题:
如何实现JSON的本地缓存很重要,能够降低访问服务器的频率,有利于web性能的提高,如何实现本地化的存储类这里给出图片:
【例】:

方法:本地创建一个类,存储返回的关键字,重构类的.fromJson构造函数并把api文档中的需要设置成必须的加上前缀声明required(必传参数),对于初始数据类型是一个数组或是多个类的,需要用到子类继承父类并在父类初始化子类的构造函数,子类的fromJSON中则可以和父类一样把拿到的json数组as type(你需要的数据类型)或是后缀方法如.toString等转换方法(拿下来的json大概率是个用不了数据结构需要先转化成基本的数据类型)。
3.网络请求:
为了提高复用性,我们只需要定义一个fetch函数获得每个api的json,再创建若干个的相对应的函数调用fetch函数即可实现高复用性。
【例】:

这个例子中图片的底部的fetchUserInfo就是对fetch的复用,这里的async是异步函数,因此需要用到future声明。fetch函数的实现是先将http包导入(可以在pub.yaml里面直接编写下载版本),通过post函数请求服务器,在这时如果api文档需要请求体,就需要post的同时加上map{}数据类型用作请求体,接下来对返回的报文状态码进行判断,若是200就说明成功了,这里的print是单元测试可以不用管,不是200的话就返回获取信息错误。


2.总结

以上的这些比较典型的问题都是花了相对较大的代价来解决的,虽然比较累,但解决完后的感觉是很不错的,这也锻炼了我的一个思维能力,遇到困难时候的解决策略更加多。


  • 26
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值