[Flutter] Hello World
Flutter
正式な書類に基づきます.
設定
SDKは、ホームページから個別にダウンロードできます.
Android studioを使用する場合は、プラグインプロジェクトの作成時にSDKをインストールできます.(バージョンによって実行方法が異なります)
すべての進行はアンドロイドスタジオを利用して行われています.
New Project
ファイルには以下のように説明されています.
フォルダ
プロジェクトの下のlibフォルダのmain.省道を使う.
Flutコードライブラリを格納するフォルダがlibフォルダです.
Fluterはこのファイルに基づいてアプリケーションを作成して実行します.
Hello World
テスト環境はAVD(Android Virtual Devices)、Pixel 2 API 28を使用した.
すぐに構築を開始すると、次の画面が表示されます.
AndroidはHelloWorldこれはちょっと気まずい
TextViewのパーツを真ん中に置きます.
~~\lib\main.dart
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
Widget build(BuildContext context) {
return MaterialApp(
title: 'Welcome to Flutter',
home: Scaffold(
appBar: AppBar(
title: const Text('Welcome to Flutter'),
),
body: const Center(
child: Text('Hello World'),
),
),
);
}
}
コードの説明
main.dartのmain()関数から始まります.
void main() => runApp(MyApp());
「=>」は、関数の実装と返されるサムネイル表現です.(かっこと同じ)runApp関数は、Widget Classをパラメータとして受け入れ、コンポーネントツリーを画面に表示する関数です.
class MyApp extends StatelessWidget
情報を格納する必要のない部品をWidgetのタイプから継承します.Widget build(BuildContext context)
この関数に基づいて、コンポーネントを画面上で構築できます.return MaterialApp()
MaterialAppは、GoogleのMaterial Designを使用できる基本的なコンポーネントクラスです.title: 'Welcome to Flutter'
ファイルには次のように記述されています.あまり目立たない属性です.A one-line description used by the device to identify the app for the user.
On Android the titles appear above the task manager's app snapshots which are displayed when the user presses the "recent apps"button.
home: Scaffold()
homeプロパティは、画面に最初に表示されたルータです.Scaffoldは、基本材料設計の視覚的レイアウト構造を実現する.
ホームはMaterialAppクラスの必須オプションです.
appBar: AppBar(title: const Text('Welcome to Flutter'), )
アプリケーションの上部バーの名前を指定します.body: const Center( child: Text('Hello World'), )
画面のCenter
にText
(Hello World)が表示されます.Widgetは
コードの説明部分ではいつもwidgetに言及していますが、Flutterでは、すべてのことがwidgetで始まっています.これはよくある内容です.
Flutterでは,Layoutや動作などが部品として扱われる.
書類には
UI를 선언하고 구성하는 방식
と書いてあります.Widgetタイプ
MySappクラスが各部品を継承していることがわかります.
StatelessWidget
ステータスを保存する必要のない静的コンポーネント
buildも最初だけ実行されます.
AndroidのImageViewやTextViewなどの静的コンテンツに使用
StatefulWidget
ユーザーが対話できるようにステータスを保存する必要があるコンポーネント
データを受け取るとリアルタイムになります.
最初の項目生成時に表示される+ボタンを押すと、数字が上がる場合に対応します.
setState()が発生するたびに再生成されるので、ダイナミックスクリーンを簡単に実現できます.
Widget Tree
サンプルコードでは、1つのコンポーネントに他の複数のコンポーネントを含めることもでき、この形状をコンポーネントツリーと呼ぶこともできます.
runApp()関数パラメータとして受信したMyAppをコンポーネントツリーのルートと呼ぶ.
Hello World構造
StatelessWidget
コンポーネントツリーのルートとしてStatelessWidgetを使用しており、簡単なテキストなので状態を保存する必要はありません.
MaterialApp
通常、複数の必須部品を包装するために使用される部品
WidgetAppに基づいて、AnimatedThemeやGridPaperなどのMateria設計に関連する機能が追加されました.
Scaffold
基本的なソリッド設計のビジュアルレイアウト構造を実装します.
Reference
この問題について([Flutter] Hello World), 我々は、より多くの情報をここで見つけました https://velog.io/@dlwpdlf147/Flutter-Setupテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol