Flutter高級進階實戰 仿嗶哩嗶哩APP完結

近年來各大公司對Flutter技能的要求愈來愈高,甚至設立了專門崗位,但掌握Flutter高階技能的人才寥寥無幾,市面上乾貨Flutter高階課程少之又少,致使Flutter高階人才缺口大。爲此咱們專門爲你們設計了這門課程,助力你早日成爲企業搶手的新一代工程師json

課程的亮點:
從原理剖析到性能調優快速吸取Flutter精髓點亮高階實踐技能
從複雜APP業務需求出發遵循行業標準高度匹配大廠Flutter崗位技能需求
高階人才不能只停留在開發總體架構設計→開發細節→效率工具方法帶你完成真正的全盤思考服務器

Flutter 是 Google 用以幫助開發者在 iOS 和 Android 兩個平臺開發高質量原生 UI 的移動 SDK。Flutter 兼容現有的代碼,免費且開源,在全球開發者中普遍被使用。本專欄將不按期更新 Flutter 相關高級學習教程。網絡

Flutter的網絡交互
用Flutter進行網絡交互有四個步驟:架構

導入http庫
使用http庫建立網絡請求
將服務器相應轉換爲一個自定義的Dart對象
將數據展現出來
導入http庫
http庫是Dart團隊開發的方便網絡請求的庫,咱們須要在pubspec.yaml文件中引用它。工具

dependencies:
  http: <latest_version>


建立網絡請求
有了網絡請求庫以後,接下來就該使用庫進行網絡請求了。post

好比GET請求:性能

Future<http.Response> fetchPost() {
  return http.get('https://jsonplaceholder.typicode.com/posts/1');
}


POST請求:學習

import 'package:http/http.dart' as http;

var url = "http://example.com/whatsit/create";
http.post(url, body: {"name": "doodle", "color": "blue"})
    .then((response) {
  print("Response status: ${response.statusCode}");
  print("Response body: ${response.body}");
});


建立一個Client:fetch

var client = new http.Client();
client.post(
    "http://example.com/whatsit/create",
    body: {"name": "doodle", "color": "blue"})
  .then((response) => client.get(response.bodyFields['uri']))
  .then((response) => print(response.body))
  .whenComplete(client.close);


增長UA:jsonp

class UserAgentClient extends http.BaseClient {
  final String userAgent;
  final http.Client _inner;

  UserAgentClient(this.userAgent, this._inner);

  Future<StreamedResponse> send(BaseRequest request) {
    request.headers['user-agent'] = userAgent;
    return _inner.send(request);
  }
}
相關文章
相關標籤/搜索