Exception和Error Dart中表示异常的类有两个,分别是Exception和Error。他们两个有什么区别呢? Exception是由VM或者dart code中抛出的。...但是和java不同的是,dart中所有的异常都是unchecked 异常,也就是说dart中的异常并不强制要求被捕获,是否捕获异常是由程序员自行决定的。...dart中也有很多Exception的子类,比如FormatException来表示各种不同的异常情形。...和JAVA一样,dart中的Error表示的是一个严重的错误,Error是应该在程序编写过程中需要避免的。...} 总结 以上就是dart中的异常和对异常的处理。
简介 flutter是google在2015年dart开发者峰会上推出的一种开源的移动UI构建框架,使用flutter可以非常方便的编译成运行在原始android,ios,web等移动平台上的移动应用...flutter是使用dart来编写的,最新的flutter版本是2.5.3,而最新的Dart语言版本是2.14。 本系列将会深入谈谈dart语言的用法和最佳实践,希望大家能够喜欢。...dart中的变量 Dart语言吸取了java和javascript的精华,如果你是上述语言的开发者,那么会很容易迁移到dart语言上。我们先从一个语言最基本的变量开始,探讨dart语言的奥秘。...和java中不一样的是,dart中所有的number的初始值也是null。这是因为dart中的number也是一个对象。 如果一个变量可以为null,那么在赋值的时候可以在变量类型后面加上?...总结 以上就是dart语言的变量使用了。
简介 flutter是google在2015年dart开发者峰会上推出的一种开源的移动UI构建框架,使用flutter可以非常方便的编译成运行在原始android,ios,web等移动平台上的移动应用。...flutter是使用dart来编写的,最新的flutter版本是2.5.3,而最新的Dart语言版本是2.14。 本系列将会深入谈谈dart语言的用法和最佳实践,希望大家能够喜欢。...dart中的变量 Dart语言吸取了java和javascript的精华,如果你是上述语言的开发者,那么会很容易迁移到dart语言上。我们先从一个语言最基本的变量开始,探讨dart语言的奥秘。...和java中不一样的是,dart中所有的number的初始值也是null。这是因为dart中的number也是一个对象。 如果一个变量可以为null,那么在赋值的时候可以在变量类型后面加上?...总结 以上就是dart语言的变量使用了。 本文已收录于 http://www.flydean.com/01-dart-variables/
简介 函数是所有编程语言都有的内容,不管是面向对象还是面向过程,函数都是非常重要的一部分。dart中的函数和java中的函数有什么区别呢?...dart作为一种面向对象的编程语言,它的函数也是一个对象,用Function来表示。...函数的参数 dart中的函数参数有普通参数,也有命名参数。 普通参数很好理解,那么什么是命名参数呢? 命名参数就是给参数传递的时候起了一个名字,这样函数在调用的时候,可以指定参数的名字,来赋值。...device='ios']) { ... } main函数 dart中main函数是应用程序的启动入口,main()是一个特殊的函数,他是没有返回值的带有可选List参数的函数,如下所示: void...所以对下面的函数来说: foo() {} 它的值是null,也就是说下面的表达式是true: assert(foo() == null); 总结 以上,就是Dart中函数的定义了。
简介 和所有的编程语言一样,dart有他内置的语言类型,这些内置类型都继承自Object,当然这些内置类型是dart语言的基础,只有掌握了这些内置类型才能够在使用dart语言的时候得心应手。...今天就给大家讲解一下dart语言的内置类型。 Null 在dart中用null来表示空。那么null和Null有什么关系呢?...数字 dart中的数字对应的类是num,他有两个子类,分别是int和double。 int表示不大于64 bits的整数。因为dart可以运行在不同的平台中,所以不同平台表示的范围也是不同的。...dart中字符串对应的类是String。...dart中字符串使用的是UTF-16编码。
简介 有运算就有操作符,dart中除了普通的算术运算的操作符之外,还有自定义的非常特殊的操作符,今天带大家一起来探索一下dart中的特殊操作符。...= 3); assert(3 > 2); assert(2 < 3); 类型测试操作符 dart中的类型测试符类似JAVA中的instance of操作,主要有三个,分别是as,is和is!...dart中的as操作符表示的是类型转换,转换类型之后就可以使用对应类型中的方法了。...我们在日常的工作中,经常会有一些判空操作,dart为我们提供了非常简便的判空操作符: expr1 ?? expr2 上式表示如果expr1为空,则选择expr2。...总结 以上就是dart中的操作符的介绍和使用。 本文已收录于 http://www.flydean.com/04-dart-operator/
其计数系统非常有意思,比如6进制而只有18、36为独立的词汇,而其他的诸如12等使用乘来表示。而有趣的计数系统觉得不止Ndom语言一种,事实上在使用范围广的语言中也或多或少有这样的现象。...丹麦语真的是20进制中的奇葩啊。 其实这两种进制的成因都很好理解,一只手数是6进制(事实上不是5进制),而算上脚就是20进制了。...而他们的使用和之前的om\on相同。根据这个猜测,不难发现纳瓦特尔语应该是20进制的(20^2=400、20^3=8000)。...(13)中,纳瓦特尔语部分的高位是yë-tzontli,而阿兰姆巴语的ndamno应该是6的n次方(≥4)。因为6的5次方已经是7776了,所以很明显ndamno是6^4=1296。...根据规则,纳瓦特尔语的494就是1*20^2+4*20+10+4即cen-tzontli-on-näuh-pöhualli-om-mahtlactli-on-nähui;阿兰姆巴语的569应该是2*6^
找到lib目录下的main.dart,我们将在这个文件中编写代码。...,这么多层的嵌套维护起来岂不是很麻烦,其实这也是Dart语法的特点,避免不了,但是还是有办法的,我们可以把ListView单独抽出来,这样主体的代码将会简洁很多。...', home: Scaffold( //主页 appBar: AppBar(title: Text('FlutterDemo')), //标题 body:...不懂Dart语法的同学对于里面的某些代码可能会觉得难以理解,但是不用担心。...即使没有一点Dart语言基础的同学也是可以很容易地学会Flutter的,只不过在某些Dart语法上就只能死记了,记住它,不用管为什么。那么现在来运行看下效果。 ?
记录一种简单的方式实现字符串的国际化。 这里没有用到Intl包,而是将所需的字符串存放在一个map中。...步骤: MaterialApp中添加本地化代理和语言类型 创建文字资源文件 新建一个类继承LocalizationsDelegate,和文字资源文件联系起来 使用代理获取想要的文字资源 新建项目international_demo...改造一下MaterialApp。...String get title { return _localizedValues[locale.languageCode]['title']; } } 这里仅以title为例,有英语、西班牙语和中文三种...import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart
入口 每一个Flutter项目中lib目录里面有一个main.dart文件,这个文件就是Flutter的入口文件。...(TestApp()); } 可简写为 void main() => runApp(TestApp()); 其中main方法就是dart的入口方法,runApp就是flutter的入口方法。...组件 MaterialApp :封装了大部分的Material Design风格的Widget。...常用属性为:home(主页)、title(标题)、color(颜色)、theme(主题)、routs(路由)。...Scaffold组件 Scaffold:通常我们是在MaterialApp中的home对应着Scaffold组件,它是Material Design布局结构的基本实现,此类提供了用于显示的drawer
我们先通过一个小例子来了解一下命名路由的大致流程: 第1步,在根组件 MaterialApp 中配置路由信息: //main.dart void main() => runApp(MyApp());...其实,我们还可以对main.dart中的代码进一步进行优化,也就是说,我们还可以将 Tabs 这个主页面也通过命名路由进行管理,代码如下: //Routes.dart //配置命名路由信息 final...首先,我们先来考虑一个场景:APP的注册页面,可能要分好几步才能注册成功,比如输入手机号——输入验证码——输入密码,然后注册成功,注册成功之后跳转到登录页面,在登录页面登陆成功之后返回到主页面。...返回到根路由 上面我们了解了替换路由如何使用,以及如果通过替换路由返回到主页面。...那么在绝大部分情况下,我们在页面跳转的时候,还是采取普通命名路由跳转的方式(而不是采取替换路由),此时,在跳转到多级页面之后,如何一键返回到主页面呢?
main.dart 主页面引入的子页面 Form.dart 页面代码: // lib/pages/Form.dart import 'package:flutter/material.dart'; /...主页面引入的子页面 Search.dart 页面代码: // lib/pages/Search.dart import 'package:flutter/material.dart'; // 搜索页面...主页面引入的子页面Tabs.dart 页面代码: // lib/pages/Tabs.dart import "package:flutter/material.dart"; // 引入子页面 import...Tabs 页面的子页面 Home.dart 页面代码: // lib/pages/tabs/Home.dart import 'package:flutter/material.dart'; // 主页页面...对于页面较少的情况下,我们可以在主页面中直接引入所有路由对应的子页面,当页面较多时,需要将路由进行模块化。 首先定义一个单独的路由文件,并引入路由对应的组件,添加路由监听事件。
, 类似于 Android 的 ViewPager ; 二、创建 StatefulWidget 组件 ---- 创建空的 dart 文件 StatelessWidgetPage.dart , 导入最基础的材料设计包...的子类 ; 通过 MaterialApp 组件很容易实现符合 Material Design 规范的应用 ; MaterialApp 组件中的 tittle 字段就是标题设置 , theme 字段设置的是主题..., home 字段设置的是界面的主要子组件 ; 在上述示例中 下面的代码是 MaterialApp 构造函数源码 , 其中构造函数的可选参数就是可设置的选项 : class MaterialApp extends...const MaterialApp({ Key key, this.navigatorKey, this.home,// 主页面组件 this.routes = const...中文文档 : https://dart.cn/ Dart 开发者官网 : https://api.dart.dev/ Flutter 中文网 ( 非官方 , 翻译的很好 ) : https://flutterchina.club
以下是一个最简单的Flutter项目代码: import 'package:flutter/material.dart'; void main(){ runApp(Center(...import 'package:flutter/material.dart'; void main(){ runApp(MyApp()); } // 将runApp()里抽离成一个组件 class.../ 文字方向从左向右 textDirection: TextDirection.ltr, ), ); } } 使用 MaterialApp...import 'package:flutter/material.dart'; void main(){ runApp(MyApp()); } // 将runApp()里抽离成一个组件...该组件常用的属性如下: 1. home 主页 2. title 标题 3. color 颜色 4. theme 主题 5. routes 路由 Scaffold 是 Material Design 布局结构的基本实现
对于没有相关基础的人,在正式学习App的UI之前,建议先了解Material Design相关的知识 关于Material Design设计风格的资料 MaterialApp MaterialApp代表使用...一个完整的Flutter项目是由这个主组件开始的。 MaterialApp属性详解 属性 类型 简述 home Widget 主页。...如果为null则使用当前系统区域 localizationsDelegates Iterable> 本地化委托,用于更改Widget默认的提示语...横幅 debugShowMaterialGrid bool debug模式下是否显示Material网格 // 在构建UI前,设置一些属性 MaterialApp( builder: (BuildContext...Flutter全栈式开发之Dart 编程指南 [二维码] Flutter 全栈式开发指南 快速上手篇直接观看 [format,png]
下面代码实现: return new MaterialApp( home: new Scaffold( body: new Center( child: _currentPage //...第二步:修改 main.dart。 main.dart 是我们程序的入口。就类似于 Java、C 中的 main() ,作为一个程序的入口。...我们将 main.dart 作为程序的启动入口,就不做过多的操作,只是指定去加载我们的首页(index.dart)。...'; import 'navigation_icon_view.dart'; // 如果是在同一个包的路径下,可以直接使用对应的文件名 // 创建一个 带有状态的 Widget Index class...(); } // 要让主页面 Index 支持动效,要在它的定义中附加mixin类型的对象TickerProviderStateMixin class _IndexState extends State
领取专属 10元无门槛券
手把手带您无忧上云