用Flutter实现小Q聊天机器人(一)
用Flutter实现小Q聊天机器人(二)
用Flutter实现小Q聊天机器人(三)
用Flutter实现小Q聊天机器人(四)
用Flutter实现小Q聊天机器人(五)

GitHub:https://github.com/baiyuliang/Qrobot_Flutter

提示:目前腾讯ai机器人对话api已经停止服务,可以仅参考代码,而对话功能可以选择其他平台!

前几篇博客中介绍了一个开源项目-小Q聊天机器人,开发语言java,那么接下来这几篇博客,我将为大家介绍如何用Flutter实现一个聊天机器人!
在这里插入图片描述
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面,开发语言Dart,Dart是谷歌推出的编程语言,语法像是c,js,java的结合体,本人更觉得它跟java非常相似,像是java的升级版,前两年都在说kotlin大有取代java之势,但我怎么觉得dart比kotlin更能替代java呢?

好了,接下来我们看如何开始使用flutter?
首先谈一下Flutter/dart常用的开发工具,VSCode、AndroidStudio,VSCode是微软推出的一款轻量级编程工具,在程序界非常受欢迎:
在这里插入图片描述
AS对于安卓开发者来说,非常熟悉了,两款编程工具都可以安装各种插件,各有所长,根据自己的喜好都可以选择,但本人认为对于Flutter的开发AS更为适合,它的提示更为友好和智能,本博客中介绍的聊天机器人也是基于AS开发。

第一步,下载安装FlutterSDKDartSDK(安装完flutter和dart后需要配置路径和环境变量),为什么要单独安装DartSDK,这是为了可以让你单独运行dart程序,你可以在as里随便一个位置创建一个dart文件如:test.dart,在里面编写完程序后就可以直接点右键run就可以运行了,也就是在你真正开始开发flutter应用之前,能更方便的去了解学习dart语法;
在这里插入图片描述
环境变量配置:
系统变量:
Path:添加flutterSDK目录 E:\Flutter\flutter\bin
然后用户变量中添加国内镜像:
FLUTTER_STORAGE_BASE_URL:https://storage.flutter-io.cn
PUB_HOSTED_URL:https://pub.flutter-io.cn

配置完后,打开cmd:输入flutter,出现如图所示,则表示配置成功:

在这里插入图片描述

继续在cmd中输入flutter doctor:
如果其中出现 “X Unable to locate Android SDK”,则表示你的安卓sdk安装在了非默认路径,此时你需要将你当前的安卓sdk路径配置给flutter:flutter config --android-sdk D:\Android\SDK
继续运行flutter doctor:
如果出现 “X cmdline-tools component is missing”,则表示你的安卓sdk中未下载cmdline-tools工具,你需要打开as中的sdk manager下载:
在这里插入图片描述
这样你就可以在AndroidStudio的项目中使用flutter的命令行工具了。
如果出现 “X Android license status unknown”,你需要运行:flutter doctor --android-licenses,并一路输入y或Y接受同意知道完成为止。

AS配置flutterSDK和DartSDK:
在这里插入图片描述
在这里插入图片描述
第二步,在AS中安装flutter和dart插件,不多说了吧!
在这里插入图片描述
重启AS!

第三步,一切准备就绪后,你就可以开始new一个FlutterProject了。

刚才说过,在你真正开始编写flutter项目前,是很有必要去学习一下dart语法的,大家不要认为dart多难,相反只要你会java,那么dart学习起来将非常简单,本篇博客中,我只举几个简单的例子,其它更深入的大家可以自行学习~

找一个位置,新建test.dart文件,
在这里插入图片描述

  • 编程并输出“Hello Word”:
void main() {
  print("Hello World");
}

是不是非常简单?上面的写法还可以进一步简化

main() => print("Hello World");

void可以省略,且执行程序代码仅为一行时便可以用"=>“符号,有点类似于拉姆达中的”->";

  • 定义变量:
var a=1;
var b="abc";
var c=new List();

var这个关键字我也不做过多介绍了,很简单,上面的写法我也可以这样写:

int a=1;
String b="abc";
List c=new List();

我们看List c=new List();这不就是java的写法吗,是的,就是java的写法,并且实际开发中你会遇到很多跟java一模一样的写法,但是它却可以简化java的写法:

var c = List();

省略new关键字;

  • 声明一个方法,java写法:
int getPlus(int a,int b){
  return a+b;
}

dart写法:你仍然可以用上面java的写法,但也可以这样写:

 getPlus(a,b){
  return a+b;
}

或者:

getPlus(a, b) => a + b;

dart会自动判断变量以及返回值类型;

  • 变量和字符串一起输出,java写法:
int a = 123;
  String b = "123";
  print("输出:" + a + b);

dart写法:

var a = 123;
  var b = "123";
  print("输出:$a$b");

用$去引用变量,而不是用+,当然,在dart语法中,如果变量都为String类型,仍然可以使用+来连接;

另外一些java中常用的方法:
在这里插入图片描述
在这里插入图片描述
dart同样支持,如果你实在没时间去学习它,那么在使用的时候你就按java的写法去写就行了,某些不支持java写法的地方再去研究也是可以的!

本篇介绍了flutter开发环境搭建,dart语法简单介绍,那么下篇我们将开始逐步实现Flutter版的小Q聊天机器人!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐