溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flutter如何安裝使用

發布時間:2021-12-22 13:56:44 來源:億速云 閱讀:173 作者:小新 欄目:移動開發

這篇文章給大家分享的是有關Flutter如何安裝使用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

序言

Flutter出來已經有些日子了,越來越多的開發者也開始嘗試使用 Flutter 進行開發,Flutter 是谷歌的移動UI框架,基于 Dart 語言,支持多端開發(Android、iOS、Web),聽到這里是不是想要躍躍欲試了,由于小編也正在踩坑的路上,所以有寫的不對的地方還請多多指教。

官網

任何一門語言,官網都是最好的學習渠道,雖然說大多數都是英文的,但現在谷歌已經有很多都支持中文版本了:

Flutter中文官網: https://flutterchina.club/

安裝

安裝直接按照官網的來就行了,最主要的就是配置一下環境變量,下載下來的 flutter 包你可以理解為 java 中的 jar 包,開發的時候需要導入的。

特性

1、widget(相當于Android中的View)

我們都知道,在 Android 中頁面是由很多個View來構成的,在 Flutter 中,Widget 用來構成頁面上的內容,但是和 View 不同的是,Widget 是不可變的,有些人可能就有疑問了,不可變那豈不是靜態頁面,非也非也,那肯定有其他辦法的咯,接著往下看:

1.1、不可變狀態的小部件StatelessWidget

你可以將 StatelessWidget 理解成 Android 中的 ViewGroup,這是一個無狀態的小部件,什么意思呢,就是當你的頁面部分不依賴于對象配置信息外的其他任何內容時,簡而言之就是你的頁面是靜態頁面時,就可以使用它。

1.2、可變狀態的小部件StatefulWidget

和 StatelessWidget 一樣可以理解為 ViewGroup,但是它是有狀態的,這個狀態類似于 Activity 的生命周期,當你的頁面需要動態的改變時,你就需要使用它。

注意

如果一個 Widget 發生了變化(用戶與之交互),那么它就是有狀態的;如果一個子 Widget是有狀態的,那么包裹它的父 Widget 可以是有狀態的也可以是無狀態的,簡而言之,StatelessWidget 中可以包含 StatefulWidget,而 StatefulWidget 中也可以包含 StatelessWidget。

2、Android中的四大組件還有與之對應的嗎

除了頁面之外,其他的肯定都沒有,因為畢竟是跨端開發的框架,不是專門為 Android 而設計的,可能有些人要問了,那如果想實現 Android 中的一些特殊的功能豈不是做不了了,非也非也,這個就屬于另外一個知識了,賣個關子先,接著往下看;Activity 和 Fragment 在 Flutter 中都變成了 Widget。

3、資源文件

3.1、資源圖片

Android中資源圖片有很多種分辨率,Flutter 遵循像iOS這樣簡單的3種分辨率格式: 1x2x3x,在根目錄下創建一個 images 的文件夾,然后再在 images 文件夾中創建三個文件夾用來存放不同分辨率的圖片:

../icon.png

../2.0x/icon.png

../3.0x/icon.png

然后,你需要在 pubspec.yaml 中配置這些圖片,這個文件相當于Android中的 gradle文件。

3.2、字符串

在 Flutter 中,目前最好的做法就是新建一個類,用來聲明你所需要的字符串

  聲明:  class Strings{    static String welcomeMessage = "Welcome To Flutter";
  }
  使用:  new Text(Strings.welcomeMessage);

4、生命周期

在 Flutter中,StatelessWidget是沒有生命周期的,只有 StatefulWidget 才有,我們一般通過掛接到WidgetsBinding觀察并監聽didChangeAppLifecycleState更改事件來監聽生命周期事件,有以下這些生命周期:

resumed - 應用程序可見并響應用戶輸入。這是來自AndroidonResume

inactive - 應用程序處于非活動狀態,并且未接收用戶輸入。此事件在Android上未使用,僅適用于iOS

paused - 應用程序當前對用戶不可見,不響應用戶輸入,并在后臺運行。這是來自AndroidonPause

suspending - 該應用程序將暫時中止。這在iOS上未使用

5、異步UI

Dart是單線程執行模型,支持Isolates(在另一個線程上運行Dart代碼的方式)、事件循環和異步編程。 除非您啟動一個Isolate,否則您的Dart代碼將在主UI線程中運行,并由事件循環驅動。

當你進行網絡請求時,可以在UI線程直接運行網絡請求代碼:

  loadData() async {    String dataURL = "https://jsonplaceholder.typicode.com/posts";
    http.Response response = await http.get(dataURL);
    setState(() {
      widgets = JSON.decode(response.body);
    });
  }

這里使用了 async/await 語法來調用API,你可以理解為,使用 async 之后這個方法就變成了異步的方法,然后需要等待(await)網絡請求完成之后再執行下面更新語句;在 StatefulWidget 中,我們使用 setState 方法來更新UI操作,這會重新執行 build 方法。

感謝各位的閱讀!關于“Flutter如何安裝使用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女