方式一:网站下载:https://androidsdkmanager.azurewebsites.net/SDKPlatform
方式二、设置HTTP Proxy
打开Settings
点击HTTP Proxy,选择Manual proxy configuration:
设置 Host name 为:mirrors.opencas.cn(备用服务器地址:mirrors.opencas.org mirrors.opencas.ac.cn)
设置 Port number 为:80
打开Settings
点击HTTP Proxy,选择Manual proxy configuration:
设置 Host name 为:mirrors.opencas.cn(备用服务器地址:mirrors.opencas.org mirrors.opencas.ac.cn)
设置 Port number 为:80
1,自定义库,将 自定义类Person单独抽出去,放到一个单独的文件中,然后通过import的方式引入,这个Person.dart就是自定义的库。
2,引入系统库
引入 math库
import ‘dart:math’;
//求最小数和最大数
print(min(10,20));
print(max(10,20));
引入io和convert库
import ‘dart:io’;
import ‘dart:convert’;
/**
通俗理解: 泛型就是解决 类,接口,方法, 的复用性, 以及对不特定数据类型的支持(类型校验)
1, 泛型方法
T getData
return value;
}
//调用
print(getData(“你好”));
print(getData(2));
print(getData
print(getData
2,泛型类
class PrintClass
List list = new List
void add(T value){
this.list.add(value);
}
mixins的中文意思是混入,就是在类中混入其他功能。
在Dart中可以使用mixins实现类似多继承的功能
因为mixins使用的条件,虽则Dart版本一直在改变,这里讲 Dart2.x中使用mixins的条件:
1,作为mixins 的类只能继承自object, 不能继承其他类。
2,作为mixins的类不能有构造函数。
3,一个类可以mixins多个mixins类。
4,mixins绝不是继承,也不是接口,而是一种全新的特性。
例子:
class Person{
String name;
int age;
Person(this.name,this.age);
void printUserInfo(){
print(“${this.name} — ${this.age}”);
}
Dart中抽象类: Dart抽象类主要用于定义标准, 子类可以继承抽象类(extends), 也可以实现抽象类(implements)。
1,抽象类是通过abstract 关键字来定义
2,Dart中的抽象方法不能用abstract声明, Dart中没有方法体的方法我们称之为抽象方法。 抽象类中,也可以有普通方法。
3,如果子类继承抽象类,,必须得实现里面的抽象方法。
4,如果把抽象类当作接口实现的话,必须得实现抽象类里面的所有属性和方法。
5,抽象类不能被实例化,只有继承它的子类可以。
extends 抽象类 和 implements抽象类的区别:
1, 如果要复用抽象类里面的方法,并且要用抽象方法约束子类的话,我们就用extends继承抽象类。
2, 如果只是把抽象类当作一个标准,我们就用implements实现抽象类。
1, Dart中的静态成员:
1,使用 static 关键字来实现类级别的变量和函数。
2,静态方法不能访问非静态成员,非静态方法可以访问静态成员。
2,Dart中的对象操作符:
? 条件运算符
as 类型转换
is 类型判断
.. 级联操作
Person p;
// p.printInfo();// 报错
p?.printInfo(); //不会报错
Person p1 = new Person(“张三”, 20);
//常规写法
p1.name = “李四”;
p1.age = 30;
p1.printInfo();
//级联操作符
p1..name = “李四”
..age = 25
..printInfo();