【Flutter 學習筆記】最基本的應用程式 Hello World 結構介紹

更新於 發佈於 閱讀時間約 7 分鐘
raw-image
【Flutter 學習筆記】🎬 教學影片:連結
【Flutter 學習筆記】📚 文章目錄:連結

在前幾堂課中,我們已經逐步介紹了如何搭建 Flutter 開發環境,並學習了 Flutter 的核心程式語言——Dart。我們從零開始,學習了變數宣告、資料型別、運算符號、條件控制、迴圈、函數等基本語法,掌握了 Dart 的核心概念。

如果你對這些內容還不熟悉,建議先回去複習之前的課程。今天,我們將延續這個主題,學習如何建立第一個 Flutter 應用程式。如果你不確定如何從零開始建立一個全新的 Flutter 應用程式,或是如何將程式編譯並佈署到模擬器或手機上進行測試,請先回去複習之前的課程,這裡就不再贅述。

使用 Empty Application 範本建立全新 Flutter 應用程式

raw-image

當我們選擇 Application 範本來建立 Flutter 應用程式時,會自動附帶一個計數器的功能。如果選擇的是 Empty 範本,則會得到一個最基本的 Flutter 應用程式結構——Hello World。

Hello World 程式

import 'package:flutter/material.dart';

void main() {
runApp(const MainApp());
}
/*
Youtube 搜尋 : HKT 線上教室
訂閱/按譖/分享/加入會員
🇹🇼 支持創作更多教學 🇹🇼
*/
class MainApp extends StatelessWidget {
const MainApp({super.key});

@override
Widget build(BuildContext context) {
return const MaterialApp(
home: Scaffold(
body: Center(
child: Text('HKT線上教室'),
),
),
);
}
}

按下快捷鍵 F5,即可編譯並執行程式碼,並在選擇的裝置上看到執行結果。

raw-image


接下來,我們來看看這個最基本的應用程式結構。


1. 匯入 Flutter 套件

import 'package:flutter/material.dart';

這行程式碼是用來匯入 Flutter 的 Material 套件。Material 套件是 Flutter 的 UI 設計套件,提供了許多現代化且美觀的 UI 元件。如果你對這些元件感興趣,可以到官方網站查詢更多資訊。

如果我們不匯入 Material 套件,會看到許多紅色波浪線,表示找不到相關的套件。此時,我們可以將鼠標移到紅色波浪線上,並在提示區選擇快速修復,或使用快捷鍵(Windows: Ctrl + . / macOS: Command + .)來自動匯入 Material 套件。

2. 主函數

void main() {
runApp(MainApp());
}

main 函數是程式的進入點,也是 Flutter 應用程式的啟動點。runApp 函數是 Flutter 提供的用來啟動應用程式的函數,括號內需要傳入一個 Widget 元件。

3. 定義 MainApp 類別

class MainApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: Text('HKT 線上教室'),
),
),
);
}
}

在這裡,我們定義了一個 MainApp 類別,並繼承自 StatelessWidget。StatelessWidget 是用來建立無狀態的 Widget,這意味著這個 Widget 不會有任何狀態變化或互動事件。

如果需要建立有互動事件的 Widget,則應該繼承自 StatefulWidget。在這個例子中,由於我們的應用程式只是顯示純文字,並不需要互動,因此選擇 StatelessWidget。

4. build 方法

StatelessWidget 必須實作 build() 方法來定義 UI 結構。在 build 方法中,我們返回一個 MaterialApp Widget,這是用來建立一個 Material Design 的應用程式。

5. Scaffold 和 Center

Scaffold(
body: Center(
child: Text('HKT 線上教室'),
),
)

MaterialApp 的 home 參數指定了 Scaffold,而 Scaffold 提供了一個基本的應用程式框架結構,包括 AppBar、底部導航列、抽屜選單等。在 Scaffold 的 body 參數中,我們使用 Center Widget,這可以將子元件(即 child 參數指定的 Widget)放在畫面的正中央。

6. Text Widget

Text('HKT 線上教室')

在這裡,我我們使用 Text Widget 來顯示文字。你可以將文字內容更改為任何你想要的字串,例如「HKT 線上教室」。這樣的設計讓我們能夠輕鬆地在應用程式中顯示靜態文字。

7. Widget 樹狀結構

整個應用程式的結構可以視為一個巢狀的 Widget 樹狀結構,這在 Flutter 中是非常常見的。我們可以這樣理解:

  • MaterialApp 的 home 參數指定了 Scaffold。Scaffold 的 body 參數指定了 Center。Center 的 child 參數則是用來指定要顯示的元件內容,即 Text。

這樣的結構讓我們能夠清晰地組織和管理應用程式的 UI 元件。

總結

今天的課程中,我們學習了 Flutter 最基本的應用程式結構,並逐步拆解了每個部分的功能與用途。從匯入套件、定義主函數、建立 Widget 類別,到使用 Scaffold 和 Center,每一步都為我們的應用程式奠定了基礎。

avatar-img
13會員
259內容數
哈囉!歡迎光臨我的沙龍!我是 KT,一位對應用程式開發充滿熱情的開發者。在這個專屬空間,我將與您分享我在應用開發領域的深入學習心得和豐富的實戰經驗。如果您對應用程式開發技術同樣充滿好奇,渴望不斷探索新知,歡迎成為我們的會員,一起在應用程式開發的旅途上,探索更深層次的技術世界,享受學習的樂趣。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
HKT實驗室 的其他內容
在 Dart 程式語言中,除了位置參數和預設參數值外,具名參數的使用讓函式的呼叫變得更加清晰且易於理解。特別是在參數較多的情況下,具名參數的優勢尤為明顯。本篇文章將深入探討如何定義和使用具名參數,並透過實際範例來加深讀者的理解。
在 Dart 程式語言中,函式不僅可以接收參數,還能為這些參數設定預設值。這樣的設計使得函式的呼叫更加靈活,並且簡化了程式碼的撰寫。本文將深入探討如何定義具有預設參數值的函式,並透過實際範例來加深理解。
在 Dart 程式語言中,函式不僅能執行特定任務,還能回傳值,這使得函式在程式中更具彈性和重用性。本篇文章將深入探討如何定義一個具有回傳值的函式,並透過實際範例來幫助大家理解其結構與用途。
本文介紹了 Dart 中具有參數的函式。具有參數的函式允許靈活地處理不同輸入,增強程式碼的模組化和可重用性。透過範例說明,讀者能夠理解如何定義和使用這些函式,並掌握進階概念以提升程式設計能力。
本文介紹了 Dart 中基本函式的定義與使用,透過範例 sayHi 函式展示如何輸出訊息,並說明了函式的結構與呼叫方式。旨在幫助讀者理解函式的基本概念。
本文介紹 do...while 迴圈使用方式,它能確保程式碼至少執行一次的迴圈控制結構。
在 Dart 程式語言中,除了位置參數和預設參數值外,具名參數的使用讓函式的呼叫變得更加清晰且易於理解。特別是在參數較多的情況下,具名參數的優勢尤為明顯。本篇文章將深入探討如何定義和使用具名參數,並透過實際範例來加深讀者的理解。
在 Dart 程式語言中,函式不僅可以接收參數,還能為這些參數設定預設值。這樣的設計使得函式的呼叫更加靈活,並且簡化了程式碼的撰寫。本文將深入探討如何定義具有預設參數值的函式,並透過實際範例來加深理解。
在 Dart 程式語言中,函式不僅能執行特定任務,還能回傳值,這使得函式在程式中更具彈性和重用性。本篇文章將深入探討如何定義一個具有回傳值的函式,並透過實際範例來幫助大家理解其結構與用途。
本文介紹了 Dart 中具有參數的函式。具有參數的函式允許靈活地處理不同輸入,增強程式碼的模組化和可重用性。透過範例說明,讀者能夠理解如何定義和使用這些函式,並掌握進階概念以提升程式設計能力。
本文介紹了 Dart 中基本函式的定義與使用,透過範例 sayHi 函式展示如何輸出訊息,並說明了函式的結構與呼叫方式。旨在幫助讀者理解函式的基本概念。
本文介紹 do...while 迴圈使用方式,它能確保程式碼至少執行一次的迴圈控制結構。
你可能也想看
Google News 追蹤
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
先學習 HTML, CSS, JavaScript 基礎觀念, 再透過實作專案,慢慢熟悉不同的語法使用方式。
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
這篇內容,將簡單介紹Asset Browser、Workspace、Inspector、Code Browser,作為入門的介面導覽。
Thumbnail
此章節旨在介紹Java的基本語法、註解和變數的使用。透過學習,讀者將了解Java程式的基本結構、程式進入點的定義、如何撰寫單行和多行註解,以及如何宣告和初始化變數。
Thumbnail
這篇文章的目的是對Java程式設計語言進行介紹,包括它的特性、應用範疇、主要使用者,以及相關的學習資源和常見的庫與框架。此外,它也提供了一些學習Java的渠道,以及與Java相關的其他知識。
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
本文總結和介紹了Kotlin的基本語法、註解和變數的使用,透過實例進行講解,以幫助讀者更好地理解和快速上手Kotlin語言。
Thumbnail
# 簡介 身為一位專注於 Vue.js 的前端開發者,這是我第一次嘗試構建 Flutter 網頁應用。讓我們開始吧! ## 第一次嘗試 ### 第一步:創建一個 Flutter 應用 首先,通過運行以下命令來創建一個新的 Flutter 項目: ```sh flutter
Thumbnail
有沒有想過,即使沒有任何編程背景,你的創意也能在六個月內轉化成真實的App?我可以以自身經歷跟你說有了 No-Code Tool (無代碼工具) 和 AI 的幫助,這一切都是可能的!你一行 code 都不需要打,甚至也無須學習任何編程語言!沒有什麼比實踐一個自小認為不可能的任務還振奮人心的事了!
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
先學習 HTML, CSS, JavaScript 基礎觀念, 再透過實作專案,慢慢熟悉不同的語法使用方式。
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
這篇內容,將簡單介紹Asset Browser、Workspace、Inspector、Code Browser,作為入門的介面導覽。
Thumbnail
此章節旨在介紹Java的基本語法、註解和變數的使用。透過學習,讀者將了解Java程式的基本結構、程式進入點的定義、如何撰寫單行和多行註解,以及如何宣告和初始化變數。
Thumbnail
這篇文章的目的是對Java程式設計語言進行介紹,包括它的特性、應用範疇、主要使用者,以及相關的學習資源和常見的庫與框架。此外,它也提供了一些學習Java的渠道,以及與Java相關的其他知識。
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
本文總結和介紹了Kotlin的基本語法、註解和變數的使用,透過實例進行講解,以幫助讀者更好地理解和快速上手Kotlin語言。
Thumbnail
# 簡介 身為一位專注於 Vue.js 的前端開發者,這是我第一次嘗試構建 Flutter 網頁應用。讓我們開始吧! ## 第一次嘗試 ### 第一步:創建一個 Flutter 應用 首先,通過運行以下命令來創建一個新的 Flutter 項目: ```sh flutter
Thumbnail
有沒有想過,即使沒有任何編程背景,你的創意也能在六個月內轉化成真實的App?我可以以自身經歷跟你說有了 No-Code Tool (無代碼工具) 和 AI 的幫助,這一切都是可能的!你一行 code 都不需要打,甚至也無須學習任何編程語言!沒有什麼比實踐一個自小認為不可能的任務還振奮人心的事了!