一个菜鸟的第一个Flutter
APP,本文大部分设计摘抄自一周时间编写你的第二个 Flutter APP.因为对于Dart
和Flutter
缺少基本的熟悉,基本上算是以实战来做为学习方法,所以部分代码可能不是很规范,你们有发现的部分欢迎提出来一块儿交流。 该项目实际写做时间可能低于做者的时间,由于我大部分时间都是学习做者的源码,而后本身手动敲一遍,遇到不能理解的代码就百度,所以只有少部分的代码是自主开发的。效果以下:git
flutter
没有clean project
等快捷键(或许是我尚未发现),可是这些都是能够经过命令行来实现的,如下是经常使用命令的列表:github
经常使用命令 | 含义 |
---|---|
--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 |
名字挺高大上的,其实我就只是想避免字符串的硬编码,结果看文档、看博客、看哔哩哔哩的视频教程,到最后才大概明白是怎么一回事,这里我就不作文字的搬运工了,你们能够看看我学习的几个博客:(内容有重复,各自侧重点不同)api
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
仍是复杂太多啦!bash