文章插图
7、云函数开发1. 在应用启动的onStart方法中获取控件实例并设置按钮的点击事件 。
@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_main);textFieldNum1 = (TextField)findComponentById(ResourceTable.Id_editText_number1);textFieldNum2 = (TextField)findComponentById(ResourceTable.Id_editText_number2);textView = (Text)findComponentById(ResourceTable.Id_textView_result);Button btn_add = (Button)findComponentById(ResourceTable.Id_btn_add);btn_add.setClickedListener(listener -> testFunctionAdd());}
文章插图
2. 初始化云函数服务 。
AGConnectFunction function = AGConnectFunction.getInstance();
文章插图
3. 生成云函数所需要的事件的map对象,这里因为我们的云函数中设置的事件的key值为“number1”和“number2”,所以我们设置map的key值为“number1”和“number2” 。
HashMap<String, Integer> number = new HashMap();number.put("number1", Integer.parseInt(textFieldNum1.getText()));number.put("number2", Integer.parseInt(textFieldNum2.getText()));
文章插图
4. 调用云函数SDK中的wrap方法指定触发器 , call方法传入事件的map作为参数,发送事件的HTTP请求并使用云函数进行计算,并且添加请求的回调,将接收到云函数的返回结果显示到textView中 。
HarmonyTask<FunctionResult> task = function.wrap("test-function-$latest").call(number);task.addOnCompleteListener(new OnHarmonyCompleteListener<FunctionResult>() {@Overridepublic void onComplete(HarmonyTask<FunctionResult> task) {if (task.isSuccessful()) {String val = task.getResult().getValue(String.class);textView.setText(val);} else {textView.setText("");AGCLogger.e(TAG, "exception", task.getException().getMessage());}}});
文章插图
说明:
其中wrap方法中传入的参数 , 值为在AGC上查询并获取的触发器标识 。
8、打包测试1. 运行DevEco Studio工程生成HAP包,并在测试手机中安装HAP包 。
2. 在两个输入框中分别输入两个数字 , 点击“求和”按钮查看界面展示出两数之和 。
文章插图
?
9、恭喜您祝贺您,您已经成功地构建了您的第一个集成AppGallery Connect云函数服务的应用程序,并学到了:
- 如何在AGC上创建 , 编写并测试一个新的云函数 。
- 如何使用客户端触发的方式调用到自己创建的云函数 。
- 详细的云函数配置开发指南请参见云函数服务开发指南 。
- 云函数的相关API介绍请参见云函数API参考 。
- 本Codelab中所用Demo源码下载地址如下:源码下载
【【Serverless】快速集成云函数HarmonyOS】
推荐阅读
- 华为手机连接电脑时怎么进入(华为手机怎么连接xp系统电脑)
- 葡萄籽并不能美白 | 如果要吃这么选
- 怎么在电脑上下载【智学网】新手教程
- 【MySQL】Navicat15 安装
- 2022支付宝蚂蚁庄园9月15日答案
- 怎样杀螃蟹(杀螃蟹要去除哪些内脏)
- 真我gtneo闪速版和普通版区别_哪款更值得入手
- 怎么杀螃蟹!急(怎么杀螃蟹教程)
- 元芳怎么看段子(元芳的口头禅是啥来着)
- React实现一个简易版Swiper