1.项目结构
项目结构如下图所示:
入口文件在 lib - main.dart
2.资源
Flutter 中 assets 可以是任意类型的文件,而不只是图片
如将 data.json 放到 my-assets 文件夹中
然后在 pubspec.yaml 中声明 assets:
assets:
- my-assets/data.json
在代码中,通过 AssetBundle 访问它:
import 'dart:async' show Future;
import 'package:flutter/services.dart' show rootBundle;
Future<String> loadAsset() async {
return await rootBundle.loadString('my-assets/data.json')
}
如果像 Android 一样,将不同分辨率的图片放到不同的文件夹,可以这样写:先将 icon.png 放入到 images 文件夹中,把其它分辨率图片放入对应的子文件中:
images/icon.png
images/2.0x/icon.png
images/3.0x/icon.png
然后在 pubspec.yaml 中声明这个图片:
assets:
- images/icon.png
在代码中借助 AssetImage 来访问它:
return AssetImage("images/icon.png");
也可以通过 Image widget 直接使用:
@override
Widget build(BuildContext context){
return Image.asset(images/icon.png);
}
归档 strings 资源;将 strings 资源作为静态字段保存在类中。如:
class Strings {
static String a = "HelloWorld!";
}
通过下面代码访问它:
Text(Strings.a)
引入时间/日期格式化,需要引入 flutter_localizations 包,比如:
dependencies:
#...
flutter_localizations:
sdk: flutter
intl:"^0.15.6"
3.依赖
添加依赖应该在 pubspec.yaml 中添加,如:
dependencies:
flutter:
sdk: flutter
google_sign_in: ^3.0.3