Flutter基础知识学习(一)

一、基础须知

1、Flutter包括一个现代化的响应式框架、一个2D渲染引擎、现成的widget和开发工具。

2、核心原则:一切皆为widget。结构元素、一个文本样式元素、布局的一个方面(如填充)

二、环境搭建以及项目运行

A:Android端
1、目前直接在官网下载Flutter的SDK即可,然后将Flutter的bin路径配置到环境变量中即可。同时最好需要配置一下Android_HOME 路径。
2、Android Studio中搜索插件Flutter下载重启即可。Dart的SDK以及插件下载貌似都会默认。
3、Android Studio中插上真机运行即可。

B:IOS端
1、目前 没有MAC暂不涉及。

三、Dart语言学习。
Dart基础:
1、Dart所有的东西都是对象,都继承自Object
2、动态类型语言,但是尽量定义一个类型,会更安全,未定义的在Debug下类型会是dynamic
3、Dart中的类和接口是统一的,类即接口 -- 可以继承一个类,也可以实现一个类
4、Dart提供了顶级函数 main()等
5、变量名以"_"开头意味着对它的lib是私有的
6、没有初始化的变量都会被赋予默认值null
7、final的值只能被设定一次
8、const是一个编译时的常量
9、Dart由语言规范、虚拟机 、类库和工具等组成
10、SDK包含Dart VM、dart2js、Pub、库和工具
11、Dartium:内嵌Dart VM的Chromeium,可以在浏览器中直接执行dart代码
12、Dart2js:将Dart代码编译为JavaScript的工具。
13、Dart Editor 基于Eclipse的全功能IDE,包含以上所有工具。
数据类型:
1、num数字类型的父类 子类 int 和 double
2、String 可以用单引号或者双引号,可以互相嵌套使用引号
3、字符串中可以使用这个  ${表达式} ,若不带大括号,则只会执行前边的
4、bool 布尔类型
5、List list = new List();括号中可以指定List长度,但是一旦指定,则不能执行添加、删除操作。
   单个添加 list.add('a'); 多个添加 list.addAll(['b','c']);  
   list.length 获取长度  list.first 获取第一个元素  list.last获取最后一个元素
   list[0]索引获取元素   list.indexOf('apples')查找某个元素索引号(若多个重复,返回第一个)
   list.RemoveAt(0)删除指定位置元素  list.Remove('apples');成功返回true删除元素(若多个重复,返回第一个) 
   list.removeLast();删除最后一个元素  list.removeRange(start,end)指定范围删除(含头不含尾)
   list.removeWhere((item)=>item.length>6);    list.clear();删除所有元素
6、Map的执行和Java一样


运算符和控制流程语句和Java是一样的(这边就不做介绍了)。

异常(抛出异常属于表达式)
1、抛出固定类型异常:throw new FormatException('Expected at least 1 section');
2、抛出任意类型异常:throw 'Out of llamas!';
3、可以将throw语句放在=>语句中,或者其他可以出现表达式的地方:distanceTo(Point other)=>throw new UnimplementedError
4、catch的  使用方式和Java类似,抛出
try{}on OutOfLlamasException{}on Exception catch(e){}catch(e,s){}                                            5、rethrow
 final foo = '';
 void misbehave() {
    try {
      foo = "1";
    } catch (e) {
      print('2');
      rethrow;// 如果不重新抛出异常,main函数中的catch语句执行不到
    }
 }
 void main() {
    try {
      misbehave();
    } catch (e) {
      print('3');
    }
 }

函数:
1、Dart的函数和C#类似,函数可以作为参数传递,方便回调,也可以将一个函数分配给一个变量;
2、每个应用程序都必须有一个顶层main()函数。
3、级联符号..允许在同一个对象上进行一系列操作,级联可以执行嵌套。
4、可选参数分为 可选的命名参数和可选的位置参数
可选的命名参数 void enableFlags({bool bold,bool hidden}){}   enableFlags(bold:true,hidden:false)
可选的位置参数 void say(String from,String msg,[String device]){}  调用的是可写可不写
默认参数,和C#一致,可以提供默认参数选项,当调用不传的时候,直接使用默认值

Flutter的基础整理待续

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值