Flutter

Why might a function not get called in initState(){ super.initState()} in flutter, but work perfectly fine if called later in the same page?

不打扰是莪最后的温柔 提交于 2021-02-15 07:37:12
问题 I have a function named splitVendorMainCategory, which simply splits a List into two subLists, described as: List vendorMainCategory = ['one', 'two', 'three', 'four']; Future splitVendorMainCategory() async { for (int i=0; i< (vendorMainCategoryLength); i+=2){ vendorMainCategoryC1.add(vendorMainCategory[i]), }, for(int j = 1; j < vendorMainCategoryLength; j+=2){ vendorMainCategoryC2.add(vendorMainCategory[j]), } } And I call it right at the initialisation of the page, but it returns two empty

Why might a function not get called in initState(){ super.initState()} in flutter, but work perfectly fine if called later in the same page?

痴心易碎 提交于 2021-02-15 07:37:08
问题 I have a function named splitVendorMainCategory, which simply splits a List into two subLists, described as: List vendorMainCategory = ['one', 'two', 'three', 'four']; Future splitVendorMainCategory() async { for (int i=0; i< (vendorMainCategoryLength); i+=2){ vendorMainCategoryC1.add(vendorMainCategory[i]), }, for(int j = 1; j < vendorMainCategoryLength; j+=2){ vendorMainCategoryC2.add(vendorMainCategory[j]), } } And I call it right at the initialisation of the page, but it returns two empty

Deleting Firestore Data in Flutter List View

烈酒焚心 提交于 2021-02-15 07:32:15
问题 I have a regular List View that fetches some data from Firestore, here is the code for it: body: StreamBuilder( stream: FirebaseFirestore.instance.collection('orders').snapshots(), builder: (context, snapshot) { if (!snapshot.hasData) return Center( child: CircularProgressIndicator(), ); return ListView.builder( itemCount: snapshot.data.docs.length, itemBuilder: (context, index) { DocumentSnapshot ds = snapshot.data.docs[index]; return Text(ds['name']); Now if I wanted to create a delete

How to not lose a data from the list when going from one screen to another screen in flutter?

时间秒杀一切 提交于 2021-02-15 06:56:08
问题 I have a class ViewTotalItemProvider which extends the ChangeNotifier. Inside the class, there is a list like this. class ViewTotalItemProvider extends ChangeNotifier{ List<CartPlantLists> cartPlantList3 = []; } Additionally, there are 3 screens including class like, PlantFeatureScreen1 , ParticularPlant2 , CartDetais3 . All are stateful widget and I am adding some items in second screen i.e. ParticularPlant2 class. When I try to show the items from list in the second screen and the third

鸿蒙OS揭面纱,开发者怎么看

戏子无情 提交于 2021-02-14 21:58:02
千呼万唤使出来,2019.8.9下午,华为消费者业务CEO余承东正式官方宣布鸿蒙操作系统(HarmonyOS)。小编将从研发工程师的视角、结合官方报道,说说我对鸿蒙OS的理解。 四大技术特性 分布式架构 鸿蒙OS的 分布式OS架构 和 分布式软总线技术 通过 公共通信平台 、 分布式数据管理 、 分布式能力调度 和 虚拟外设 四大能力,将相应分布式应用的底层技术实现难度对应用开发者屏蔽。 鸿蒙的一个理念是 把复杂留给自己,把简单留给开发者 。因此,鸿蒙OS把复杂的分布式架构向用户、开发者屏蔽,可能会通过SDK/API的方式提供给开发者,使开发者能够聚焦自身业务逻辑,像开发同一终端一样开发跨终端分布式应用。 流畅运行 为了满足万物互联的全场景智慧时代对OS提出的新要求,鸿蒙OS将硬件能力与终端解耦,通过 分布式软总线 连接不同终端,让应用轻松调用其他终端的硬件外设能力,为消费者带来跨终端无缝协同体验。 流畅运行的性能是通过软硬件解耦实现的,其中技术核心是 分布式软总线 ,这种技术有点像云计算,但云计算的主要计算资源是服务器,而鸿蒙OS的分布式软总线技术 还能够调用其它硬件设备 ,这给笔者留下了巨大的想象空间! 安全 鸿蒙OS采用全新的微内核设计,拥有更强的安全特性和低时延等特点。 这里有很多专业术语,我们一一来看: 1. TEE(可信执行环境):这是一种安全协议,它在硬件(包括芯片)

不懂得产出学习,只能原地眼红别人成长过快!老板:新来了一个Android高级开发你收拾一下提前过年吧!

牧云@^-^@ 提交于 2021-02-14 16:00:52
有朋友吐槽,工作几年每天做着crud的工作,渐渐的没有了成果产出,学习能力也退步了,每天做着重复的工作等着下班,结果有一天被老板炒鱿鱼了,仅仅是因为招来了一个好学的Android高级开发。。。。被辞之后他才意识到要技能提升,所以问我有没有什么好的学习路线或者什么学习的捷径。 大家都清楚,我们提升自己的学习方式,一般分为: 1. 自学,自我提高的一个过程; 2. 跟着公司项目成长,就是我们所说的做业务迭代的过程。 算了算,我也快工作七年了,这七年在不同时期有着不同的认知,也浪费了不少的学习机会,不过也总结了一些良好的学习习惯,今天跟大家分享下如何正确的利用工作环境学习。 一、线上疑难杂症 首先工作环境下,和自学是不同的,这里是实战,也就是将你所学的知识应用到线上,经过无数用户对你的代码进行验证,在不同配置的机型,不同的使用习惯,不同的网络环境下,会遇到很多问题: ① crash ,一般为应用添加监控主动上报 ② 兼容性问题,一般由用户主动反馈 以上两类,一般业务上引发的问题,都能解决。 最后在平台上,都会剩下一些非常难解决,影响也不大的,我们称之为线上疑难杂症。 这类问题,想必大家都会遇到,很多时候,我们的态度是: "没什么影响,大家都有" "又不是我搞得,不管" 这样的态度是极其不正确的,这些问题才是学习的非常好的材料。 很久以前,曾经我参加过一次面试

闲鱼基于Flutter+FaaS的业务框架思考与实践

别来无恙 提交于 2021-02-14 15:58:59
作者| 熊华丽(匠修) 出品|阿里巴巴新零售淘系技术部 前言 闲鱼将使用 Flutter 和 FaaS 来建设未来的技术开发体系,这是一项长期的规划,新的技术在现在看来犹如雾里看花,需要我们不断的思考,探索,实践才能渐渐描绘出它的轮廓。 本文对此提供一种思考角度,对未来基于 FaaS+Flutter 之上的编程形态做思考,并介绍自己的初步实践。 Flutter,Faas,与闲鱼的一体化 闲鱼长期在做技术一体化的探索与实践: 我们希望使用一门语言,一套技术栈,能让开发工程师在任何场景完成业务开发,实现开发模式和技术栈的统一。 这是对开发效率的极致追求,也是对开发人员的深度赋能,更好的释放人员价值,驱动业务成长。 闲鱼已经借助 Flutter 良好的跨栈能力来对 App 上的技术栈做统一,并取得了初步的成果。 因此想更近一步的整合前后端,结合 Flutter 来建立统一的技术栈。 FaaS 的兴起给我们带来了新的视角和机会,在后端开发场景中,FaaS 将运行环境和部署运维从日常开发中剥离出来,让开发者更聚焦于业务,降低了后端开发准入门槛,闲鱼基于此已经在做 Flutter+FaaS 的一体化开发体系建设。 技术在发展中会对当前的解决方案不断的抽象,总结和提炼,逐渐分离出其中的变化的部分与不变的部分,让原来的问题变得收敛,开发的关注点会变的更聚焦,开发效率得以提升。 这样会出现分层

基于 ThinkJS 的云开发体验

眉间皱痕 提交于 2021-02-14 14:21:09
ThinkJS 是一款企业级的 Node.js Web 开发框架,致力于集成项目最佳实践,规范项目让企业级团队开发变得更加简单,更加高效。 它基于 Koa 2.0 开发,兼容 Koa 的所有 Middleware。 内核小巧,支持 Adapter, Extend 等多种插件扩展方式,框架内的大部分功能也是通过这些方式进行扩展的。 性能优异,支持 TypeScript。 云开发 CloudBase 是云原生一体化应用研发平台为开发者提供高可用、自动弹性扩缩的后端云服务,包含计算、存储、托管等能力,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用、Flutter 客户端等),帮助开发者统一构建和管理后端服务和云资源,避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。 其实在云开发中使用 ThinkJS 和我们日常使用大同小异,除了启动文件需要按照云开发的要求修改一下以外,内部的业务逻辑基本不需要改动。 我们可以使用云开发的 CLI 工具 快速的初始化一个适配云开发的 ThinkJS 项目。 其中 thinkjs-app 是你的项目文件夹名称。 tcb new thinkjs-app thinkjs-starter 初始化完毕进入项目目录后执行 npm install 安装好依赖,就可以通过 npm start 启动开发环境了

Flutter学习笔记(4)--Dart函数

强颜欢笑 提交于 2021-02-14 11:34:08
如需转载,请注明出处: Flutter学习笔记(4)--Dart函数 Dart是一个面向对象的语言,所以函数也是对象,函数属于Function对象,函数可以像参数一样传递给其他函数,这样便于做回调处理; 一.指定返回值的函数 // 判断两个字符串是否相等 bool isEqual(String name1,String name2){ return name1 == name2; } print(isEqual( ' 张三 ' , ' 李四 ' )); // 打印结果:false 上面的示例我们指定了参数的类型,在不确定参数的类型的情况下,我们的参数可以用dynamic、object或var来接收参数 // 判断两个字符串是否相等 bool isEqual( dynamic name1, var name2){ return name1 == name2; } print(isEqual( ' 张三 ' , ' 李四 ' )); // 打印结果:false 二.不指定返回值的函数 // 判断两个字符串是否相等 isEqual(String name1,String name2){ return name1 == name2; } print(isEqual( ' 张三 ' , ' 李四 ' )); // 打印结果:false // 打印文本 isEqual( dynamic

Flutter学习笔记(5)--Dart运算符

寵の児 提交于 2021-02-14 11:14:37
如需转载,请注明出处: Flutter学习笔记(5)--Dart运算符 先给出一个Dart运算符表,接下来在逐个解释和使用。如下: 描述 运算符 一元后缀 expr++  expr--  ()  []  .  ?. 一元前缀 -expr  !expr  ~expr  ++expr  --expr 乘法类型 *  /  %  ~/ 加法类型 +  - 移位运算符 <<  >> 与位运算 & 异或位运算 ^ 或位运算 | 关系和类型测试 >=  <=  >  <  as  is  is! 等式 ==   != 逻辑与 && 逻辑或 || 条件 expr1?expr2:expr3 级联 .. 赋值 =  *=  /=  ~/=  %=  +=  -=  <<=  >>=  &=  ^=  |=  ??= 注:在上面的运算符表中,操作符的优先级由上到下逐个减小,上面行内的操作符优先级大于下面行内的操作符; 一.算数运算符 int a = 10 ; int b = 2 ; print(a + b); // 12 print(a - b); // 8 print(a * b); // 20 print(a / b); // 5.0 这个不是整除,值是duoble类型的 print(a ~/ b); // 5 整除,余数部分舍弃取整 print(a % b); // 0 去余数 var ++,