Closed26

flutterの勉強

fg450safg450sa

get

abstract class DashboardApi {
  CategoryApi get categories;
  EntryApi get entries;
}

こんな感じでgetが出てきた。

どうやらこれはgetterを意味している見たい。
公式ドキュメントはこちら

fg450safg450sa

アロー演算子

double get right => left + width;

という実装に遭遇した。

fg450safg450sa

Dartのmixinは多重継承みたいなことをしたい時に便利らしい。
Dartの言語しようとして多重継承は許されておらず、Flutterを使う時とかに便利になるシチュエーションがあるみたい。

fg450safg450sa

dartのコンセプトを胸に刻めとのこと
https://dart.dev/language#important-concepts

null safetyの時にnullを許容する変数を作成したい時は最後にクエスチョンマーク?をつけること#document

逆にnullのアサートをしたいときは最後に!マークをつけるらしい。#document

型アノテーションでどんなタイプでも受け入れたい時はObject?をつけるとnullを含めてどんな型でも受け入れることができる。

fg450safg450sa

メソッド名や変数名が_で始まった場合はprivateなものとみなされるらしい

fg450safg450sa

アプリ起動

vscodeの右下で使用するデバイスを設定して

main.dartを開き、F5で実行する。

コマンドラインから

以下のコマンドでchromeで起動することができる。
flutter run --device-id chrome

fg450safg450sa

Widgetのchildがよくわからない。
childで指定する時とchildrenで指定する時にどんな違いがあるのかがわからない。

fg450safg450sa

縦方向に並べたい時はColumn,横方向に並べたい時はRow
わかりやすい

fg450safg450sa

UIの勉強をする必要がありそう。
ボタンにはどんな種類のものがあるのかとか。

fg450safg450sa

finalとconstの違い

finalは実行時に値が代入され、それ以降変更ができない。
constはコンパイル時に値が代入され、それ以降変更ができない。

fg450safg450sa

状態を更新したい時はsetState関数を呼ぶようにする。
デモアプリの場合は以下のような実装になっている。

void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

実装するWIdget側でStateを継承する必要がある。

class _MyHomePageState extends State<MyHomePage>
fg450safg450sa

contextの中にはページ移動の遷移情報とかが含まれてくるイメージか?

fg450safg450sa

firebaseが便利らしい。
FireStoreを使うと複数のデバイスの状態を管理できるっぽい。

このスクラップは6日前にクローズされました