当前位置: 首页 > news >正文

佛山网站建设解决方案wordpress 文章侧边栏

佛山网站建设解决方案,wordpress 文章侧边栏,自己如何建设一个彩票网站,国际知名设计公司排名因为工作的需要,也为了个人发展,现在的话,转战Flutter跨端开发了,虽然目前的项目只发了android端,但是那天尝试了一下Ios的打包流程,也能运行,只是IOS那边的打包稍微复杂一些。 差不多学习了一…

因为工作的需要,也为了个人发展,现在的话,转战Flutter跨端开发了,虽然目前的项目只发了android端,但是那天尝试了一下Ios的打包流程,也能运行,只是IOS那边的打包稍微复杂一些。

差不多学习了一周了,现在项目也在入手开始写了,总的来说Android转Flutter不难,Android原生应用就是指使用Java或Kotlin语言直接调用Android SDK开发的应用程序;而iOS原生应用就是指通过Objective-C或Swift语言直接调用iOS SDK开发的应用程序,Flutter开发,用心学学很快就上手了,语言虽然用的是Dart,但是很好入门,现在的高阶语言,都是缝合怪。

目前入门的话,有中文的Flutter开发社区,里面的东西简单易懂,可以去看看。

文章仅作个人总结

一、什么是Flutter?

Flutter 是 Google 推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过 Dart 语言开发 App,一套代码同时运行在 iOS 和 Android平台。 Flutter 提供了丰富的组件、接口,开发者可以很快地为 Flutter 添加 Native(即原生开发,指基于平台原生语言来开发应用,flutter可以和平台原生语言混合开发) 扩展

二、Dart语言简介

1、var 关键字 作用:声明一个变量

var t = "hi world";
// 下面代码在dart中会报错,因为变量t的类型已经确定为String,
// 类型一旦确定后则不能再更改其类型。
t = 1000;

2.finalconst 关键字 声明一个变量

如果您从未打算更改一个变量,那么使用 final 或 const,不是var,也不是一个类型。 一个 final 变量只能被设置一次,两者区别在于:const 变量是一个编译时常量(编译时直接替换为常量值),final变量在第一次使用时被初始化。被final或者const修饰的变量,变量类型可以省略,如:

//可以省略String这个类型声明
final str = "hi world";
//final String str = "hi world"; 
const str1 = "hi world";
//const String str1 = "hi world";

3.dynamic 和 Object 声明一个对象

Object 是 Dart 所有对象的根基类,也就是说在 Dart 中所有类型都是Object的子类(包括Function和Null),所以任何类型的数据都可以赋值给Object声明的对象。 dynamicObject声明的变量都可以赋值任意对象,且后期可以改变赋值的类型,这和 var 是不同的,如:

dynamic t;
Object x;
t = "hi world";
x = 'Hello Object';
//下面代码没有问题
t = 1000;
x = 1000;

dynamicObject不同的是dynamic声明的对象编译器会提供所有可能的组合,而Object声明的对象只能使用 Object 的属性与方法, 否则编译器会报错,如:

 dynamic a;Object b = "";main() {a = "";printLengths();}   printLengths() {// 正常print(a.length);// 报错 The getter 'length' is not defined for the class 'Object'print(b.length);}

dynamic 的这个特点使得我们在使用它时需要格外注意,这很容易引入一个运行时错误,比如下面代码在编译时不会报错,而在运行时会报错:

print(a.xx); // a是字符串,没有"xx"属性,编译时不会报错,运行时会报错

4.空安全检查机制(和kotlin一样)

5.函数声明

bool isNoble(int atomicNumber) {return _nobleGases[atomicNumber] != null;
}

Dart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断。函数和kotlin一样可以作为变量,参数进行传递

6.mixin 

Dart 是不支持多继承的,但是它支持 mixin,简单来讲 mixin 可以 “组合” 多个类。

类似于kotlin的单继承(extends),多继承(implements)

class Man extends Person with Eat, Walk, Code{}

7.异步支持 

1.Future

Future表示一个异步操作的最终完成(或失败)及其结果值的表示。简单来说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。一个Future只会对应一个结果,要么成功,要么失败。

1.Future.then

例如:Dio网络请求库中的request方法,返回的就是一个Future对象

  Future<Response<T>> request<T>(String url, {Object? data,Map<String, dynamic>? queryParameters,CancelToken? cancelToken,Options? options,ProgressCallback? onSendProgress,ProgressCallback? onReceiveProgress,});

我们在请求一个接口后,调用then方法,接收异步结果

GlobalRepository.appUpdate().then((ApiModel res) {
//GlobalRepository.appUpdate()是一个Future对象if (res.apiSuccess()) {VersionModel resModel = VersionModel.fromJson(res.data);if (resModel.update == true) {DialogUtil.showUpdateAppDialog();}}});

直接调用

Future.delayed(Duration(seconds: 2),(){return "hi world!";
}).then((data){print(data);
});

2.Future.catchError

如果异步任务发生错误,我们可以在catchError中捕获错误,我们将上面示例改为:

Future.delayed(Duration(seconds: 2),(){//return "hi world!";throw AssertionError("Error");  
}).then((data){//执行成功会走到这里  print("success");
}).catchError((e){//执行失败会走到这里  print(e);
});

3.Future.wait

有些时候,我们需要等待多个异步任务都执行结束后才进行一些操作,可以使用Future.wait

例如项目中,需要同时抓取各种数据,使用此方法,可以等多个接口返回后,在执行下面的代码

2.async/await

消除回调地狱(Callback Hell),类似于C接口等待B接口的结果,B接口等待A接口的结果,在有时候会写出很傻很长的代码。

task() async {try{String id = await login("alice","******");String userInfo = await getUserInfo(id);await saveUserInfo(userInfo);//执行接下来的操作   } catch(e){//错误处理   print(e);   }  
}

 

  • async用来表示函数是异步的,定义的函数会返回一个Future对象,可以使用 then 方法添加回调函数。

  • await 后面是一个Future,表示等待该异步任务完成,异步完成后才会往下走;await必须出现在 async 函数内部。

  • 上面的代码会一行一行的执行

8.循环

for (var i = 0; i < 10; i++) {// 循环体
}var list = [1, 2, 3];
for (var item in list) {// 循环体
}while (condition) {// 循环体
}do {// 循环体
} while (condition);

 其余好像没啥了,都比较简单。

个人建议,简单的东西,看看文章,官方文档就行了,没必要去看视频啥的,真的慢。

后面会总结flutter常用的开发组件,常用库的使用,自己平时开发中的一些点

http://www.yayakq.cn/news/877817/

相关文章:

  • 云南网站推广优化网站建设策划书的主要内容
  • 淄博网站建设app开发做网站是什么职业
  • 做网站的国标有哪些个人网站建设与实现毕业设计
  • 做外卖有哪些网站php网站后台源码
  • 做公司网站注意什么淘宝上网站建设为啥这么便宜
  • 盐城网站建设seo免费课程
  • 商务网站开发步骤网上服务大厅用户登录
  • 技术专业网站建设建设网站的工作步骤是
  • 个人网站搭建详细流程如何推广电商平台
  • 深圳网站制作长沙工程建设施工企业质量管理规范
  • 专门做红酒的网站进地铁建设公司网站
  • 古镇灯饰网站建设熊掌号国外直播平台tiktok下载
  • 泉州网站公司为什要做网站
  • 定制网站开发方案ppt黑白网站模板
  • 大连哪里做网站好自己设计网页怎么做
  • 安防 光速东莞网站建设珠海网站设计多少钱
  • 网站建立的优点建设执业资格注册中心网站办事大厅
  • 关于网站建设相关文章商城网站建站系统源码
  • 河南中恒诚信建设有限公司网站网站302怎么做
  • 做冒菜店网站整站网站优化费用
  • 网上做网站网站代理赚钱吗上海网上推广优化
  • 中国建设人才专业服务网搜索引擎优化的专家是什么意思
  • 做框架图的网站勒流网站制作
  • 模板网站建站关键词优化排名工具
  • 额尔古纳做网站360推广登录入口
  • 官方网站开发wordpress 美化
  • 网站上传视频教程成品影视app开发方案
  • 怎么看网站是什么程序企业网站推广服务
  • wordpress 停用多站点android app开发 wordpress
  • 淘宝上做网站的生意怎么样淮安网站建设价格