這篇文章給大家分享的是有關(guān)Flutter如何安裝使用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)服務(wù)項目包括建鄴網(wǎng)站建設(shè)、建鄴網(wǎng)站制作、建鄴網(wǎng)頁制作以及建鄴網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,建鄴網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到建鄴省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Flutter
出來已經(jīng)有些日子了,越來越多的開發(fā)者也開始嘗試使用 Flutter
進行開發(fā),Flutter
是谷歌的移動UI
框架,基于 Dart
語言,支持多端開發(fā)(Android
、iOS
、Web
),聽到這里是不是想要躍躍欲試了,由于小編也正在踩坑的路上,所以有寫的不對的地方還請多多指教。
任何一門語言,官網(wǎng)都是最好的學(xué)習渠道,雖然說大多數(shù)都是英文的,但現(xiàn)在谷歌已經(jīng)有很多都支持中文版本了:
Flutter中文官網(wǎng): https://flutterchina.club/
安裝直接按照官網(wǎng)的來就行了,最主要的就是配置一下環(huán)境變量,下載下來的 flutter
包你可以理解為 java
中的 jar
包,開發(fā)的時候需要導(dǎo)入的。
特性
我們都知道,在 Android
中頁面是由很多個View
來構(gòu)成的,在 Flutter
中,Widget
用來構(gòu)成頁面上的內(nèi)容,但是和 View
不同的是,Widget
是不可變的,有些人可能就有疑問了,不可變那豈不是靜態(tài)頁面,非也非也,那肯定有其他辦法的咯,接著往下看:
你可以將 StatelessWidget
理解成 Android 中
的 ViewGroup
,這是一個無狀態(tài)的小部件,什么意思呢,就是當你的頁面部分不依賴于對象配置信息外的其他任何內(nèi)容時,簡而言之就是你的頁面是靜態(tài)頁面時,就可以使用它。
和 StatelessWidget
一樣可以理解為 ViewGroup
,但是它是有狀態(tài)的,這個狀態(tài)類似于 Activity
的生命周期,當你的頁面需要動態(tài)的改變時,你就需要使用它。
注意
如果一個 Widget
發(fā)生了變化(用戶與之交互),那么它就是有狀態(tài)的;如果一個子 Widget
是有狀態(tài)的,那么包裹它的父 Widget
可以是有狀態(tài)的也可以是無狀態(tài)的,簡而言之,StatelessWidget
中可以包含 StatefulWidget
,而 StatefulWidget
中也可以包含 StatelessWidget
。
除了頁面之外,其他的肯定都沒有,因為畢竟是跨端開發(fā)的框架,不是專門為 Android
而設(shè)計的,可能有些人要問了,那如果想實現(xiàn) Android
中的一些特殊的功能豈不是做不了了,非也非也,這個就屬于另外一個知識了,賣個關(guān)子先,接著往下看;Activity
和 Fragment
在 Flutter
中都變成了 Widget
。
在Android
中資源圖片有很多種分辨率,Flutter
遵循像iOS
這樣簡單的3
種分辨率格式: 1x
, 2x
, 3x
,在根目錄下創(chuàng)建一個 images
的文件夾,然后再在 images
文件夾中創(chuàng)建三個文件夾用來存放不同分辨率的圖片:
../icon.png
../2.0x/icon.png
../3.0x/icon.png
然后,你需要在 pubspec.yaml
中配置這些圖片,這個文件相當于Android
中的 gradle
文件。
在 Flutter
中,目前最好的做法就是新建一個類,用來聲明你所需要的字符串
聲明: class Strings{ static String welcomeMessage = "Welcome To Flutter"; } 使用: new Text(Strings.welcomeMessage);
在 Flutter
中,StatelessWidget
是沒有生命周期的,只有 StatefulWidget
才有,我們一般通過掛接到WidgetsBinding
觀察并監(jiān)聽didChangeAppLifecycleState
更改事件來監(jiān)聽生命周期事件,有以下這些生命周期:
resumed
- 應(yīng)用程序可見并響應(yīng)用戶輸入。這是來自Android
的onResume
inactive
- 應(yīng)用程序處于非活動狀態(tài),并且未接收用戶輸入。此事件在Android
上未使用,僅適用于iOS
paused
- 應(yīng)用程序當前對用戶不可見,不響應(yīng)用戶輸入,并在后臺運行。這是來自Android
的onPause
suspending
- 該應(yīng)用程序?qū)簳r中止。這在iOS上
未使用
Dart
是單線程執(zhí)行模型,支持Isolates
(在另一個線程上運行Dart
代碼的方式)、事件循環(huán)和異步編程。 除非您啟動一個Isolate
,否則您的Dart
代碼將在主UI
線程中運行,并由事件循環(huán)驅(qū)動。
當你進行網(wǎng)絡(luò)請求時,可以在UI
線程直接運行網(wǎng)絡(luò)請求代碼:
loadData() async { String dataURL = "https://jsonplaceholder.typicode.com/posts"; http.Response response = await http.get(dataURL); setState(() { widgets = JSON.decode(response.body); }); }
這里使用了 async/awai
t 語法來調(diào)用API
,你可以理解為,使用 async
之后這個方法就變成了異步的方法,然后需要等待(await)
網(wǎng)絡(luò)請求完成之后再執(zhí)行下面更新語句;在 StatefulWidget
中,我們使用 setState
方法來更新UI
操作,這會重新執(zhí)行 build
方法。
感謝各位的閱讀!關(guān)于“Flutter如何安裝使用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
當前題目:Flutter如何安裝使用
鏈接地址:http://bm7419.com/article4/iioioe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站建設(shè)、ChatGPT、品牌網(wǎng)站制作、域名注冊、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)