1.项目结构

项目结构如下图所示:

  

Flutter开发(三):Flutter项目结构_ico

 

 

入口文件在 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