Skip to main content

設定您的專案

說明如何建立新的 Flutter 應用程式的操作指引。

預覽您將建置的維基百科閱讀器應用程式,並設定含有必要套件的初始專案。

您將完成的事項

預覽您將建置的維基百科閱讀器應用程式
新增用於處理 HTTP 請求與維基百科資料的套件
設定初始專案結構

Steps

1

簡介

在接下來的幾堂課中,您將學習如何在 Flutter 應用程式中處理資料。 您將建置一個能夠從 Wikipedia API 擷取並顯示文章摘要的應用程式。

A screenshot of the completed
Wikipedia reader app showing an article with image, title,
description, and extract text.

這些課程將探討以下主題:

  • 在 Flutter 中發出 HTTP 請求。
  • 使用 ChangeNotifier 管理應用程式狀態 (state)。
  • 使用 MVVM 架構模式。
  • 建立能在資料變更時自動更新的響應式使用者介面。

本教學假設您已完成 Dart 入門Flutter UI 簡介 教學,因此不會另行說明 HTTP、JSON 或元件 (Widget) 基礎等概念。

2

建立新的 Flutter 專案

使用 Flutter CLI 建立新的 Flutter 專案。 在您慣用的終端機中,執行以下指令以建立一個最簡化的 Flutter 應用程式:

flutter create wikipedia_reader --empty
3

新增必要的相依套件

您的應用程式需要 http 套件 來發出 HTTP 請求。 將其加入您的專案:

cd wikipedia_reader && flutter pub add http
4

檢視起始程式碼

首先,建立新檔案 lib/summary.dart 以定義維基百科文章摘要的資料模型。 此檔案沒有特殊邏輯,僅是代表維基百科 API 所回傳資料的類別集合。 您只需將下方程式碼複製到檔案中,之後便無需再關注此檔案。 若您對基本 Dart 類別尚不熟悉,請先閱讀 Dart 入門 教學。

接著,開啟 lib/main.dart,將現有程式碼替換為以下基本結構, 其中已加入應用程式所需的必要匯入:

lib/main.dart
dart
import 'dart:convert';
import 'dart:io';

import 'package:flutter/material.dart';
import 'package:http/http.dart';

import 'summary.dart';

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

class MainApp extends StatelessWidget {
  const MainApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text('Wikipedia Flutter')),
        body: const Center(child: Text('Loading...')),
      ),
    );
  }
}

此程式碼提供了帶有標題列與佔位內容的基本應用程式結構。 頂部的匯入項目包含了 HTTP 請求、JSON 解析以及維基百科資料模型所需的一切。

5

執行您的應用程式

執行您的應用程式,確認一切正常運作:

flutter run -d chrome

您應該會看到一個簡單的應用程式,其應用程式列顯示「Wikipedia Flutter」, 畫面中央顯示「Loading...」。

6

回顧

您完成的事項

以下是您在本課中建置與學習內容的摘要。
預覽了維基百科閱讀器應用程式

您正在開始一個以資料處理為核心的新教學單元。 您將學習 HTTP 請求、使用 ChangeNotifier 進行狀態管理, 以及 MVVM 架構模式。

新增了 http 套件並建立了資料模型

您使用 flutter pub add 安裝了用於發出 HTTP 請求的 http 套件, 並為維基百科資料建立了 Summary 類別。 套件讓您能夠善用社群已建置的現有程式碼, 而無需從頭開始建置所有功能。

設定了初始專案結構

您的應用程式已具備基本結構,包含 HTTP 請求、JSON 解析 以及維基百科資料所需的所有匯入項目。 您已準備好開始從維基百科 API 擷取真實資料!

7

自我測驗

專案設定測驗

1 / 2
執行 `flutter create` 時,`--empty` 旗標的作用是什麼?
  1. 建立一個只能在網頁上執行的專案。

    Not quite

    此旗標不限制平台;它只影響起始範本。

  2. 建立一個完全沒有任何檔案的專案。

    Not quite

    專案仍會包含必要的檔案;它只是使用最簡化的範本。

  3. 建立一個不含任何相依套件的專案。

    Not quite

    專案仍會包含 Flutter 核心相依套件。

  4. 建立一個樣板程式碼較少的最簡化 Flutter 專案。

    That's right!

    `--empty` 旗標會產生一個不含預設計數器應用程式的最簡化起始範本。

用來為 Flutter 專案新增套件相依性的指令是什麼?
  1. `flutter install [package_name]`

    Not quite

    正確的指令使用 `pub add`,而非 `install`。

  2. `flutter package install [package_name]`

    Not quite

    不存在 `flutter package` 指令;請使用 `flutter pub add`。

  3. `dart get [package_name]`

    Not quite

    新增套件的指令是 `flutter pub add` 或直接編輯 pubspec.yaml。

  4. `flutter pub add [package_name]`

    That's right!

    執行 `flutter pub add` 會將套件加入 pubspec.yaml 並下載套件。