寫一個HelloWorld程序
? ? ? ? 環(huán)境搭建好后,按照慣例就是寫一個HelloWorld程序,下面用最簡單的結(jié)構(gòu),寫一個HelloWorld,并介紹一下相關的Dart語法。
? ? ? ?在環(huán)境搭建好之后,寫HelloWorld 程序之前,首先要創(chuàng)建一個flutter 項目文件。
? ? ? ?那如何創(chuàng)建一個flutter 項目文件呢?
? ? ? ?請小伙伴們看另一篇簡書:
????????????????http://www.itdecent.cn/p/3a7cf9ba0b3d
? ? ? ? 已經(jīng)了解的小伙伴們,可以跳過繼續(xù)閱讀(●'?'●)。
一、HelloWorld整體代碼
????????先快速寫一個最簡單的結(jié)構(gòu)體,這個界面只包含兩部分,頭部訂單的藍色bar條和屏幕中間區(qū)域的內(nèi)容。(人狠話不多,上代碼)
????????這段代碼是寫在 根目錄\lib\main.dart?文件中,這就是Flutter的主文件。
import 'package:flutter/material.dart';
//主函數(shù)(入口函數(shù))? Dart的函數(shù)
void main() =>runApp(MyApp());?
// 聲明MyApp類?
class MyApp extends StatelessWidget{?
????//重寫build方法?
????@override
????Widget build(BuildContext context){
????//返回一個Material風格的組件
????return MaterialApp(
????????????title:'Welcome to Flutter',
????????????home:Scaffold(
????????????????//創(chuàng)建一個Bar,并添加文本
????????????????appBar:AppBar( title:Text('Welcome to Flutter'),
? ? ?????????????),
????????????????//在主體的中間區(qū)域,添加一個hello world 的文本
????????????????body:Center( child:Text('Hello World'),
?????????????????),
?????????????),
? ? ? ?);
? ? }
}
在Android Studio 軟件中是這種效果,老規(guī)矩上圖:

????????寫完后打開終端,運行flutter run,等待一小會,就會看到虛擬機中顯示了Hello World的內(nèi)容。上圖:

二、Dart語法Function函數(shù)
????????Dart是面向?qū)ο蟮恼Z言,即使是函數(shù)也是對象,并且屬于Function類型的對象。這意味著函數(shù)可以分配給變量或作為參數(shù)傳遞給其他函數(shù)。當然你也可以像JavaScript一樣,調(diào)用一個函數(shù)。
????????比如我們寫Hello World中的第2行,就是一個函數(shù)。
void main() =>runApp(MyApp());
????????因為這個函數(shù)體里只有一行代碼,所以可以直接使用=>來省略{},只有函數(shù)體里只有一行時,才可以使用,否則請使用大括號。 有點像ES6 里面的箭頭函數(shù)。感興趣的小伙伴可以去研究一下ES6語法,相信大家都已經(jīng)知道了。
? ??????學習Dart語法時你要記住一條,Dart里一切皆對象,包括數(shù)字和函數(shù)。。。
三、上面用到的 StatefulWidget 和?StatelessWidget
? ? ? ? · StatefulWidget : 具有可變狀態(tài)的窗口部件,也就是你在使用應用的時候就可以隨時變化,比如我們常見的進度條,隨著進度不斷變化。
? ? ? ? · StatelessWidget:不可變狀態(tài)窗口部件,也就是你在使用時不可以改變,比如固定的文字(寫上后就在那里了,死也不會變了)。
上面的HelloWorld 代碼就繼承了不可變窗口部件 StatelessWidget。
四、?再說一下,在VSCode中如何熱加載
????????用VSCode編寫Flutter不好的一點就是要手動加載更新應用,這至少會降低我們15%的工作效率。
? ? ? ? 當我們運行flutter run以后,會有一段白色文字的提示,說明了我們可以作的事情:

????來看幾個重點的,也是一般常用的:
????????r 鍵:點擊后熱加載,也就算是重新加載吧。
????????p 鍵:顯示網(wǎng)格,這個可以很好的掌握布局情況,工作中很有用。
????????o 鍵:切換android和ios的預覽模式。
????????q 鍵:退出調(diào)試預覽模式。
? ? ? ? 如果你覺的這太麻煩了,我們可以開啟Debug模式,這時就可以實現(xiàn)真正的熱加載了(保存,效果立即就會改變),但有時報錯,也挺煩人的。上圖:

? ??這個基本的結(jié)構(gòu)很重要,小伙伴們可以多練習幾遍,把基本結(jié)構(gòu)記熟練。。。
? ??一起加油ba。 阿巴阿巴阿巴。。。
