安卓Flutter開發基礎(一)

想要學習Dart語言的可以在 https://dartpad.cn/ 練習熟悉。活不多說,直接開始:

1、程序入口

在Dart裏,每一個App都必須有一個頂級的 main() 函數作爲應用程序的入口

void main() {
    print("hello");// 控制檯輸出日誌
}

2、變量

Dart是類型安全的,它使用靜態類型檢查和運行時的組合,檢查以確保變量的值始終與變量的靜態值匹配類型。儘管類型是必須的,但某些類型註釋是可選的,因爲Dart會執行類型推斷。

在Dart中,未初始化的變量初始值爲null(注意:數字在Dart中也被當成對象,所以帶有數字類型的變量未初始化的值也爲null)

void main() {

  String a = '100';
  var b ='100';
  int c;

  print(a);
  print(b);
  print(c);
}

--------------------

100
100
null

3、檢查null或者0

在Dart中,只有布爾值true被視爲true

從Dart 1.12 開始,null-aware運算符可以進行null檢查,“?.” 運算符在左邊爲空的情況下會阻斷右邊的調用,“??” 主要作用是當表達是左邊爲null時爲其設置默認值。

bool isConnected(a,b){
  bool outConn = outgoing[a]?.contains(b) ?? false
  bool inConn = incoming[a]?.contains(b) ?? false
  return outConn || inConn
}

void main() {

  print(null);
  print(true??false);
  print(false??false);
  print(null??false);

}

-----------------------

null
true
false
false

4、異步編程

Dart 支持單線程執行,Dart使用Future來表示異步操作

async和await

async函數返回一個Future,函數的主體是稍後執行,await運算符用於等待Futrue:

getIp() async{
  var url = 'https://httpbin.org/ip';
  var request =await HttpRequest.request(url);
  String ip = json.decode(request.responseText)['origin'];
  print(ip);
 }

5、聲明式UI界面 

什麼是聲明式UI ?

通常Android和ios的框架使用命令式UI編程的風格,也就是我們目前的手寫界面,手動構建xml佈局,然後在UI變更時使用對應的f方法進行變更。

Flutter 爲了減輕開發人員在各種UI狀態之間轉換的編程負擔,Flutter讓開發人員描述當前的UI狀態,並且不需要關係它如何過渡到框架。

6、導包

7、Flutter項目結構

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章