【Serverless】快速集成云函数HarmonyOS( 三 )


【Serverless】快速集成云函数HarmonyOS

文章插图
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());}
【Serverless】快速集成云函数HarmonyOS

文章插图
2.         初始化云函数服务 。
AGConnectFunction function = AGConnectFunction.getInstance();
【Serverless】快速集成云函数HarmonyOS

文章插图
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()));
【Serverless】快速集成云函数HarmonyOS

文章插图
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());}}});
【Serverless】快速集成云函数HarmonyOS

文章插图
说明:
其中wrap方法中传入的参数 , 值为在AGC上查询并获取的触发器标识 。
8、打包测试1.         运行DevEco Studio工程生成HAP包,并在测试手机中安装HAP包 。
2.         在两个输入框中分别输入两个数字 , 点击“求和”按钮查看界面展示出两数之和 。
【Serverless】快速集成云函数HarmonyOS

文章插图
?
9、恭喜您祝贺您,您已经成功地构建了您的第一个集成AppGallery Connect云函数服务的应用程序,并学到了:
  • 如何在AGC上创建 , 编写并测试一个新的云函数 。
  • 如何使用客户端触发的方式调用到自己创建的云函数 。
10、参考
  • 详细的云函数配置开发指南请参见云函数服务开发指南 。
  • 云函数的相关API介绍请参见云函数API参考 。
  • 本Codelab中所用Demo源码下载地址如下:源码下载
?欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh
【【Serverless】快速集成云函数HarmonyOS】

推荐阅读