当中国诗词大会邂逅了Flutter,从此我的眼里只有你!

使用Flutter撸一个视频播放APP(有福利哦~) 使用Flutter撸一个视频播放APP(有福利哦~) 基于苹果CMS8.0的资源站收集视频播放APP。 视频资源来源:从网上的各大资源收集站中获取视频资源,他们大都支持苹果CMS8.0的接口方法获取。 应用截图 首页 视频播放 资源管理 设置 项目地址 GitHub项目地址 release包可直接下载安装 苹果CMS8.0接口说明 api接口仅供提供数据,可以直接在苹果CMS后台联盟采集中加入-并提供给他人采集。 联盟资源分配唯一标识ID,用来区别绑定分类,这个ID一般由苹果 阅读详情

前言

Flutter是Google推出的跨平台的解决方案,Slogan是“Design beautiful apps”,国内也有知名企业在使用和推广,例如阿里、美团都有在尝试。

个人对其中的一些特性,比如JIT、Material Design、快速开发等很感兴趣,于是决定尝试一下。

诗词汇

于是诞生了诗词汇APP,首先看一下是个什么样的APP。

15038736-01c04a047b8dacdc

接下来我们一步步从不同方面说说Flutter的开发。

开始

FLutter可以在Windows、Linux、Mac上进行开发,开发工具可以使用VS Code、Android Studio、IDEA等,本文推荐使用Android Studio,主要在于Android Studio提供了FLutter Inspector工具,可以实时审查元素,解决界面的显示适配问题。

搭建开发环境

搭建环境的主要步骤:

  1. 下载SDK,下载地址。

  2. 配置PATH,如果使用Mac或者Linux系统,一定要将bin目录添加到系统PATH。

  3. 配置依赖源镜像,这一步很重要,并且需要将脚本放到启动shell中。


export PUB_HOSTED_URL=https://pub.flutter-io.cn

export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

  1. 执行flutter doctor,这一步耗时会很长,需要耐心等耐。

  2. 安卓开发工具及插件,配置编辑器。

配置编辑器

主要是给编辑器安装相应的插件。

VS Code安装flutter插件,Android Studio和IDEA需要安装Flutter和Darter插件。

其中Android Studio和IDEA基本一样,跟VS Code的主要区别在于:

  1. VS Code提供了更好的代码提示功能

  2. IDEA提供了Flutter Inspector,可实时审查页面元素

可根据个人喜好、习惯选择使用。

推荐网站

在安装、配置过程中,可参考以下中文资料:

Flutter中国

Flutter中文文档

主要技术点

Dart

Flutter项目的开发语言是Dart,Dart 是由 Google 开发的一种面向对象语言,可以编译成 ARM 和 x86 代码直接运行在 iOS、Android 设备上。

推荐先学习Dart语言官方教程,对Dart有初步了解之后再进行Flutter的学习和开发。

界面开发

终于可以进入Flutter本身了。

Widget

Flutter中页面所有元素都是Widget,又分为StatelessWidget和StatefulWidget。

顾名思义,StatelessWidget 就是指无可变状态的 Widget,这类 Widget 的状态只由创建 Widget 时传入的参数决定,一旦创建,其状态、在页面上的展示效果也就不再改变。

而 StatefulWidget 内部则存在着可变状态。当通过setState改变这些状态时,Flutter 会重新渲染该 Widget。

布局

在实际开发中,主要使用了Row、Column、Container、Expanded、Stack等。

Row、Column提供了水平、垂直方向的布局,Stack提供了堆叠方式的布局,各种容器有不同的特性,可根据实际页面需求选择搭配不同的布局。

推荐学习 官方文档 及 国内维护的中文翻译。

主要插件

话题切回到诗词汇APP,本APP收集了4000余位诗人的30多万首诗词,提供了古诗词的查询、收藏、朗诵功能,并且实现了初步的社区功能。

项目目录结构如下:

15038736-41bee798c8cfa7a9
image

开发这个APP大概用了一个月的业余时间,每天抽出一两个小时,这样折算为工作日,大概是两个星期左右,开发效率还是很高的。

下面跟大家分享一下主要功能及所使用的一些插件。

切换主题

为了实现实时切换主题颜色,使用了状态管理插件。

flutter_redux 。

极光推送

在国内厂商中,极光是少有的对Flutter提供了技术支持的,这里给极光大大的👍。

jpush_flutter

QQ

QQ的Flutter插件提供了基本的登录、分享功能。

flutter_qq

微信

微信的Flutter插件提供的功能稍微丰富,包含了支付、登录、分享、启动小程序的功能。

fluwx

事件总线Event Bus

大名鼎鼎的event_bus也提供了对Flutter的支持。

event_bus

音频

录音及播放音频也有很好的支持。

audio_recorder

audioplayer2

其它

其它诸如加载HTML、Toast提示、图片选择器、图片加载等也有较好的插件支持。

可在 官方插件库 查询相关的插件。

坑

安装、升级

FLutter的安装、升级会经常遇到卡死的问题,主要原因就是使用了Google的源,但是莫名的,即使使用了上网、设置了国内镜像后,也会遇到同样的问题。只能通过反复的flutter doctor 或 flutter upgrade直到解决问题。

开发

由于笔者最近一段时间Android项目做得较多,习惯了Android的XML布局方式,对于在代码中编写页面的形式一开始还有些不习惯,但是在按照官方例子实践了几个页面后,用代码写页面的优势就体现出来了。

在页面已经设计好的情况下,开发的时候脑海中就构思出一个Widget树,从根节点到每一个节点一级一级嵌套下去,自然而然的布局就写好了。

Dialog弹出框

使用Dialog的时候,弹出Dialog的Context及Dialog本身都会压入栈中,所以让Dialog消失的方法是Navigator.of(ctx).pop(),这样的设计既不同于Android也不同于iOS,也许跟Flutter本身所有元素都是Widget的设计有关。

编译

在编译Android版本的时候很顺畅,没有遇到任何问题。但是在编译iOS版本的时候,遇到了很多问题,直到现在也没有解决。

问题在于使用了audio_recorder和flutter_qq两个插件,而这两个插件一个要求编译选项需要设置!use_framework,一个要求不能设置,造成了冲突,在实际编译中一直编译不通过。

结语

开发结束,最终打包了Release版本的APK,安装到手机后,发现惊喜。

竟然如丝般顺滑,这是我始料未及的,转场效果、页面相应速度不输原生APP。

总而言之,个人对Flutter的前景相当看好,毕竟是Google大厂出品,并且项目本身的迭代速度很快,目前已经是0.11版本,期望在不远的将来发布正式的1.0版本,更期望国内厂商加大对Flutter的支持力度。

顺便推广一下笔者的诗词汇APP,欢迎大家 下载试用 ,或者访问 诗词汇 体验下Flutter如丝般的顺滑。_

推荐阅读:37岁老码农现身说法:那些年,我走过的弯路
疫情结束后,会影响程序员年后找工作吗?

原文作者:Game_over

原文链接:两个星期,用Flutter撸个APP - Game_over - 博客园

来源:博客园

Flutter基础--看完这篇就可以撸App 这篇内容纯干货,手把手一步一步展示,从零到一个完整的app的构建。 上一篇文章已经教大家怎么搭建flutter的环境:传送门 首先看一下我们的我们今天的demo构建出来的是啥样子的 这篇文章我们要讲的东东有 a. layout结构 b. navBar c. tabbar和列表组件的使用 d. http请求JSON数据,并渲染到列表 e. 组件之间的通信 f. 路由(带... 阅读详情

相关推荐

怎样成为一个优秀的架构师?

怎样才算是架构师? 架构师是一个既能掌控整体又能洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。看似完美的“人格模型”背后,是艰辛的探索。 架构师不是一个人,他需要建立高效卓越的体系,带领团队去攻城略地,在规定的时间内完成项目。 架构师的分类 从业界来看对于架构师的理解可以大概区分为: 企业架构师:专注于企业总体 IT 架构的设计。 IT 架构师-软件产品架构...

AI天才研究院 18万+

博客资源导航

这是我的博客目录,方便查找。

记录移动开发相关的知识 2万+

模电专题-MOS管的放大电路分析

在实际应用中,我们经常会使用到功率MOS,这时通常不会将它当成一个开关使用,而是当成一个放大器来使用,那这就需要让其工作在放大状态。参考下图中的mos管的特性曲线,右图中的输出特性曲线中有一根红色的分界线,这个线就是区分mos管工作状态的分界线,在红线的左边,mos管工作在可变电阻区,也就是线性区;在红线的右边mos管工作在恒流区,也就是饱和区。当然,还有一个截止区。本文分析主要运用模电课本中的理论计算验证。

Anitawen的博客 2万+

撸了一个APP

利用周末和节假日的时间撸了一个APP,免费+内购模式,持续更新维护中,虽然忙一点,累一点,但是挺有成就感的。 版本下载地址: itunes.apple.com/cn/app/id14… 关于苹果审核 最初的提交版本的时候也是被拒了N次,后来添加审核开关配置,做了一些应对审核的处理,现在提交版本基本上没有被拒过,一般第二天就通过了。(后面会单独总结一篇审核相关的文章) 现在正在做的 ...

weixin_34161064的博客 5万+

ADS SerDes仿真实战:深入解析Tx_Diff均衡器(EQ)参数对眼图质量的影响

本文以ADS仿真平台为基础,深入解析了SerDes设计中Tx_Diff均衡器(EQ)参数对信号完整性的核心影响。通过实战演示,详细对比了去加重(De-emphasis)与FIR抽头系数两种调节模式,揭示了它们如何有效对抗信道损耗与码间干扰,从而显著改善眼图的高度、宽度与抖动性能,为高速串行链路设计提供关键调优思路。

weixin_29230901的博客 227

企业知识库AI助手的权限管理架构:如何实现细粒度控制?

在展开架构设计前,我们需要先明确“细粒度权限”的核心定义,并理解它对AI助手的特殊意义。权限管理的“粒度”,本质是权限控制的精准程度。维度粗粒度权限细粒度权限资源范围entire document(整个文档)field/paragraph(字段/段落)操作类型read/write(读/写)generate_summary/download/export(生成摘要/下载/导出)上下文约束无(静态权限)time/ip/device(时间/IP/设备)适用场景简单系统(如内部wiki)

大数据洞察的博客 1042

两个星期,用Flutter撸个APP

前言 Flutter是Google推出的跨平台的解决方案,Slogan是“Design beautiful apps”,国内也有知名企业在使用和推广,例如阿里、美团都有在尝试。 个人对其中的一些特性,比如JIT、Material Design、快速开发等很感兴趣,于是决定尝试一下。 诗词汇 于是诞生了诗词汇APP,首先看一下是个什么样的APP。 接下来我们一步步从不同方面说说Flutter的开发...

weixin_33800593的博客 1605

Rclone替代RaiDrive?零广告免费挂载Alist WebDAV到Windows资源管理器(含自启脚本)

本文详细介绍了如何使用开源工具Rclone替代RaiDrive,实现零广告、全免费的Alist WebDAV挂载方案。通过深入解析配置参数、提供完整的自启动解决方案和解决常见问题,帮助用户在Windows资源管理器中高效管理云存储,提升使用体验。

weixin_33709364的博客 640

# Flutter从入门到奔溃(三):撸一个App基础框架

Flutter从入门到奔溃(二):撸一个App基础框架 前记 Stateless widgets和Stateful widgets的粗浅介绍 Stateless widgets StateFlu widgets 效果展示 MaterialApp 的粗浅介绍 Scaffold 的粗浅介绍 IndexedStack的粗浅介绍 页面搭建 白话文 总结: Flutter从入门到...

凌宇的博客 3352

NLP实战:如何用CoNLL-2003数据集快速提升命名实体识别模型性能(附完整代码)

本文详细介绍了如何利用CoNLL-2003公开数据集,通过深度剖析数据特点、构建鲁棒的数据预处理流水线、选择合适的模型架构(如BERT-CRF)以及优化训练策略,来系统性地提升命名实体识别(NER)模型的性能。文章提供了完整的代码示例,并分享了处理数据不均衡、标签对齐等核心挑战的实战技巧,帮助读者从理论到实践全面掌握NER任务。

cola5的博客 494

AD(Altium Designer)器件封装——立创商城导出原理图和PCB完成器件封装操作指南

官网:www.SZLCSC.COM以芯片为例器件类——>芯片类——>对应芯片确定芯片——>数据手册1:原理图2:PCB3:打开操作流程选中原理图——>文件——>导出——>AD1: ✔2:导出AD文件操作流程选中PCB图——>文件——>导出——>AD1: ✔2:导出AD文件1:PCB图2:原理图操作流程文件——>打开操作流程选中文件——>打开操作流程项目文件——>添加新的...到工程——>Schematic Library新原理图库操作流程项目文件——>添加新的...到工程——>PCB Library新的PC

XU157303764的博客 5437

还敢搞黄色?4 个色情网站被一锅端,9 名福利姬被刑拘!

点击上方“五分钟学算法”,选择“星标”公众号重磅干货,第一时间送达来源:扩展迷EXTFANS9月4日,据 @江苏网警 通报:今年3月份以来,浙江丽水莲都警方根据线索,接连捣毁“夜撸社”、...

程序员吴师兄的博客 49万+

把注释掉的代码删除掉:在 SAP ABAP 团队里打造可回溯、可测试、可演进的代码库

摘要 SAP ABAP项目中常见的"注释掉代码"反模式存在严重隐患:它增加代码噪音,制造虚假安全感,并可能引发安全和合规风险。Clean ABAP指南明确建议删除这类代码,理由包括: 版本控制系统已提供完整历史回溯能力 注释代码会误导开发者,增加理解成本 临时禁用需求应通过Feature Toggle实现 必须保留的参考代码应放入$TMP等隔离区域 团队应建立自动化检查机制,将"删除注释代码"纳入工程规范,确保代码库只表达当前有效的行为逻辑。在AI时代,可以利用工具辅

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2451

自己动手丰衣足食,撸一个flutterApp

包含功能: 首页轮播图 列表上拉加载、下拉刷新 底部导航切换保存页面状态 页面路由传值 RxDart全局消息通信封装 provider状态管理 使用sqflite实现收藏功能 … 持续增加中 第三方框架 当前 Flutter SDK 版本 2.0.4 库 功能 dio 网络框架 shared_preferences 本地数据缓存 image_picker 图片管理 flutter_swiper 轮播图 get 页面路由 pull_to_refresh 下拉刷新

源代码的博客 1822

SAP S4 HANA:按单生产(MTO)场景中的COGS分割

本文介绍了SAP S/4HANA中提供的各种选项,以在销售订单/商品是按订单生产(以下称为MTO)生产流程中的成本对象时,在基于帐户的COPA环境中报告COGS分割信息。

adam915的博客 1191

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

T4M for Unity 2019.unitypackage下载

去除substance相关报错及功能;测试Unity 2019.2.0f1下可以正常使用 文件:590m.com/f/25127180-481123789-745845 (访问密码:551685) 以下内容无关: -------------------------------------------分割线--------------------------------------------- 前段时间打造了一款简单易用功能全面的图片上传组件,现在就来将上传的图片以图片集的形式展现到App上。出于用户体验考

gumenghua_com1的博客 2139

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

自己撸一个阅读类休闲app

其实自己早就想撸一个app,因为自己一直没什么机会可以做那种好看的app,对我而言好看就是能安装在手机上,然后看着舒服的。 所以也对自己所学进行一次整合,然后再次扬帆。 感谢那些贡献开源api的大神,也感谢gank 主要使用的开眼的api,gank开放的api; 功能目前有不完善的地方自己仍努力的的再写; 主要使用的依赖库 material xutils jiaoziv...

jia_you1的博客 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

徒手撸一个好玩的App:美图

简介 做一个可以看妹子的App. 主要特性 支持浏览图片,支持上下翻页 支持收藏图片 效果图 技术点 Retrofit+okHttp:访问网络接口获取数据 Coroutines:异步调用 ViewPager2:进行翻页 Glide:显示图片 Room:操作sqLite数据库记录和读取数据 BottomNavigationView: 底部导航栏 Recyclerview:显示列表 代码目录截图 完整源代码 https://gitee.com/cxyzy1/browse-beauty ...

蓝不蓝编程 1万+

粉丝给我发色情app,我反手对色情app渗透,我居然发现了 ....

前言:某个星期六的晚上,我还在追剧 《开端》准备下机睡觉,修君给我发了某站,我打开一看,好家伙,不渗透一波怎么能对得起它呢?背景:找到某app的界面:咳咳,小夕啥都不知道啥都不懂看了看功能...

小詹学python的博客 7545

一个人竟然撸了一个微博 APP

早上好,骚年,我是小菜,我的公众号「菜鸟翻身」会推荐 GitHub 上有用的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值。 引语 今天在 GitHub 的时候,又又又发现了一款厉害的源码,这就是 Flutter 仿微博客户端,包含首页、视频、发现、消息(仿微博聊界面)及个人中心模块,仿微博最新版本,还原微博 80%的界面,总共涉及到了几十个界面和接口,用到了 Flutter 中的大部分组件。 可以根据 GitHub 上面提供的而下载地址,去下载了这个仿写的 APP,根据提供的测试用户账号和密码.

GitHub指北 1万+

开源项目

1、BeautifulRefreshLayout-漂亮的美食下拉刷新https://github.com/android-cjj/BeautifulRefreshLayout/tree/BeautifulRefreshForFood 2、Material Design-动画风格的选项卡tab切换功能https://github.com/neokree/MaterialTabs 3、Twinkli

坚持梦想的博客 5541

地表最强APP推荐合集,让你甩别人一条街

1.全历史 当你村里的二大爷,国外回来的Uncle刘想要和你交流交流历史时,没关系,查看这个App。从生命起源到现代文明,从东亚到北美洲,从政权到经济,从军事到民生,保证让你上知天文,下知地理,聊得你二大爷也很蒙圈。 2.Canva 朋友相聚怎么少的了拍照发朋友圈!Canva提供朋友圈拍照模板以及各种特效,可爱的,青春的,春节气氛的,统统都有。万一结个婚呢,还可以在上面做贺卡。 3.美丽修行 ...

weixin_43812910的博客 8万+

撸一个自己的文件下载器

欢迎转载,也请保留这段申明 ,原文地址:https://mp.youkuaiyun.com/mdeditor/81051646 开发中,我们常常会需要有apk升级,或者下载某个文件的问题。所以这里就写了个通用的文件下载的功能 ZDloader。通过这篇文章你将看到 常用框架 API 接口设计 多线程下载原理与实现 后台下载,界面退出之后,进来继续显示下载UI的原理 工程链接如下:https://git...

夏至的稻穗的博客 2万+

激情撸一发,“爱尚阅”app

利用项目空闲时间,写了一个在线阅读小说的app,由于涉及到版权问题,源就不再这里介绍了。 “爱尚阅”是基于MVP架构设计的一款app,UI风格Material design. 开发API介绍: 1、RecyclerView 2、OkHttp 3、Glide 4、Jsoup 5、Retrofit2 6、Bufferknife 7、RxJava 8、Materialrefeshla

Android再出发 2万+
上一篇: 临近毕业:AndroidVS大数据Java的offer,我到底应该怎么选?
下一篇: 2017-2020历年字节跳动Android面试真题解析(累计下载1082万次,持续更新中)
Python_林一
博客等级 码龄7年 887粉丝 510原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值