AndroidStudioでFlutterのプロジェクト作成方法をご紹介します。そんなの知っているよという方は読み飛ばしてください。
新規プロジェクト
誰にでも初めてはあるものです。Flutterを初めて触る人の最初の一歩です。
New Flutter Project
- AndroidStudioを起動します。
- プロジェクト>New Flutter Projectとクリックします。
- デフォルトのまま次へクリックします。
プロジェクト名の入力
必ず小文字アルファベットでプロジェクト名を入力します。
Organizationの入力
テスト用のプロジェクトはデフォルトのままでいいですが、本番を考慮すれば、ご自身のドメンを逆さまに表記します。
Webにチェック
Webブラウザ用のアプリも同時に作成したい場合は、Platform項目のwebにチェックを入れます。
完了をクリックすると新規プロジェクトが作成されます。
デフォルトアプリの起動
デバイスの選択
まずデフォルトのアプリを起動してみましょう。
デバイスの選択でOpen iOS Simulator
を選択します。
シミュレーターの起動
すると、iPhoneのシミュレーターが起動します。
アプリの起動
実行ボタン(緑の右向き三角)をクリックするとデフォルトのアプリが起動します。
右下の + ボタンをクリック(タップ)するたびに数字がアップするだけの簡単なアプリです。
Hello World
それでは、プログラム作成の第一歩である「Hello World」の表示までやってみましょう。
main.dartの初期化
lib/main.dartを開き、中のコードを全削除します。
material.dartのインポート
imp + Enterとすると、AndroidStudioが候補を表示しますので、material.dartを選択すると、下記の様に自動的に入力されます。
import 'package:flutter/material.dart';
main関数の作成
下記の様にmain関数を記述します。
void main() => runApp(const MyApp());
MyAppクラスの作成
2行ほど下の方で、stl と入力してEnterします。
するとStatelessWidgetのコードスニペットが生成されますので、カーソルのある箇所で、MyAppと入力してEnterします。
return Containerの行以降を下記に変更します。
return const MaterialApp(
home: Scaffold(
body: Center(
child: Text('Hello World'),
),
),
);
完成
これでプログラムの第一歩 HelloWorldプログラムの完成です。
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: Scaffold(
body: Center(
child: Text('Hello World'),
),
),
);
}
}
下記に簡単な説明書いておきます。
- インポート文(1行目)
-
この行は、Flutterの
material
ライブラリをインポートしています。material ライブラリは、Material Designのウィジェット、カラー、テーマなどを提供し、これによりアプリケーションに美しいUIを作成することができます。 - メイン関数(3〜5行目)
-
main
関数は、Flutterアプリケーションのエントリーポイントです。runApp
関数は、アプリケーションを起動し、渡されたウィジェット(MyApp
ウィジェット)を画面に描画します。- void:戻り値のない型です。つまり、return が無いということです。
- 下記の様に記述することも出来ます。
void main() => runApp(const MyApp());
- 上記の => は
アロー演算子
といい1行コードの時に使用できます。
- MyAppクラス(7〜20行目)
-
MyApp
クラスはStatelessWidget
を拡張しています。StatelessWidget は、不変のウィジェットで、その状態は変更されません。MyApp クラスは、カスタムのコンストラクタを定義し、build
メソッドをオーバーライドしています。- Widget:ウィジェットとはアプリを構成する要素です。基本的にFlutterの見た目を構成する部分はほとんどWidgetでできていると考えても問題ありません。
- extends:クラスの継承を意味します。つまり、MyAppクラスは、StatelessWidgetを継承します。
- StatelessWidget:不変的なWidgetで、ほとんどのウィジェットはこれに当たります。ボタンや毎回同じ表示をする部分はこれを使います。
- コンストラクタ(8行目)
-
MyApp
のコンストラクタはオプショナルなkey
パラメータを受け取り、親クラスのコンストラクタに渡します。- const:再代入ができない変数(定数)を指定するときに使います。同じく、再代入できない変数で、
final
が有りますが、fainalは値の代入時に判断され、constはコンパイル時に判断されます。 - key:Widgetを再描画するときに使用するIDを指定します。取りあえずは現状では、理解できなくても大丈夫だと思います。
- const:再代入ができない変数(定数)を指定するときに使います。同じく、再代入できない変数で、
- buildメソッド(11〜19行目)
-
build
メソッドは、このウィジェットが画面にどのように表示されるかを定義します。このメソッドはMaterialApp
ウィジェットを返し、このウィジェットはアプリケーションのルートウィジェットとなります。
デバイスの選択
<no device selected>と書かれた箇所をクリックして、Open iOS Simulatorを選択します。
するとiPhone のシミュレーターが起動します。
アプリの起動
緑の右向き三角のRunアイコンをクリックして、アプリを起動します。
iPhoneの真ん中に「Hello World」と表示されていたら、完成です。
バンザーイ!!
コメント