当前位置: 首页 > article >正文

【每日学点鸿蒙知识】Taro、native层获取文件宽度、位置变化callback、数据迁移、oh_modules说明等

1、Taro开发HarmonyOS NEXT有相应的开发文档吗?

Taro Harmony Hybrid容器是为让Taro小程序代码可以完整的运行在鸿蒙单内核系统里,在Taro H5平台的基础上,基于原生壳工程的jsbridge能力,扩展H5平台不支持的小程序Api能力,让Taro小程序0成本运行在鸿蒙系统。
在这里插入图片描述

参考文档:https://docs.taro.zone/docs/harmony-hybrid/

2、在native层 是否可以获取文件宽度?

当我在native层,使用cavans画字时,我需要提前得知文本在画布上的长和宽,以确定bitmap的长宽,或者做一些其它的处理。

DRAWING_LOGE("renhwndk NapiTextEngin SampleBitMap::DrawText() in");

OH_Drawing_TypographyStyle *typoStyle = OH_Drawing_CreateTypographyStyle();
OH_Drawing_SetTypographyTextDirection(typoStyle, TEXT_DIRECTION_LTR);
OH_Drawing_SetTypographyTextAlign(typoStyle, TEXT_ALIGN_LEFT);

OH_Drawing_TextStyle *txtStyle = OH_Drawing_CreateTextStyle();
OH_Drawing_SetTextStyleColor(txtStyle, OH_Drawing_ColorSetArgb(0xFF, 0x00, 0x00, 0xff));

OH_Drawing_SetTextStyleFontSize(txtStyle, 50);
OH_Drawing_SetTextStyleFontWeight(txtStyle, FONT_WEIGHT_400);
OH_Drawing_SetTextStyleBaseLine(txtStyle, TEXT_BASELINE_ALPHABETIC);
OH_Drawing_SetTextStyleFontHeight(txtStyle, 1);

const char *fontFamilies[] = {"Roboto"};
OH_Drawing_SetTextStyleFontFamilies(txtStyle, 1, fontFamilies);
OH_Drawing_SetTextStyleFontStyle(txtStyle, FONT_STYLE_NORMAL);
OH_Drawing_SetTextStyleLocale(txtStyle, "en");

OH_Drawing_TypographyCreate *handler =
  OH_Drawing_CreateTypographyHandler(typoStyle, OH_Drawing_CreateFontCollection());
OH_Drawing_TypographyHandlerPushTextStyle(handler, txtStyle);


OH_Drawing_TypographyHandlerAddText(handler, " hello world");
OH_Drawing_TypographyHandlerPopTextStyle(handler);
OH_Drawing_Typography *typography = OH_Drawing_CreateTypography(handler);

double maxWidth = 600;
OH_Drawing_TypographyLayout(typography, maxWidth);

double width = OH_Drawing_TypographyGetLineWidth(typography, 0);
DRAWING_LOGE("renhwndk OH_Drawing_TypographyGetLineWidth == %{public}f",width);

3、HarmonyOS 开启位置变化订阅,无Callback回调?

开启了位置变化订阅后,callback一直无回调定位信息

let requestInfo: geoLocationManager.LocationRequest = {
  'scenario': geoLocationManager.LocationRequestScenario.TRAJECTORY_TRACKING,
  'timeInterval': 10,
  'distanceInterval': 0,
  'maxAccuracy': 0
};

let locationChange = (location: geoLocationManager.Location): void => {
  PAPCLogUtils.logE("LocationHelp", 'locationChanger: data: ' + JSON.stringify(location));
};

PAPCLocationUtils.onLocationChange(context as common.UIAbilityContext, true, requestInfo, this.locationChange);

在室内是没有GNSS信号的。在室内使用first_fix,在室外情况下再尝试使用以上代码

4、HarmonyOS 怎么做应用的数据迁移?

从HarmonyOS 3.0升级到Next系统,APP持久化数据,能同步到Hap格式的应用么,如果不能怎么做应用的数据迁移?

HarmonyOS NEXT提供“数据迁移框架”统一调度应用数据迁移任务。参考网址:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-data-migration-overview-V5

终端设备从HarmonyOS 3.1 Release API 9及之前版本(简称HarmonyOS)升级到HarmonyOS NEXT Developer Preview1及之后版本(简称HarmonyOS NEXT)时,原HarmonyOS中运行的APK应用,升级后需要切换为HarmonyOS NEXT中的HarmonyOS原生应用(简称HarmonyOS应用)。APK应用的部分数据需要转换并迁移到指定位置后,才能被HarmonyOS应用访问。HarmonyOS NEXT提供了“数据迁移框架”和“备份恢复框架”,为开发者提供应用数据的迁移和转换能力。开发者完成适配,APK应用切换为HarmonyOS应用后,可继承原APK应用中适配HarmonyOS应用的数据。

如下图所示,应用需要的数据,包含云端服务器中的数据,本地应用沙箱中的数据和本地公共媒体库中的数据。为了应用的数据可以继承,开发者需要保证云端数据定义兼容APK应用和HarmonyOS应用,确保系统升级后同一账号下的数据可识别。

在这里插入图片描述

5、根目录下的oh_modules和entry目录下面的oh_modules有什么区别?

根目录下的oh_modules和entry目录下的oh_modules是同一个目录,它们是通过软链接(Symbolic Link)的方式连接在一起的

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-ohpm-install-V5


http://www.kler.cn/a/461213.html

相关文章:

  • 【期末复习】一、操作系统概论
  • C++面向对象编程:纯虚函数、抽象类、虚析构、纯虚析构
  • OSPF特殊区域(open shortest path first LSA Type7)
  • Servlet解析
  • Spring源码分析之事件机制——观察者模式(二)
  • TVS二极管选型【EMC】
  • QT--多线程
  • 深入浅出 Spring (二)| 依赖注入(DI)、自动装配
  • 课程思政元素收集系统|Java|SSM|JSP|
  • 计算机网络基础知识(7)中科大郑铨老师笔记
  • 【视觉SLAM:四、相机与图像】
  • 公交智眼 4G 录像机:开启安全运营新篇章
  • spring中常见的自动注入方式
  • 论文实现:Reactive Nonholonomic Trajectory Generation via Parametric Optimal Control
  • Vue3 简介
  • C++初步认识函数
  • @RestControllerAdvice注解
  • OneOS操作系统入门-驱动-03:I2C总线及驱动
  • java实现excel导入参考资料合集
  • Zookeeper在中间件的应用和在Spring Boot业务系统中实现分布式锁和注册中心的解决方案
  • CT 扫描显示 USB-C 电缆可能隐藏复杂的恶意硬件
  • 强化学习方法分类详解
  • 电脑cxcore.dll文件缺失怎么办?cxcore100.dll缺失问题解决办法
  • svn不能添加.a文件
  • 从零开发一套UWB定位系统需要多长时间?UWB超宽带定位系统源码
  • 计算机网络•自顶向下方法:IP分片与重组