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

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta