OpenHarmony实战开发-如何实现一个小鸟避障游戏。

介绍

本示例用于验证OpenHarmony提供的Stage模型,Canvas组件做小游戏的能效是否符合预期,以及验证资源调度子系统的API接口是否符合后台规范运行的预期。

效果预览

在这里插入图片描述
使用说明

1.点击ConnectService按钮,创建一个ServiceAbility并连接。

2.点击DisconenctService按钮,断开ServiceAbility。

3.点击set game alarm按钮,利用闹钟提醒代理API,验证游戏进程在收到闹铃通知时不被拉起。

4.点击set game calendar按钮,利用日历提醒代理API,验证游戏进程在收到日历通知时不被拉起。

5.点击start game按钮,选择对应的游戏难度1-5关玩游戏,游戏玩的过程中会利用后台信息统计API统计展示游戏在线时长。

6.点home按钮后,应用生命周期为onInactive, 在此回调中起一个短时任务,验证短时任务API能否正常执行。

工程目录

entry/src/main/ets/
|---component
|   |---OperateView.ets                          // 操作
|   |---TitleBar.ets                             // 标题
|---entryability
|   |---EntryAbility.ts                          
|---model
|   |---Logger.ts                                // 日志工具
|   |---ServiceModel.ets                         // 服务连接
|---pages
|   |---Index.ets                                // 首页
|   |---Game.ets                                 // 绘制游戏
|   |---Selects.ets                              // 选择关卡
|---ServiceAbility
|   |---service.ts                               // 日志工具

具体实现

  • 该示例使用ServiceExtension接口验证提供的Stage模型,Canvas组件绘制小游戏,queryBundleStatsInfos接口通过指定起始和结束时间查询应用使用时长统计信息来统计展示游戏在线时长,requestSuspendDelay接口申请后台应用延迟挂起来验证短时任务API能否正常执行,rpc接口提供进程间通信能力,wantAgent接口验证系统能力。

相关权限

后台持续运行: ohos.permission.KEEP_BACKGROUND_RUNNING

查询其他应用的运行时间: ohos.permission.BUNDLE_ACTIVE_INFO

后台代理提醒: ohos.permission.PUBLISH_AGENT_REMINDER

依赖

不涉及。

约束与限制

1.本示例仅支持在标准系统上运行。

2.本示例已适配API version 9版本SDK,版本号:3.2.11.9。

3.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400 构建 2023年4月7日)及以上版本才可编译运行。

4.本示例所配置的权限ohos.permission.BUNDLE_ACTIVE_INFO为system_basic级别(相关权限级别可通过权限定义列表查看) ,需要手动配置对应级别的权限签名(具体操作可查看自动化签名方案 。

5.本示例需要使用@ohos.resourceschedule.usageStatistics、@ohos.app.ability.ServiceExtensionAbility系统权限的系统接口。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换。

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo code/BasicFeature/TaskManagement/Flybird/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master

为了帮助大家更深入有效的学习到鸿蒙开发知识点,小编特意给大家准备了一份全套最新版的HarmonyOS NEXT学习资源,获取完整版方式请点击→HarmonyOS教学视频:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

HarmonyOS教学视频:语法ArkTS、TypeScript、ArkUI等…视频教程

在这里插入图片描述
在这里插入图片描述

鸿蒙生态应用开发白皮书V2.0PDF: 获取完整版白皮书方式请点击→https://docs.qq.com/doc/DZVVkRGRUd3pHSnFG?u=a42c4946d1514235863bb82a7b2ac128

在这里插入图片描述

鸿蒙 (Harmony OS)开发学习手册→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

一、入门必看

1.应用开发导读(ArkTS)
2………
在这里插入图片描述

二、HarmonyOS 概念→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.系统定义
2.技术架构
3.技术特性
4.系统安全
5…

在这里插入图片描述

三、如何快速入门?→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.基本概念
2.构建第一个ArkTS应用
3…

在这里插入图片描述

四、开发基础知识→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.应用基础知识
2.配置文件
3.应用数据管理
4.应用安全管理
5.应用隐私保护
6.三方应用调用管控机制
7.资源分类与访问
8.学习ArkTS语言
在这里插入图片描述

五、基于ArkTS 开发→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列
在这里插入图片描述

更多了解更多鸿蒙开发的相关知识可以参考:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/303762.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据的属性与相似性

目录 一、数据集的结构(一)二维表(二)数据矩阵 二、属性的类型(一)连续属性(二)离散属性(三)分类属性(四)二元属性(五&…

【图论】图的存储--链式前向星存图法以及深度优先遍历图

图的存储 介绍 无向图-就是一种特殊的有向图-> 只用考虑有向图的存储即可 有向图 邻接矩阵邻接表 邻接表 存储结构: (为每一个点开了一个单链表,存储这个点可以到达哪个点) 1:3->4->null2:1->4->null3:4->null4:null 插入一条新的边 比如要插一条边&am…

Go语言不能常量取址!?

题如下图 在软件开发中,常量是一种重要的编程元素,它们在程序中起到固定值的作用被大量使用 Go语言中的常量取址 在 Go 语言中,常量是无法被取址的。这意味着我们不能使用取址操作符 & 来获取常量的地址。例如: const a …

vue3移动端H5 瀑布流显示列表

以上效果 是之前发送的改进版 waterList <template><view class"pro-cons" v-if"data.length"><view class"cons-left"><template v-for"(item, index) in data"><template v-if"(index 1) % 2 1…

scala代码中报Cannot resolve symbol %

1、问题复现 2、解决 &#xff08;1&#xff09; &#xff08;2&#xff09; &#xff08;3&#xff09;检查返回类型&#xff0c;应该是Int 我之前用的&#xff08;.var&#xff09;自动生成返回值&#xff0c;他生成的类型是[Range.Inclusive]&#xff0c;这个类型是scala …

Spring-IoC 基于xml管理

现大多使用注解方式&#xff0c;xml方式并不简洁&#xff0c;本文仅记录xml用作基础学习。 0、前提 首先在父项目的pom.xml中配置好依赖们。然后子模块也可以使用这些依赖。 在resource目录下创建Spring的xml文件&#xff0c;名称无要求&#xff0c;本文使用bean.xml。文件最…

vmware 一打开虚拟机就蓝屏重启

按照正常步骤安装完镜像后&#xff0c;点击 开启此虚拟机 &#xff0c;直接出现下图所示蓝屏&#xff0c;然后重启。 解决的办法是通过修改 启用或关闭windows功能 里的选项&#xff0c;如下图&#xff0c;勾选上 Windows虚拟机监控程序平台 和 虚拟机平台 两项。然后重启电脑…

海外仓的出入库流程有什么痛点?位像素海外仓系统怎么提高出入库效率?

随着跨境电商的蓬勃发展&#xff0c;海外仓是其中不可或缺的一个关键环节。而货物的出库与入库则是海外仓管理中的一个核心业务流程&#xff0c;它的运作效率直接影响到整个跨境物流的效率和客户体验。今天&#xff0c;让我们具体来看一看关于海外仓出入库的流程&#xff0c;其…

Transformer详解和知识点总结

目录 1. 注意力机制1.1 注意力评分函数1.2 多头注意力&#xff08;Multi-head self-attention&#xff09; 2. Layer norm3. 模型结构4. Attention在Transformer中三种形式的应用 论文&#xff1a;https://arxiv.org/abs/1706.03762 李沐B站视频&#xff1a;https://www.bilibi…

正则问题【蓝桥杯】/dfs

正则问题 dfs 刚开始用的是栈&#xff0c;没有想到dfs… #include<iostream> #include<stack> using namespace std; string s; int pos; int dfs() {//ans表示到当前位置最多的x数目//num表示暂存的x数目int num0,ans0;while(pos<s.size()){if(s[pos](){pos;…

虚拟机VMware的下载、注册码(Mac与Windows)

1. 虚拟机的下载 windows 版的虚拟机叫 VMware Workstation mac版的虚拟机叫 VMware Fusion 官网下载地址: window 下载地址 https://www.vmware.com/content/vmware/vmware-published-sites/us/products/workstation-pro.html mac 下载地址 https://www.vmware.com/prod…

C++ STL

C STL&#xff08;标准模板库&#xff09;是一套功能强大的 C 模板类&#xff0c;提供了通用的模板类和函数&#xff0c;这些模板类和函数可以实现多种流行和常用的算法和数据结构&#xff0c;如向量、链表、队列、栈。 学习重点&#xff1a; 组件描述容器&#xff08;Contai…

Linux:文本编辑器 - vim

Linux&#xff1a;文本编辑器 - vim vim基本操作普通模式模式切换移动光标复制粘贴删除替换撤销 底行模式行号查找 vim基本操作 Vim(Vi Improved)是一款功能强大的文本编辑器&#xff0c;是Unix/Linux系统中广泛使用的编辑器之一。它源于上世纪70年代开发的Vi编辑器&#xff0…

在Linux中安装Android Studio(ubuntu22.04)

在Linux中安装Android Studio 准备工作 系统&#xff1a;ubuntu 22.04 位数&#xff1a;64bit 安装要求&#xff1a; 安装流程 1.下载安装包 打开Android Studio官网 把Android Studio的安装包下载下来 2.安装 为了防止丢失&#xff0c;把解压好的文件夹移到 /usr/local…

斐讯E1拆机焊接TTL救砖

从老家的柜子里翻出来一台斐讯E1&#xff0c;老家在用的是斐讯K2P&#xff0c;300M宽带&#xff0c;房间和大部分位置wifi5足够跑满了&#xff0c;一直懒得升级&#xff0c;也足够用了。 不过发现部分位置信号比较弱&#xff0c;都不到50M&#xff0c;考虑插上E1做个AP中继&…

网络安全---非对称数据加密签名验证

一、课题描述 三位同学一组完成数据的非对称加密和数字签名验证传输。 三位同学分别扮演图中 Alice、Bob 和 CA 三个角色&#xff0c;Bob 和 Alice 从 CA 中获得数字证书、Bob 向 Alice 发送秘密发送一段加密并签名后的信息&#xff0c;Alice 获取 Bob 发送的加密信息&#x…

ZYNQ学习之Petalinux 设计流程实战

基本都是摘抄正点原子的文章&#xff1a;<领航者 ZYNQ 之嵌入式Linux 开发指南 V3.2.pdf&#xff0c;因初次学习&#xff0c;仅作学习摘录之用&#xff0c;有不懂之处后续会继续更新~ PetaLinux工具提供了在 Xilinx 处理系统上自定义、构建和部署嵌入式 Linux 解决方案所需的…

简单题之数字总结

1.求数的幂 考点&#xff1a;二分幂&#xff08;快速幂&#xff09;的应用 思路&#xff1a; 直接暴力会超时&#xff0c;因此我们考虑用递归实现 如何用递归实现&#xff1f; 二分幂:对我们的幂次数分情况考虑&#xff1a; 1.M0&#xff0c;return 1; 2.M为奇数时&#xff0c…

CentOS7安装Tomcat

安装Tomcat前需要先安装JDK Linux安装JDK17等通用教程 一、安装 Tomcat下载地址 1、上传至服务器解压 tar -zxvf apache-tomcat-8.5.100.tar.gz2、解压后移动至 /usr/local/Tomcat 目录 mv apache-tomcat-8.5.100/ /usr/local/Tomcat3、进入bin目录启动Tomcat cd /usr/loc…

轻量级web开发框架:Flask本地部署及实现公网访问界面

目录 前言 1. 安装部署Flask 2. 安装Cpolar内网穿透 3. 配置Flask的web界面公网访问地址 4. 公网远程访问Flask的web界面 前言 本篇文章讲解如何在本地安装Flask&#xff0c;以及如何将其web界面发布到公网上并进行远程访问。 Flask是目前十分流行的web框架&#xff0c;采…