本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/90488394 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys
要开发 flutter 必须得用 dart 进行开发。 这个是个很容易学的语言,比golang 还容易,和java JavaScript 非常相似。 Flutter 官方网站: https://flutter.dev https://flutter-io.cn/ https://codelabs.flutter-io.cn/ 参考官方代码: https://codelabs.flutter-io.cn/codelabs/first-flutter-app-pt1-cn/index.html#0 dart 官方网站: https://dart.dev/ 下载 flutter: https://flutter.dev/docs/get-started/install 下载 android studio : https://developer.android.com/studio 但是默认 android 里面没有 flutter 插件。 打开 android 选择 flutter 插件,安装了 flutter 插件会自动关联安装 dart 插件.
https://zhuanlan.zhihu.com/p/38847885
var 关键字声明一个变量,var 关键字声明一个变量
main(List<String> args) { var number = 42; var name = 'Gurleen Sethi'; var salary = 150300.56; var isDoorOpen = true; }声明变量:
int number = 42; String name = 'Gurleen Sethi'; double salary = 150300.56; bool isDoorOpen = true; final int number = 42; const String name = 'Gurleen Sethi'; //Omit explicitly defining data types final salary = 150300.56; const isDoorOpen = true;final 和 const 的不同是,const 是编译时常量,也就是编译时就要有值,如 const PI=3.14,而 final 只准许赋值一次,可以在编译时也可以在运行时。 dart 提供基本的数据类型: • Numbers 只有 int double 没有 float • Strings 带 $xxx 占位解析 • Booleans • Lists • Maps
var list = [1,2,3,4]; list.length print(list[1]); //Outout: 2 list.add(10); list.remove(3);//只删除一个。符合条件的第一个 list.removeAt(0);//下标删除 var map = { 'key1': 'value1', 'key2': 'value2', 'key3': 'value3' }; print(map['key1']); print(map['test']); //Output: value1 //Output: null map['key4'] = 'value4'; //Length print(map.length); //Check if a key is present map.containsKey('value1'); //Get entries , keys and values var entries = map.entries; var keys = map.keys; var values = map.values;函数,第一个是返回类型,可以忽略,也可以使用箭头函数。
String fullName(String firstName, String lastName) { return "$firstName $lastName"; } fullName(String firstName, String lastName) { return "$firstName $lastName"; } fullName(String firstName, String lastName) => "$firstName $lastName";带默认值 ,函数传递函数
fullName({String firstName, String lastName = "Lazy"}) { return "$firstName $lastName"; } main(List<String> args) { out(printOutLoud); } out(void inner(String message)) { inner('Message from inner function'); } printOutLoud(String message) { print(message.toUpperCase()); }这里有个地方比较特别: async await future 语法 延迟计算 future 对象。加入了 battery lib 后进行异步调用。
//第 1 种写法。 void getBattery1() { // Instantiate it var battery = Battery(); battery.batteryLevel.then((val) { // Access current battery level print("get method1 batteryLevel $val "); }); } //第 2 种写法。 void getBattery2() async { // Instantiate it var battery = Battery(); var val = await battery.batteryLevel; // Access current battery level print("get method2 batteryLevel $val "); }async await 延迟计算,针对函数,成对出现。
官方说的是在 dependencies 下面增加,mqtt_client: ^5.5.3 ,然后点击【packages get】。 非常方便的点击get 按钮就可以下载相关的包了。
官方学习地址: https://codelabs.flutter-io.cn/
dart 语法非常容易学呢。
其他开源项目: https://github.com/brianegan/flutter_redux https://github.com/OpenFlutter/Flutter-Notebook https://github.com/flutter/samples https://github.com/flutter/samples/blob/master/INDEX.md
本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/90488394
博主地址是:http://blog.csdn.net/freewebsys
