一個菜鳥的第一個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