在这个系列中,我们将学习如何使用google的移动开发框架flutter创建一个电商应用。本文是flutter框架系列教程的第一部分,将学习如何安装Flutter开发环境并创建第一个Flutter应用,并学习Flutter应用开发中的核心概念,例如widget、状态等。

本系列教程包含如下四个部分,敬请期待:

如何从零构建flutter应用如何在flutter中布局元素如何在flutter中组织数据如何在flutter中展示数据1. 开发环境安装与Flutter项目创建

Flutter的开发文档相当出色,请参考官方文档先安装开发环境。

一旦开发环境安装好,我们可以创建一个新的测试项目。我倾向于使用android studio,因为它为flutter应用的开发提供了一个完备的集成开发环境。你需要在Android studio中安装一个Dard语言插件。

现在启动Android Studio,你会看到初始化Flutter项目的选项:

从配置列表中选择**Flutter Application **。

可以为你的第一个Flutter应用起一个酷炫的名字,不过如果你和我一样不善于起名,就用timer好了。

对话框的最后一步,会要求我们填写应用的包名:

接下来Flutter SDK就会为应用创建一个初始的目录结构,main.dart是应用执行的入口。

2. 编写并测试应用代码

在Flutter中,一切都是控件(widget)。Flutter应用中的图像、图标和文本都是widget。布局元素例如行、列、栅格等用来安排其他widget的位置、大小和对齐,而这些布局元素本身也是widget。

参考如下代码修改你的main.dart文件:

现在启动Android模拟器:

注意widget的焦点,我们接下来将修改MaterialApp的内容。先看一下原始版本:

Flutter中的布局元素(也是widget)可以根据其是否支持包含多个widget,而简单地归类为两种类型。例如,Container、Padding只能包含一个子widget,而Row、Column则可以包含多个。

现在我们在Row布局中引入三个文本widget:

现在看起来是这样:

在我们开始设置组件的样式之前,建议先创建一个新的widget来处理样式问题,以便遵循DRY(Don't Repeat Yoursel)原则。

将三个子widget用一个自定义widget(后面解释)替换。现在main.dart文件变成:

我不是很擅长用户界面,但是我们还是尽力吧,加点背景色,留点空白:

同时,在文本下面插入一个按钮widget,修改后的代码运行结果如下:

现在到了app最不可或缺的部分了:状态。状态将持有timer的当前值和运行标识。我补充了一个TimerState类,它负责维护状态,同时构建widget树。

按钮用来切换timer的运行或者停止:

Dart有个用于异步操作的优雅的模块。我们可以使用其Timer类来实现读秒。修改后的TimerAppState代码如下,注意我们已经重构Timer类并改名为TimerApp以避免与异步模块中的Timer类混淆:

好了,我们已经完成了第一个Flutter应用,完整的Dard代码可以在这里下载。

使用java开发flutter_Flutter教程从零构建电商应用(一)相关推荐

  1. 【Flutter教程】从零构建电商应用(一)

    在这个系列中,我们将学习如何使用google的移动开发框架flutter创建一个电商应用.本文是flutter框架系列教程的第一部分,将学习如何安装Flutter开发环境并创建第一个Flutter应用 ...

  2. Java开发技术大杂烩(三)之电商项目优化、rabbitmq、Git、OSI、VIM、Intellj IDEA、HTTP、JS、Java...

    前言 最近公司让我维护Spring+Servlet+Hibernate+Spring Security+Jsp的老项目,正好可以锻炼我的业务逻辑和掌控项目的能力.虽然项目很老,但是其中还是有很多值我学 ...

  3. 用Elasticsearch构建电商搜索平台(有赞)

    随着互联网数据规模的爆炸式增长,如何从海量的历史,实时数据中快速获取有用的信息,变得越来越有挑战性. 电商数据系统主要类型 一个中等的电商平台,每天都要产生百万条原始数据,上亿条用户行为数据.一般来说 ...

  4. 干货:5个维度构建电商全景大数据分析

    电商是一个伴随数据而生的行业,数据在电商平台上高速运转,由此也诞生了非常多的电商信息化平台,有物流系统.供应链系统.OA系统.流量分析平台等,而各平台产生的数据都被分散在各个系统中,无法发挥出数据的价 ...

  5. java计算机毕业设计ssm木棉堂水果电商平台1r83i(附源码、数据库)

    java计算机毕业设计ssm木棉堂水果电商平台1r83i(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ ...

  6. 基于Flink+Alink构建电商全端智能AI个性化实时推荐系统

    如今随着互联网发展,数据量不断增大,大数据已经成为各个互联网公司的重点方向,而推荐系统成为互联网必不可少的配置,一个好的推荐系统,能为企业带来了可观的用户流量和销售额,特别对于电商系统,好的推荐系统可 ...

  7. 构建电商网站业务安全系统,防止“薅羊毛”

    构建电商网站业务安全系统,防止"薅羊毛" 2020-02-19 新零售安全 场景描述 业务运营活动是电商行业开展业务必不可少的手段,但大流量带来的系统可用性.优惠券带来的" ...

  8. 社区拼团小程序开发运营,社区拼团电商小程序系统开发解决方案

    在新零售的风口上,全国各地社区团购如雨后春笋般出现! 根据QuestMobile数据显示,2018年下半年,"社区团购"悄然井喷,融资额高达40亿. 在众多资本涌入的同时,各大创业 ...

  9. 小白零基础学习Java开发入门教程奉上,希望对你有所帮助!

    "持久和新"是编程语言方面对Java的适当评估. 想要进入互联网行业,想转向编程,Java无疑是一个非常普遍的选择. 但是,Java毕竟是一种编程语言,并且仍然存在一些技术障碍.如 ...

最新文章

  1. 网易有道周枫:AI正带来革命性变化,但在线教育的核心是内容
  2. windows 常用命令不完全总结
  3. 7 php程序的调试方法_PHP程序错误调试方法 让php显示错误提示
  4. python模块管理工具,Python的包管理工具
  5. 总奖金高达180万元 蚂蚁金服启动区块链创新大赛
  6. Windows 7精简版(2019)
  7. 《中国品牌故事》讲述中节能品牌故事:皓日初升
  8. 怎样从零开始训练一个AI车手?
  9. android九宫格控件,IKNinePhotoView是一个开源的Android九宫格控件
  10. 中英文字数统计以及信息熵的计算
  11. Android 炫酷自定义 View - 剑气加载
  12. 哪些iPhone具有纵向模式?
  13. 朋友圈装逼高考证图片怎么在线生成制作,高考证怎么写上自己的名字?
  14. 使用向日葵进行远程办公,手机电脑都可以时时刻刻使用远端电脑
  15. python界面教学视频_tkinter 窗口可视化你的 Python程序GUI教学
  16. xcode 快速生成代码块
  17. Word的样式库在 选项卡中_Word|表格的设置
  18. 为什么把人称呼为“总”?
  19. Android 打开网络上pdf文件
  20. matlab中frame是什么意思,Matlab中getframe函数的用法

热门文章

  1. 坚持学习100天:计算器,continue
  2. [Leetcode] 650. 2 Keys Keyboard 解题报告
  3. C/C++源程序到可执行程序exe的全过程(及汇编和反汇编的区别)
  4. 一行代码实现全站pjax无刷新加载
  5. Qt高级编程之多线程处理
  6. 【PTA】7-2 单链表基本操作 (25 分)
  7. vue中数组的七个响应式方法
  8. OSPF口字型拓扑实例二.V1
  9. 手机访问网站提示拒绝访问_保持访问者参与和访问您网站的6条提示
  10. MIX凭什么登上Bithumb交易榜第一?