StudyFlutter——個人第一個APP

一個菜鳥的第一個Flutter APP,本文大部分設計摘抄自一週時間編寫你的第二個 Flutter APP.因爲對於DartFlutter缺少基本的熟悉,基本上算是以實戰來做爲學習方法,所以部分代碼可能不是很規範,你們有發現的部分歡迎提出來一塊兒交流。 該項目實際寫做時間可能低於做者的時間,由於我大部分時間都是學習做者的源碼,而後本身手動敲一遍,遇到不能理解的代碼就百度,所以只有少部分的代碼是自主開發的。效果以下:git

歡迎頁

首頁

更多菜單

分享(IOS未實現

時間篩選

收藏列表

刪除列表

空列表

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

待完成

  • 完成主體顏色手動修改
  • 利用玩安卓的api實現TODO清單功能

參考:一週時間編寫你的第二個 Flutter APP

參考:Flutter 分享到第三方應用

參考:Flutter 原平生臺交互

源碼:https://github.com/Vicent9920/study_flutter

相關文章
相關標籤/搜索