| B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | |||||||||||||||||||||||||
2 | 1-1 | ||||||||||||||||||||||||
3 | 大枠 | 導入部分。flutterの構成について解説(MaterialApp・StatefulWidget・String・Scaffold等の解説) | |||||||||||||||||||||||
4 | 行数 | 内 容 | |||||||||||||||||||||||
5 | 4 | コード | import 'package:flutter/material.dart'; | ||||||||||||||||||||||
6 | 解説 | flutterを使って、MaterialDesign(アドンロイドアプリっぽいデザイン)を作る宣言のコード。インポートする。 | |||||||||||||||||||||||
7 | 6 | コード | void main() => runApp(MyApp()); | ||||||||||||||||||||||
8 | 解説 | runApp:アプリを起動させる。runApp関数の中に入るWidgetを一番最初に起動させる(ツリーのてっぺんにする) | |||||||||||||||||||||||
9 | 8 | コード | class MyApp extends StatelessWidget { | ||||||||||||||||||||||
10 | 解説 | extends:継承する(左辺は右辺の機能を使える)。この場合、MyAppはStatelessWidgetの機能を使える、という意味 StatelessWidget:アプリ起動中に画面に変化が無いときに使うWidget。(状態を持たない) | |||||||||||||||||||||||
11 | 9 | コード | @override | ||||||||||||||||||||||
12 | 解説 | @override:上書きする。この場合、State<MyHomePage>内のbuildメソッドの内容を上書きする、という意味。 | |||||||||||||||||||||||
13 | 10 | コード | Widget build(BuildContext context) { | ||||||||||||||||||||||
14 | 解説 | build:マシン語からアプリ(内容)を作成すること。【備考】コンパイル:プログラミング言語(ソースコード)をマシン語に翻訳すること BuildContextは、buildメソッドを実装してるクラス | |||||||||||||||||||||||
15 | 11 | コード | return MaterialApp( | ||||||||||||||||||||||
16 | 解説 | return:戻り値がある場合に使う。 MaterialApp:Android風のスタイルをつくること | |||||||||||||||||||||||
17 | 16 | コード | home: MyHomePage(title: 'Picture'), | ||||||||||||||||||||||
18 | 解説 | 「タイトルがPicture、という引数をもったMyhomePageをホームにする」。 | |||||||||||||||||||||||
19 | 21 | コード | class MyHomePage extends StatefulWidget { | ||||||||||||||||||||||
20 | 解説 | StatefulWidget:アプリ起動中に画面に変化があるときに使うWidget(状態を持つ) StatefulWidgetを継承( extends )したクラスを作成 → createStateメソッドで “State” を返す StatefulWidgetはそれ自体はほとんどスカスカで、実体はcreateStateで返すStateにほぼ集約されていて、Stateは次の機能を持ちます。 ①状態を保持・更新 ②StatelessWidgetと同様にbuildメソッドでWidgetツリーを返す | |||||||||||||||||||||||
21 | 22 | コード | MyHomePage({Key key, this.title}) : super(key: key); | ||||||||||||||||||||||
22 | 解説 | this.titleでタイトルをMyAppで設定した、タイトル:Pictureを受け取る。 | |||||||||||||||||||||||
23 | 24 | コード | final String title; | ||||||||||||||||||||||
24 | 解説 | final:Dartの予約語。一度中身を設定したら、代入等で変更できない。つまり、代入したアドレスが変更できない(アドレス先の内容変更は可能) この場合、titleはMyAppの段階で「Picture」と定められており、そこから変更はできない。 【備考】constとfinal、両方とも一度設定したら中身を変更できないという意味だが、 const:アプリが動く前から値が決まっている(コンパイル時) final:アプリが動かないと値は決まらない という違いがある。 | |||||||||||||||||||||||
25 | 35 | コード | return Scaffold( | ||||||||||||||||||||||
26 | 解説 | Scaffold:アプリの土台。appBarとbosyで構成される。 | |||||||||||||||||||||||
27 | 36-38 | コード | appBar: AppBar(title: Text(widget.title),), | ||||||||||||||||||||||
28 | 解説 | AppBarに映るテキストを表示する。widget.titleとは、MyHomePageのtitle(Picture)を指す | |||||||||||||||||||||||
29 | 39 | コード | body: Text(widget.title), | ||||||||||||||||||||||
30 | 解説 | bodyに映るテキストを表示させる。タイトルであるPictureを表示させる。 | |||||||||||||||||||||||
31 | |||||||||||||||||||||||||
32 | |||||||||||||||||||||||||
33 | その他 補足 | コンパイル ビルド | プログラミング言語(ソースコード)→【コンパイル】→マシン語(0,1)→【ビルド】→アプリに反映 | ||||||||||||||||||||||
34 | メソッド クラス | 文を複数まとめて名前をつけたもの『メソッド』、メソッドを複数まとめて名前をつけたもの『クラス』 | |||||||||||||||||||||||
35 | |||||||||||||||||||||||||
36 | |||||||||||||||||||||||||
37 | |||||||||||||||||||||||||
38 | |||||||||||||||||||||||||
39 | |||||||||||||||||||||||||
40 | |||||||||||||||||||||||||
41 | |||||||||||||||||||||||||
42 | |||||||||||||||||||||||||
43 | |||||||||||||||||||||||||
44 | |||||||||||||||||||||||||
45 | |||||||||||||||||||||||||
46 | |||||||||||||||||||||||||
47 | |||||||||||||||||||||||||
48 | |||||||||||||||||||||||||
49 | |||||||||||||||||||||||||
50 | |||||||||||||||||||||||||
51 | |||||||||||||||||||||||||
52 | |||||||||||||||||||||||||
53 | |||||||||||||||||||||||||
54 | |||||||||||||||||||||||||
55 | |||||||||||||||||||||||||
56 | |||||||||||||||||||||||||
57 | |||||||||||||||||||||||||
58 | |||||||||||||||||||||||||
59 | |||||||||||||||||||||||||
60 | |||||||||||||||||||||||||
61 | |||||||||||||||||||||||||
62 | |||||||||||||||||||||||||
63 | |||||||||||||||||||||||||
64 | |||||||||||||||||||||||||
65 | |||||||||||||||||||||||||
66 | |||||||||||||||||||||||||
67 | |||||||||||||||||||||||||
68 | |||||||||||||||||||||||||
69 | |||||||||||||||||||||||||
70 | |||||||||||||||||||||||||
71 | |||||||||||||||||||||||||
72 | |||||||||||||||||||||||||
73 | |||||||||||||||||||||||||
74 | |||||||||||||||||||||||||
75 | |||||||||||||||||||||||||
76 | |||||||||||||||||||||||||
77 | |||||||||||||||||||||||||
78 | |||||||||||||||||||||||||
79 | |||||||||||||||||||||||||
80 | |||||||||||||||||||||||||
81 | |||||||||||||||||||||||||
82 | |||||||||||||||||||||||||
83 | |||||||||||||||||||||||||
84 | |||||||||||||||||||||||||
85 | |||||||||||||||||||||||||
86 | |||||||||||||||||||||||||
87 | |||||||||||||||||||||||||
88 | |||||||||||||||||||||||||
89 | |||||||||||||||||||||||||
90 | |||||||||||||||||||||||||
91 | |||||||||||||||||||||||||
92 | |||||||||||||||||||||||||
93 | |||||||||||||||||||||||||
94 | |||||||||||||||||||||||||
95 | |||||||||||||||||||||||||
96 | |||||||||||||||||||||||||
97 | |||||||||||||||||||||||||
98 | |||||||||||||||||||||||||
99 | |||||||||||||||||||||||||
100 | |||||||||||||||||||||||||