项目结构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.