HarmonyOS开发实例:【数字管家app】

2024-04-11 22:52

本文主要是介绍HarmonyOS开发实例:【数字管家app】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.概述

本应用是基于RK3399开发板,使用OpenHarmony3.1-Release开发的应用。通过OpenHarmony的分布式技术,使多人能够一起画画。

1.应用运行效果图:

输入图片说明

2.分布式画板使用示意图

输入图片说明

如上图所示,用户1、用户2在各自本地端进行绘制,将当前的图形保存到分布式文件中。远程端当接到分布式数据库发生改变时,获取分布式数据库存储的文件名,然后进行加载图形文件,显示本地端绘制的图形。

3.涉及OpenHarmony技术特性

eTS UI 分布式流转
鸿蒙参考文档:qr23.cn/AKFP8k

4.基础信息

开发平台 系统类型 系统版本

软通“扬帆”富设备开发板 标准系统 3.1Release

二.快速上手

1.应用安装包

1.1 硬件环境准备
  • 预装windows系统的PC机
  • 扬帆RK3399开发板
  • 开发板专用12V电源适配器
  • USB公对公数据连接线
  • USB外接摄像头
  • HDMI显示器
2.1 开发环境准备
  • 下载DevEco Studio 3.0 Beta1及以上版本
  • 配置OpenHarmonySDK
  • 创建OpenHarmony工程
  • 配置OpenHarmony应用签名信息
  • 安装运行OpenHarmony应用
3.1 功能开发
3.1.1 目录

在src/main/resources/目录下,根据不同的资源类型,定义资源文件。

{ "name":  "brush_width","value":  "画笔宽度"
}
3.1.2 引用资源

在有对应page的ets文件中,可直接通过$r()引用。 关键代码

Text($r('app.string.brush_width'))

主界面,设备流转:index.ets

图层管理:view/layer.ets

设置:view/setting.ets

画板界面:view/canvas.ets

3.1.3 系统镜像编译及烧录
3.1.3.1 Linux编译服务器基础环境准备

开发基础环境由windows 工作台和Linux 编译服务器组成。windows 工作台可以通过samba 服务或ssh 方式访问Linux编译服务器。其中windows 工作台用来烧录和代码编辑,Linux编译服务器用来编译OpenHarmony代码,为了简化步骤,Linux编译服务器推荐安装Ubuntu20.04。

3.1.3.2 安装和配置Python

搜狗高速浏览器截图20240326151344.png

打开Linux终端,输入如下命令,查看python版本号,需要使用python3.7以上版本,否则参考 系统基础环境搭建。

鸿蒙文档+mau123789可以直接拿取python3 --version;

安装并升级Python包管理工具。

     sudo apt-get install python3-setuptools python3-pip -ysudo pip3 install --upgrade pip
3.1.3.3 安装LLVM

下载LLVM工具。

 解压LLVM安装包至~/llvm路径下。

tar -zxvf llvm.tar -C ~/

设置环境变量。

   vim ~/.bashrc将以下命令拷贝到.bashrc文件的最后一行,保存并退出。export PATH=~/llvm/bin:$PATH

使环境变量生效。

    source ~/.bashrc
3.1.3.4 安装hc-gen

打开Linux编译服务器终端。

下载hc-gen工具。点击下载地址下载。

解压hc-gen安装包到Linux服务器~/hc-gen路径下。

tar -xvf hc-gen-0.65-linux.tar –C 

设置环境变量。

vim ~/.bashrc

将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

export PATH=~/hc-gen:$PATH

使环境变量生效。

   source ~/.bashrc
  • 安装编译依赖基础软件(仅Ubuntu 20+需要)
  sudo apt-get install build-essentialsudo apt-get install gccsudo apt-get install g++sudo apt-get install make sudo apt-get install zlibsudo apt-get install libffi-dev
.1.3.5 源码下载&&编译准备

环境搭完后,就该准备代码了。

下载repo

curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repochmod a+x /usr/local/bin/repopip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
3.1.3.6 下载OpenHarmony源码和编译
  • 代码下载

ssh方式:

repo init -u ssh://git@gitee.com/openharmony-is/manifest.git -b master -m devboard_rk3399.xml --no-repo-verify

http方式:

repo init -u  https://gitee.com/openharmony-is/manifest.git -b master -m devboard_rk3399.xml --no-repo-verify
repo sync -crepo forall -c 'git lfs pull'bash build/prebuilts_download.sh
  • 打patch
bash device/rockchip/product/patch.sh
  • 编译
./build.sh --product-name rk3399 –ccache
  • 编译结果

编译产生boot.img在目录out/KERNEL_OBJ/kernel/src_tmp/linux-4.19 中。

编译产生vender.img、system.img 和userdata.img 在目录

out/rk3399/packages/phone/images 中。

3.1.3.7 烧录
  • 系统环境

window7/windows10。

  • 驱动安装包

瑞芯微软件助手安装包,需解压安装。

  • 烧录工具

瑞芯微开发工具。

  • 烧录镜像

debian_update.img。

  • 烧录前准备
  1. 拿到开发板后,第一次烧录OpenHarmony系统前,要先进行整体擦除后,对系统分区,再烧录镜像。
  2. 擦除flash
  3. 点击升级固件按钮。
  4. 选择固件。
  5. 打开并选择烧录镜像。
  • 进入烧录模式

    擦除flash前,要先使板子进入烧录模式,方法如下:

  1. 板子上电。
  2. 板子在烧录OpenHarmony系统前,如果有其他系统,上电后会显示发现一个ADB设备。
  3. 先长按uboot按钮,再按一次reset按钮后松开,等待板子显示“发现一个LOADER设备”,板子进入烧录模式。
  4. 点击擦除flash按钮,开始擦除。

擦除完成后,显示如下:

  • 第一次烧录

    第一次烧录OpenHarmony系统,要先加载全部镜像。

    进入下载镜像页面。

    在空白处点击右键,选择导入配置,选择ohos.cfg。

    导入配置表后如下图所示

  • 烧录OpenHarmony镜像

​ 烧录OpenHarmony镜像,只需选中boot、vendor、system、userdata,其他分区不选中。

​ boot、vendor、system和userdata对应的是编译出的img

这篇关于HarmonyOS开发实例:【数字管家app】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/895397

相关文章

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

PyQt6 键盘事件处理的实现及实例代码

《PyQt6键盘事件处理的实现及实例代码》本文主要介绍了PyQt6键盘事件处理的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录一、键盘事件处理详解1、核心事件处理器2、事件对象 QKeyEvent3、修饰键处理(1)、修饰键类

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同