項目結構android
|--projectname json
|--android(android部分的工程文件)app
|--build(項目的構建輸出目錄)測試
|--iOS(iOS部分的工程文件)ui
|--lib(項目中的Dart源文件)spa
|--src(包含其餘源文件)圖片
|--main.dart(程序入口)資源
|--test(測試相關文件)字符串
|--pubspec.yaml(項目依賴配置文件) get
項目圖片
flutter中,將resource和assets都做爲assets處理,assets能夠是任意文件,如:圖片,json等;
在配置文件pubspec.yaml要聲明assets,在代碼中經過AssetBundle來訪問;
android不一樣像素密度的圖片和flutter的像素比率對應關係
ldpi ------ 0.75x
mdpi ------ 1.0x
hdpi ------- 1.5x
xhdpi ------ 2.0x
xxhdpi ----- 3.0x
xxxhdpi ----- 4.0x
項目國際化
flutter目前沒有專門的字符串資源系統,最佳作法就是將string資源做爲靜態字段保存在類中,flutter默認只支持美式英語字符串,若是要支持別的語言,須要引入flutter_localizations包,另外也須要引入intl包來支持i10n機制,如日期/時間格式化。
若是要使用flutter_localizations包,還須要在app widget中制定localizationDelegates和 supportedLocales
flutter項目依賴
flutter使用Dart構建系統和Pub包管理器來處理依賴,將Android和iOS native包裝應用程序的構建委派給相應的構建系統。
Android在添加平臺相關的所需依賴使用Android文件夾下的Gradle,iOS使用Podfile.