Dart实例教程
关于Google Dart的教程!
何小有
不会编程的测试不是好玩家!
展开
-
用Dart搭建HTTP服务器(1)
基本的HTTP服务器import 'dart:io';main(List<String> arguments) { //绑定一个IPv4的HttpServer,设置8089端口 HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 8089).then((server){ //显示服务器地址和端口 print("Serving at原创 2015-06-13 17:27:42 · 6643 阅读 · 2 评论 -
用Dart搭建HTTP服务器(2)
设置首页先在项目下建立web文件,在里面再建两个html文件 然后在dart文件里编写以下代码import 'dart:io';import 'package:http_server/http_server.dart' show VirtualDirectory;VirtualDirectory virDir;void directoryHandler(dir, request) { /原创 2015-06-15 10:44:11 · 4356 阅读 · 0 评论 -
用Dart搭建HTTP服务器(3)
基于URL的请求模式为了不搞复杂,就简单演示一下 先把需要用到的route包分享出来http://pan.baidu.com/s/1hq1rxI0import 'dart:io';import 'package:route/server.dart';import 'package:route/url_pattern.dart';//所有模式,例如“/posts”final postsUrl原创 2015-06-15 15:03:03 · 2881 阅读 · 0 评论 -
Dart的HTTP请求和响应(1)
GET请求在上代码之前,先把所需要的http包分享出来http://pan.baidu.com/s/1jGH2zgqimport 'package:http/http.dart' as http;main(List<String> arguments) { var url = 'http://httpbin.org/'; //向指定URL发送GET请求 http.get(url).the原创 2015-06-16 14:08:34 · 6074 阅读 · 1 评论 -
Dart的HTTP请求和响应(2)
向服务器发多个请求import 'package:http/http.dart' as http;//输出响应正文printResponseBody(response) { //输出响应正文的长度 print(response.body.length); //控制输出的长度在100以内 if (response.body.length > 100) { print(resp原创 2015-06-16 18:27:38 · 6161 阅读 · 0 评论 -
Dart的文件、目录和链接(1)
系统临时目录在进入正题之前先科普一下什么是“系统临时目录”,顾名思义就是装临时文件用的,通常位于C:\Documents and Settings\用户名(一般为Administrator)\Local Settings\Temp目录下(默认为隐藏目录),此文件夹是用户应用的软件(如,winword)转储临时文件的地方,目的在于临时调用与写入。安装程序时: 安装程序时,安装程序会将压缩包内的文件原创 2015-06-17 13:49:27 · 5326 阅读 · 0 评论 -
Dart的文件、目录和链接(2)
创建文件import 'dart:io';main(List<String> arguments) { var systemTempDir = Directory.systemTemp; //在系统临时目录下创建两个目录一个文件 new File('${systemTempDir.path}/dir/subdir/file.txt').create(recursive: true)原创 2015-06-18 10:58:15 · 3889 阅读 · 1 评论 -
Dart的文件、目录和链接(3)
创建目录import 'dart:io';main(List<String> arguments) { new Directory('dir/subdir').create(recursive: true) .then((Directory directory) { print(directory.path); });}执行后会在项目中新建目录创建临时目录impor原创 2015-06-18 16:10:27 · 1761 阅读 · 0 评论 -
Dart集成开发环境
下载SDK和DartiumDartium是Dart虚拟机,在运行web项目时候会用到 可以翻墙的朋友可以直接到官网下载 https://www.dartlang.org/downloads/不能翻墙的好孩子也不用怛心不能下载,我分享出来 http://pan.baidu.com/s/1pJMcf4f下载IDE然后就是下载一个JetBrains IDE,下载地址如下 WebStorm:http原创 2015-06-18 18:43:56 · 5916 阅读 · 1 评论 -
Dart的套接字与web套接字
套接字首先在项目中建三个dart文件,如下图main.dart中的代码如下import 'dart:io';import 'dart:convert';main(List<String> arguments) { //绑定地址和端口,获取套接字,监听每个连接 ServerSocket.bind('127.0.0.1', 8089).then((serverSocket) { pri原创 2015-06-19 15:06:28 · 4326 阅读 · 0 评论 -
Dart获取系统和硬件信息
获取环境变量import 'dart:io' show Platform;main(List<String> arguments) { //获取当前进程的环境变量 Map<String, String> envVars = Platform.environment; print(envVars['PATH'].replaceAll(';', '\n'));}效果如下识别操作系统impo原创 2015-06-19 17:39:23 · 2047 阅读 · 0 评论 -
Dart的数据库操作
连接数据库Dart连接数据库需要先从Pub下载sqljocky包 我新建了一个数据库,内容如下连接数据库的代码如下import 'package:sqljocky/sqljocky.dart';main(List<String> arguments) { //创建一个连接池,host:连接地址,port:端口,user:用户名,password:密码,db:数据库名,max:最大并发数 v原创 2015-06-21 14:52:07 · 7234 阅读 · 1 评论 -
Dart与系统进程交互
运行命令行import 'dart:io';main(List<String> arguments) { //当前系统的命令行,例如Windoes命令行Nslookup www.baidu.com Process.run('Nslookup', ['www.baidu.com']).then((ProcessResult results) { print(results.stdout原创 2015-06-21 16:17:20 · 2139 阅读 · 0 评论 -
Dart的日期时间操作
当前时间main(List<String> arguments) { //创建时间对象,获取当前时间 DateTime now = new DateTime.now(); print("当前时间:$now");}输出效果如下指定时间main(List<String> arguments) { //创建时间对象,并指定时间 DateTime victoryDay = new Da原创 2015-06-23 11:56:15 · 14155 阅读 · 1 评论 -
Dart的路径操作
路径连接import 'package:path/path.dart' as path;main(List<String> arguments) { //将现有的两个路径连接 var newPath = path.join('/Users/shailen', 'dart/projects'); print(newPath);}输出有个问题,因为不同平台的路径分隔符是不同的,这个问题后面原创 2015-06-23 15:16:35 · 6796 阅读 · 0 评论 -
Hello, Dart!
此前建议看看前一篇文章http://blog.csdn.net/hekaiyou/article/details/46559869,强调一下,第一次打开编辑器时、建立新项目时、新项目第一次运行时、从Pub下载包时必须处于翻墙状态现在开始编写第一个Dart程序,依次点开菜单栏的File–New Project,新建控制台项目创建项目后有些同学可能会出现下面的错误这是因为无法连接到Pub下载依赖包,就是原创 2015-06-24 12:11:38 · 1224 阅读 · 0 评论 -
Dart基础-变量与类型
基本的Dart项目//定义一个函数printNumber(num aNumber) { //打印到控制台 print('数字是:$aNumber');}//程序从这里开始执行main(ListString> arguments) { //声明并初始化一个变量 var number = 42; //调用一个函数 printNumber(number);}代原创 2015-06-24 18:29:59 · 9173 阅读 · 0 评论 -
Dart基础-函数
函数下面是一个函数的例子void printNumber(num number) { print('The number is $number.');}虽然参考文档建议指定参数和返回值的类型,但是你可以不指定printNumber(number) { print('The number is $number.');}如果函数只有一个表达式,你可以使用速写语法vo原创 2015-06-25 18:37:18 · 2323 阅读 · 0 评论 -
Dart基础-运算符
运算符dart定义的运算符如下所示 描述 运算符 一元后缀 expr++ 、 expr– 、 () 、 [] 、 . 一元前缀 -expr 、 !expr 、 ~expr 、 ++expr 、 –expr 乘法 * 、 / 、 % 、 ~/ 加法 + 、 - 移位 << 、 >> 按位与 & 按位或 | 关系和类型判断 >= 、原创 2015-06-26 17:26:44 · 9204 阅读 · 0 评论 -
Dart基础-控制流程与异常处理
控制流程语句你可以通过以下方法控制代码流程if和elsefor循环while和do-while循环break和continueswitch和caseassert你也可以使用try-catch和throw处理异常if和elsedart支持if语句和可选的else语句,简单的if语句可以用条件运算符( ? : ),下面是例子if (isRaining()) { you.bringRai原创 2015-06-29 18:23:13 · 1500 阅读 · 0 评论 -
Dart基础-类
类dart是面向对象的编程语言,每一个对象是一个类的实例,所有类都源于Object,创建一个对象,你可以使用 new 关键字构建一个类,构造函数的名字可以是 ClassName 或 ClassName.identifiervar jsonData = JSON.decode('{"x":1,"y":2}');var p1 = new Point(2, 2);var p2 = new Point.原创 2015-07-02 11:58:47 · 1704 阅读 · 0 评论 -
Dart基础-泛型和库
泛型如果你看过API文档的基本类型数组和列表,你会发现实际上所有都是泛型,使用泛型可以提高代码的可读性var names = new List<String>();names.addAll(['Seth', 'Kathy', 'Lars']);//不是字符串,编译失败names.add(42);使用泛型的另一个原因是减少代码重复,泛型可以创建多类型共享的接口,同时还能在检查模式早期预警,假如您原创 2015-07-06 14:57:12 · 3054 阅读 · 0 评论 -
Dart网络编程-备忘录
准备工作在开始之前先翻墙,至于怎么翻,就八仙过海,各显神通吧!好了,我已经翻出去了,然后再创建一个dartium的快捷方式,其实dartium就是一个测试版的Chrome浏览器,dart目前只能在dartium下运行,谁叫dart是非主流呢新建项目打开WebStorm新建一个web项目,项目名就叫todo项目创建成功后试试运行自动生成的代码,看看是否正常运行,正常运行的话就进行下一步,把todo.c原创 2015-07-10 18:40:36 · 2313 阅读 · 0 评论 -
Dart网络编程-拼字游戏
先翻墙,再打开WebStorm,新建web项目,项目名为anagram然后试试运行自动生成的代码,没问题就可以修改代码了首先重写 anagram.html 的代码<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>拼字游戏</title> <link rel="stylesheet" href="anagr原创 2015-07-16 11:51:23 · 1700 阅读 · 0 评论 -
Dart网络编程-备忘录2.0
这个项目是根据之前的备忘录升级的 http://blog.csdn.net/hekaiyou/article/details/46834057先翻墙,再打开WebStorm,然后新建web项目todo_with_delete创建成功后先试试运行,成功后再修改代码,首先修改todo_with_delete.html<!DOCTYPE html><html> <head> <meta ch原创 2015-07-17 12:54:30 · 1280 阅读 · 0 评论 -
Dart云平台-DartPad
如果你想体验Dart语言,但又不想在你的电脑上安装Dart开发环境,那你可以使用Google提供的Dart云编译服务——DartPadDartPad是一个自由、开放的源码服务,帮助开发人员学习Dart语言,进入DartPad的源代码会被发送到谷歌云计算平台上运行,服务器会将源代码进行编译并处理成JavaScript返回给浏览器,编译产生的错误和警告也会返回DartPad的地址:https://dar原创 2015-09-09 23:18:35 · 5236 阅读 · 1 评论 -
DartWeb基础—简单入门
DartWeb基础—简单入门DartWeb的前面是Dart,所以需要先搭建好Dart开发环境,再进行下面的工作下载Dartium浏览器Dartium是Chromium的一个特殊的版本,里面包含Dart VM,使用Dartium意味着你不必将代码编译为JavaScript就能调试程序,直到开发完成后再将代码编译为JavaScript测试其他浏览器Dartium下载地址—传送门为以后方便开发,可以建立一原创 2016-05-29 18:00:49 · 14167 阅读 · 1 评论 -
Dart入门—控制流程与其他
Dart入门—控制流程与其他控制流程if~elseif语句和可选的else语句,简单的if语句可以用条件运算符( ? : )来处理if (isRaining()) { you.bringRainCoat();} else if (isSnowing()) { you.wearJacket();} else { car.putTopDown();}for使用for循环进行原创 2016-05-28 16:24:38 · 5460 阅读 · 1 评论 -
Dart入门—类与方法
Dart入门—类与方法实例变量声明实例变量时,所有未初始化的实例变量的值为nullvoid main(){ var point = new Point(); point.x = 4; print(point.x); print(point.y);}class Point { int x; // null int y; // nul原创 2016-05-28 15:37:27 · 19472 阅读 · 3 评论 -
Dart入门—库、泛型与异常
Dart入门—库、泛型与异常库Pub仓库在Pub上可以下载到支持各种功能的包,首页在根目录下建立pubspec.yaml文件name: test_appdependencies: sqljocky: ^0.14.1name是包的名称,dependencies是需要依赖的包名,上面的sqljocky是用来连接MySQL的。执行pub get命令下载相关依赖包 执行完毕后,在根目录下会产生多原创 2016-05-24 16:13:45 · 9971 阅读 · 1 评论 -
Dart入门—函数与运算符
Dart入门—函数与运算符函数基本语法void main(){ printNameA("XiaoMing"); printNameB("XiaoMing"); printNameC("XiaoMing");}// 规范语法void printNameA(String name){ print("My name is $name.");}// 通俗语法print原创 2016-05-18 17:13:09 · 6693 阅读 · 0 评论 -
Dart入门—集合类型
Dart入门—集合类型Dart核心库提供了List(列表)、Map(映射)、Set(集)三种集合类型列表(List)固定长度的列表,一旦定义就无法改变长度 List<int> fixedLengthList = new List(5); fixedLengthList[0] = 87; print(fixedLengthList); print(fixedLengthL原创 2016-05-11 14:09:38 · 20197 阅读 · 3 评论 -
Dart入门—基础类型与正则
基础数据类型与正则数字与布尔值数字类型与布尔类型与其他语言是一样一样的部分属性 int figureA = -93; // figureA是否为负数 print(figureA.isNegative); // figureA是否是有限的 print(figureA.isFinite); // figureA是否正无穷大或负无穷大 print(fi原创 2016-05-04 00:42:37 · 22175 阅读 · 0 评论 -
Dart入门—开发环境
Dart入门—开发环境 在正文开始前,希望大家能看一下这段,我第一次听说Dart是在去年5月份,那段时间工作比较闲,在网上看到《Google 演示用 Dart 开发 Android 应用》,然后就开始去了解,而且认识了很多朋友,其中就有“河马”,他说:“Dart所有的资料都是英文的,我们需要建立一个中文社区,让更多人了解、学习它”。 后来他真的就建立了DartLang中文社区,我当时就原创 2016-04-23 01:28:05 · 16381 阅读 · 2 评论