Closed5

Flutter で Dart Analytics に指摘されていることを修正する

みなみみなみ

info: Close instances of dart.core.Sink

StreamController の close() メソッドを記述していないため警告が出る模様。
以下のようにメソッドを実装する。

void dispose() {
    _streamController.close()
}
みなみみなみ

info: This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its instance fields aren't final:

プロパティが finalで宣言されていないと警告が出る模様。
以下のように修正

Before

class HogeWidget extends StatefulWidget {
  String _hoge;

  HogeWidget(String hoge) {
    this._hoge = hoge;
  }
...
}

After

class HogeWidget extends StatefulWidget {
  final String hoge;

  HogeWidget({
    this.hoge
  });
...
}

どうしてもfinalにできない場合は // ignore: must_be_immutable を追加する

// ignore: must_be_immutable
class HogeWidget extends StatefulWidget {
...
みなみみなみ

info: Unused import

利用していない import がある場合に警告が出る模様。
単純に利用していないimport行を削除すればOK

みなみみなみ

info: Name non-constant identifiers using lowerCamelCase.

非定数はlowerCamelCaseで書けって怒られてる。
定数として宣言したつもりだったので以下のように修正。(final -> const に変更)

Before

static final String SORTED_DATA_SOURCE = 'sorted_data_source';

After

static const String SORTED_DATA_SOURCE = 'sorted_data_source';
みなみみなみ

info: 'title' is deprecated and shouldn't be used. Use "label" instead, as it allows for an improved text-scaling experience. This feature was deprecated after v1.19.0..

BottomNavigationBarItemtitle プロパティが v1.19.0 以降は非推奨になった模様。
titleではなくlabelを利用するように修正する

Before

BottomNavigationBarItem(
    icon: Icon(Icons.settings),
    title: Text('設定')
)

After

BottomNavigationBarItem(
    icon: Icon(Icons.settings),
    label: '設定'
)
このスクラップは2020/11/27にクローズされました