用Android Studio,寫一個HelloWorld程序

寫一個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ī)矩上圖:

Android Studio


????????寫完后打開終端,運行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以后,會有一段白色文字的提示,說明了我們可以作的事情:

VScode

????來看幾個重點的,也是一般常用的:

????????r 鍵:點擊后熱加載,也就算是重新加載吧。

????????p 鍵:顯示網(wǎng)格,這個可以很好的掌握布局情況,工作中很有用。

????????o 鍵:切換android和ios的預覽模式。

????????q 鍵:退出調(diào)試預覽模式。

? ? ? ? 如果你覺的這太麻煩了,我們可以開啟Debug模式,這時就可以實現(xiàn)真正的熱加載了(保存,效果立即就會改變),但有時報錯,也挺煩人的。上圖:

Debug

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

? ??一起加油ba。 阿巴阿巴阿巴。。。

阿巴
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容