HarmonyOS/OpenHarmony应用开发-HUAWEI DevEco Studio 3.1API9集成SDK

Posted 李洋-蛟龙腾飞公司

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HarmonyOS/OpenHarmony应用开发-HUAWEI DevEco Studio 3.1API9集成SDK相关的知识,希望对你有一定的参考价值。

说明:适用api9及以上
前提条件
安装HUAWEI DevEco Studio 3.1及以上版本
配置 SDK API Version 9及以上
Compile SDK Version 9及以上
Compatible SDK Version 9及以上


一、添加应用配置文件
1.将“agconnect-services.json”文件下载到DevEco Studio项目的应用级资源目录“AppScope/resources/rawfile”下。

二、配置SDK依赖
添加配置文件后,需要在DevEco Studio项目中配置SDK依赖,可以通过以下任意一种方式配置SDK依赖:
方式一:
打开DevEco Studio项目级和模块级的“package.json”文件。并添加如下SDK依赖

方式二:
打开您的工程,在命令行窗口执行cd directory命令,切换到工程的entry目录,安装Auth Service OHOS SDK到项目中

三、集成AGC SDK
说明:工程的应用框架必须为Stage模型,即“apiType为stageMode”。Stage模型仅Compile API版本为9及以上版本时支持,请确保SDK的Compile API版本不低于9。 

1.在项目中导入agc组件

import agconnect from '@hw-agconnect/api-ohos';
import "@hw-agconnect/core-ohos";
import "@hw-agconnect/auth-ohos";

2.在MainAbility 中应用初始化onCreate阶段使用context初始化SDK

......
onCreate(want, launchParam) 
    hilog.info(0x0000, 'testTag', '%publics', 'Ability onCreate');
    //保证resources/rawfile中包含agconnect-services.json文件
    agconnect.instance().init(this.context.getApplicationContext());

.....

3.在“entry/src/main/module.json5”中添加网络权限。

HarmonyOS/OpenHarmony 双击返回与退出App

作者:坚果,公众号:”大前端之旅“哔哩哔哩,OpenHarmony布道师,OpenHarmony校源行开源大使,电子发烧友鸿蒙MVP,51CTO博客专家博主,阿里云博客专家。

有时候我们会遇到这样的一个需求,就是双击返回与退出App

那么在HarmonyOS/OpenHarmony中如何如何实现呢,

HarmonyOS测试环境:ApI8,HarmonyOS3,

Open Harmony测试环境:ApI9,OpenHarmony3.2.beta4

在此之前,我们需要先来了解一下一下自定义组件的声明周期

自定义组件的声明周期

自定义组件的生命周期回调函数用于通知用户该自定义组件的生命周期,这些回调函数是私有的,在运行时由开发框架在特定的时间进行调用,不能从应用程序中手动调用这些回调函数。

需要提前说明的两个注意点是:

  • 允许在生命周期函数中使用Promise和异步回调函数,比如网络资源获取,定时器设置等;
  • 不允许在生命周期函数中使用async await。

接下来我们就来看一下组件声明周期

aboutToAppear

aboutToAppear函数在创建自定义组件的新实例后,在执行其build函数之前执行。允许在aboutToAppear函数中改变状态变量,更改将在后续执行build函数中生效。

aboutToDisappear

aboutToDisappear函数在自定义组件析构销毁之前执行。不允许在aboutToDisappear函数中改变状态变量,特别是@Link变量的修改可能会导致应用程序行为不稳定。

onPageShow

页面每次显示时触发一次,包括路由过程、应用进入前后台等场景,仅@Entry修饰的自定义组件生效。

onPageHide

页面每次隐藏时触发一次,包括路由过程、应用进入前后台等场景,仅@Entry修饰的自定义组件生效。

onBackPress

当用户点击返回按钮时触发,仅@Entry修饰的自定义组件生效。返回true表示页面自己处理返回逻辑,不进行页面路由,返回false表示使用默认的路由返回逻辑。不设置返回值按照false处理。

看完声明周期的解释大家也就知道在哪儿对双击返回与界面退出提示做出逻辑处理了,对就是在onBackPress

接下来就看完整代码,就是对点击时间的一个比较。

然后那就是

@system.app (应用上下文)

在使用的时候需要先导入。

import app from '@system.app';

app.terminate

退出当前Ability。

import app from '@system.app';
import prompt from '@ohos.prompt';

@Entry
@Component
struct Index 
  @State message: string = 'Hello World'
  // 记录上一次点击时间
  private pretime: number = new Date().getTime();
  onBackPress() 
    if (-1 == this.pretime) 
      // 第一次点击返回键,提示toast
      prompt.showToast(
        message: "再按一次退出应用"
      )
      return true;
     else 
      let currentTime = new Date().getTime();
      let flag = currentTime - this.pretime;
      if (flag > 2000) 
        //两次点击时间太长不做处理
        this.pretime = currentTime;
        return true;
       else 
       
        app.terminate(); // 2秒内点击,退出当前Ability。
      
    
    return false;
  

  build() 
    Row() 
      Column() 
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      
      .width('100%')
    
    .height('100%')
  

以上是关于HarmonyOS/OpenHarmony应用开发-HUAWEI DevEco Studio 3.1API9集成SDK的主要内容,如果未能解决你的问题,请参考以下文章

HarmonyOS/OpenHarmony 双击返回与退出App

HarmonyOS/OpenHarmony 双击返回与退出App

起步HarmonyOS生态的入门学习路线及资源

起步HarmonyOS生态的入门学习路线及资源

起步HarmonyOS生态的入门学习路线及资源

起步HarmonyOS生态的入门学习路线及资源