博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
StudyFlutter——我的第一个APP
阅读量:7052 次
发布时间:2019-06-28

本文共 1755 字,大约阅读时间需要 5 分钟。

一个菜鸟的第一个Flutter APP,本文大部分设计摘抄自.由于对于DartFlutter缺乏基本的熟悉,基本上算是以实战来作为学习方法,因此部分代码可能不是很规范,大家有发现的部分欢迎提出来一起交流。 该项目实际写作时间可能低于作者的时间,因为我大部分时间都是学习作者的源码,然后自己手动敲一遍,遇到不能理解的代码就百度,因此只有少部分的代码是自主开发的。效果如下:

flutter没有clean project等快捷键(或许是我还没有发现),但是这些都是可以通过命令行来实现的,以下是常用命令的列表:

常用命令 含义
--version 查看Flutter版本
-h或者--help 打印所有命令行用法信息
analyze 分析项目的Dart代码
build
channel 列表或开关Flutter通道
clean 删除构建/目录
config 配置Flutter设置
create 创建一个新的Flutter项目
devices 列出所有连接的设备
doctor 展示了有关安装工具的信息
drive 为当前项目运行Flutter驱动程序测试
format 格式一个或多个Dart文件
fuchsia_reload 在Fuchsia上进行热重载
install 在附加设备上安装Flutter应用程序
logs 显示用于运行Flutter应用程序的日志输出
packages 命令用于管理Flutter包
precache 填充了Flutter工具的二进制工件缓存
run 在附加设备上运行你的Flutter应用程序
screenshot 从一个连接的设备截图
stop 停止在附加设备上的Flutter应用
test 对当前项目的Flutter单元测试
trace 开始并停止跟踪运行的Flutter应用程序
upgrade 升级你的Flutter SDK

支持国际化

名字挺高大上的,其实我就只是想避免字符串的硬编码,结果看文档、看博客、看哔哩哔哩的视频教程,到最后才大概明白是怎么一回事,这里我就不做文字的搬运工了,大家可以看看我学习的几个博客:(内容有重复,各自侧重点不一样)

localizationsDelegates: [        S.delegate,        GlobalMaterialLocalizations.delegate,        GlobalWidgetsLocalizations.delegate,      ],      supportedLocales: [        const Locale('en', 'US'), // 美国英语        const Locale('zh', 'CN'), // 中文简体        //其它Locales      ],复制代码

其实在App内完成上面国际化的配置后,Materia的组件就可以实现各个语言的切换(默认是仅有英),接下来说一说我遇到的问题:安装flutter_i18n插件以后,自动生成了相应的代码,但是,注意但是来了。LocaleListResolutionCallback对象无法找到对应的class(undefined class).查看issuse的时候,作者提示更新flutter,我老老实实的更新SDK:flutter upgrade,结果还是失败:

fatal: unable to access 'https://github.com/flutter/flutter.git/': transfer closed with outstanding read data remaining复制代码

百度谷歌都没有找到解决方案,最后有一位微信大佬南无大乘妙法莲华经给我出了一个主意——直接下载SDK,下载解压后复制到安装目录,给他来一个替换文件夹。结果果然搞定啦! 最后还是要吐一下槽,flutter设计的字符串资源确实相比于Android还是复杂太多啦!

待完成

  • 完成主体颜色手动修改
  • 利用玩安卓的api实现TODO清单功能

参考:

参考:

参考:

转载于:https://juejin.im/post/5ce0f4706fb9a07eea3242f6

你可能感兴趣的文章
众筹在中国的四种模式
查看>>
有关编写HTTP接口
查看>>
cisco pix firewall 基本配置
查看>>
php解析html类库simple_html_dom
查看>>
OpenFEA技巧篇 | 文本分割
查看>>
mac 关闭tomcat进程
查看>>
安装本地JAR到本地maven仓库
查看>>
JDK动态代理
查看>>
详解Beyond Compare可以合并源代码吗?
查看>>
基于Twisted的网络服务器编写
查看>>
原码反码补码详解
查看>>
JAVA中对于UNIX和Windows系文件分隔符的差异
查看>>
PHP7性能提升的原因
查看>>
mysql配置参数理解说明
查看>>
在使用service测试类的时候需要在控制台中打印信息提示,然后在进行controller层进行使用需要注意事项...
查看>>
转载001:create-react-app 脚手架不支持less解决方案
查看>>
ArrayList最大容量
查看>>
职场 | 算法是怎样决定你的职业生涯的
查看>>
Kotlin DSL详解
查看>>
Dart服务器端 shelf_rest包
查看>>