如何在 Flutter 中集成华为云函数服务
介绍
云函数是一项 Serverless 计算服务,提供 FaaS(Function as a Service)能力,可以帮助开发者大幅简化应用开发与运维相关事务,降低应用功能的实现门槛,快速构建业务能力。下面将介绍如何在 Flutter 框架下集成云函数。
集成步骤
1. 安装 flutter 环境
a) 下载 Flutter sdk 包,地址:https://flutter.dev/docs/get-started/install/windows

将压缩包解压到任意文件夹
b) 将 flutter 命令文件添加到环境变量中
c) 在 Android Studio 中下载 Flutter 和 Dart 插件

2. 开通服务&创建工程
a) 在 AGC 创建 Android 应用并开通云函数
b) 在云函数中创建我们需要的函数,具体步骤可以参考官方文档:
c) 函数创建完成后我们需要创建触发器,端侧触发我们需要创建 HTTP 触发器,具体操作方法请参考官方文档:
d) 在 Android Studio 中新建 Flutter 工程

e) 将 agconnect-services.json 文件放入 Android/app 目录下

f) 配置 Maven 仓地址和 AGC 插件地址。
- 打开 Flutter 项目 android 文件夹下的 build.gradle 文件。
- 在 allprojects -> repositories 里面配置 maven 仓地址。
- 在 buildscript ->repositories 中配置 maven 仓地址。
- 在 buildscript ->dependencies 中配置 AppGallery Connect 插件地址。

3. 添加编译依赖和 AGC 插件地址。
a) 打开 Flutter 项目 android/app 文件夹下的 build.gradle 文件。
b) 在文件中添加如下配置。

4. 集成 SDK
在 pubspec.yaml 文件中添加远程配置的 pub 依赖

然后点击 Pub get 进行同步

5. 基本功能
云函数的功能其实很简单,在我们在端侧所需要做的就是调用云端的函数,但是调用氛围一下几个步骤
a) 我们需要创建一个 FunctionCallable 示例,将我们创建触发器时的触发器标识传入
FunctionCallable functionCallable = FunctionCallable("test-\$latest");
b) 函数的入参我们需要通过 map 的格式来传入
Map<String, dynamic> parameters = <String, dynamic> {
'year': _functionTextController.text
};
c) 最后我们通过 call 方法将入参传入后调用云端函数
FunctionResult functionResult = await functionCallable.call(parameters);
通过 FunctionResult,我们就可以获取到函数的返回。
总结
华为 AGC 云函数支持将一些比较复杂或者同样的计算过程在云上部署,客户端通过 SDK 的调用便可得到您想要的计算结果,为开发者节省了大量和开发成本和便利。
如何在 Flutter 中集成华为云函数服务的更多相关文章
- 华为云函数中使用云数据库的JavaScript SDK基础入门
背景介绍 使用云数据库Server端的SDK,此处我以华为提供的官方Demo为例,他们的Demo也已经开源放在了GitHub上,大家需要的可以自行下载. https://github.com/AppG ...
- 如何在 Centos7 中使用阿里云的yum源
如何在 Centos7 中使用阿里云的yum源 1. 备份原来的yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Ba ...
- 详解如何在Laravel中增加自定义全局函数
http://www.php.cn/php-weizijiaocheng-383928.html 如何在Laravel中增加自定义全局函数?在我们的应用里经常会有一些全局都可能会用的函数,我们应该怎么 ...
- 【华为云技术分享】智能诊断和优化,华为云DAS服务云DBA平台让您无忧运维
摘要:随着时代的发展,传统的“人工”运维方式,已经逐渐跟不上企业业务发展的需要.如何更好的保证数据库系统的稳定性.安全性.完整性和高性能,实现运维工具化.产品化.自助化.自动化,是当前数据管理和运维面 ...
- Kubernetes入门(四)——如何在Kubernetes中部署一个可对外服务的Tensorflow机器学习模型
机器学习模型常用Docker部署,而如何对Docker部署的模型进行管理呢?工业界的解决方案是使用Kubernetes来管理.编排容器.Kubernetes的理论知识不是本文讨论的重点,这里不再赘述, ...
- 云图说丨初识华为云微服务引擎CSE
摘要:微服务引擎(Cloud Service Engine,CSE),是用于微服务应用的云中间件,为用户提供注册发现.服务治理.配置管理等高性能和高韧性的企业级云服务能力 本文分享自华为云社区< ...
- 如何在ios中集成微信登录功能
在ios中集成微信的登录功能有两种方法 1 用微信原生的api来做,这样做的好处就是轻量级,程序负重小,在Build Settings 中这样设置 然后设置 友盟的设置同上,但是要注意,加入你需要的所 ...
- 如何在cmd中集成git
1.要在cmd中集成git,要解决在cmd中输入git命令时不提示git不是内部或外部命令: 即需要将git添加到path变量中,即将D:\Git\mingw64\bin和D:\Git\mingw64 ...
- 如何在JavaScript中使用高阶函数
将另一个函数作为参数的函数,或者定义一个函数作为返回值的函数,被称为高阶函数. JavaScript可以接受高阶函数.这种处理高阶函数的能力以及其他特点,使JavaScript成为非常适合函数式编程的 ...
随机推荐
- vue实现引用less,sass全局变量
1.npm install sass-resources-loader --save-dev: 2.build/utils.js中,修改 function resolveResource(name) ...
- HTML5元素
1.1结构元素 HTML5定义了一组新的语义化标签,目前主流浏览器均已支持,语义化标签使用标记元素的内容,虽然可以使用原有标签替换,但是它可以简化HTML页面设计,并且也为搜索引擎在抓取和索引网页的时 ...
- for循环题目记录
1.求1000以内的完数 /** * 一个数如果恰好等于它的因子之和,这个数就是完数,找出1000内的所有完数 * @author 努力Coding * @version * @data */ pub ...
- EgLine V0.3—LVGL官方拖拽式UI编辑工具(可导出代码)
** EdgeLine ** 是LVGL官方团队退出的一款拖拽式UI编辑工具,现在还处于测试间断,目前最新版本为v0.3,已经可导出代码. 注意: 使用该软件需要注册lvgl账号,这一步可能需要代理 ...
- unittest测试框架
unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果. 一.u ...
- Nginx命令(全局配置文件与模块)
目录 一:Nginx命令 二:Nginx全局配置文件 1.nginx全局配置 2.过滤出Nginx 三:Nginx网址模块(解析) 一:Nginx命令 1.-v : 打印版本号 [root@web01 ...
- linux用户密码过期导致命令执行失败
背景介绍: 使用zabbix调用系统命令,检查时间同步,发现一直在报错,root 用户执行无异常,问题还是出现zabbix用户上面. [zabbix@test-10-12 ~]$ sudo ntpda ...
- java中的线程是如何工作的。
来自对此文章的编辑. https://mp.weixin.qq.com/s?biz=MzA5NDg3MjAwMQ==&mid=2457103451&idx=1&sn=ba302 ...
- Linux配置 ftp 和 ftp简单介绍
一.ftp概念? /* ftp是一个协议和http协议都是叫协议 tcp和udp也是协议 ftp是文件(以流的形式进行传输)传输协议(针对于文件进行上传和下载) */ 1.如果ftp服务器有多台,服务 ...
- Idea Error:java: System Java Compiler was not found in classpath:
前言 这个问题和IDEA的版本有关系,或者有时不小心把项目错误操作了一步,导致出现,这个属于常见错误 解决办法 1:关闭项目,找一个正常运行的项目,将其.idea..mvn文件夹拷贝出来,替换到不能运 ...