【每日学点鸿蒙知识】无障碍、getLastLocation、蓝牙问题、卡片大小、关系型数据库等

1、是否有类似无障碍辅助相关的API?

场景描述:锁机app,需要通过无障碍能力辅助检测当前正在打开的app,以及模拟用户操作, 关闭用户想要屏蔽的app

可参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/accessibility-kit-V5

2、HarmonyOS 调用geoLocationManager.getLastLocation()方法,报3301200?

在申请了定位权限后,开启定位,但是没有执行回调,日志locationChanger:data并没有打印出来。代码如下:

复制代码
if (result) {
  // 已同意定位权限
  Logger.debug('已同意定位权限申请')
  let requestInfo:geoLocationManager.LocationRequest = {'scenario': geoLocationManager.LocationRequestScenario.NAVIGATION, 'timeInterval': 1, 'distanceInterval': 0, 'maxAccuracy': 0}

  let locationChange = (location:geoLocationManager.Location):void => {
    Logger.debug('locationChanger: data: ' + JSON.stringify(location));
  }

  try {
    geoLocationManager.on('locationChange', requestInfo, locationChange)

    // let location = geoLocationManager.getLastLocation()
    // Logger.debug('LocationBridge => location is : ' + JSON.stringify(location))
  } catch (err) {
    Logger.error('定位异常:',JSON.stringify(err))
  }
}

然后,如果 调用geoLocationManager.getLastLocation()方法,就会报3301200错误

LocationRequest改为这样的配置

复制代码
let requestInfo: geoLocationManager.LocationRequest = {
  'priority': geoLocationManager.LocationRequestPriority.FIRST_FIX,
  'scenario': geoLocationManager.LocationRequestScenario.UNSET,
  'timeInterval': 1,
  'distanceInterval': 0,
  'maxAccuracy': 0
}

3、HarmonyOS 蓝牙相关:gattClientDevice.getServices 方法报2900099?

监听服务端的连接状态修改成监听客户端的状态,gattServer.on修改为gattClientDevice.on

4、卡片不同的规则对应的大小是多少px?

服务卡片按照桌面宫格布局,以手机 4x6 宫格为基础分为 4 种尺寸。在修改手机桌面宫格布局后,微卡片和小卡片仍然按照桌面布局显示,中卡片和大卡片按照宫格最大宽度拉伸。因此在设计时需要考虑到卡片内容的尺寸适配。

服务卡片使用 HarmonyOS 通用界面单位进行开发,在 Java UI 中可以使用虚拟像素(virtual pixels, vp)进行开发,详细规格可参考通用设计规范的介绍。在 Js UI 中由于可以设置 Auto Design 属性,像素(Pixel)与虚拟像素(virtual pixels, vp)具有同等概念,可以不做区分。

参考文档:卡片与基础参数

5、HarmonyOS 关系型数据如何查询表是否存在数据库内?

@ohos.data.relationalStore (关系型数据库) 如何查询数据库内,是否已经存在某一张表?

可以使用数据库语言查询数据库中的数据,在callback中返回结果可以参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-data-relationalstore-V5

数据库中查询表

复制代码
SELECT *FROM
INFORMATION_SCHEMA.TABLESWHERE
TABLE_SCHEMA = 'database_name'
AND TABLE_NAME = 'table_name';
相关推荐
特立独行的猫a15 分钟前
HarmonyOS 【诗韵悠然】AI古诗词赏析APP开发实战从零到一系列(一、开篇,项目介绍)
人工智能·华为·harmonyos·古诗词
apcipot_rain1 小时前
【应用密码学】实验五 公钥密码2——ECC
前端·数据库·python
辛一一4 小时前
neo4j图数据库基本概念和向量使用
数据库·neo4j
巨龙之路5 小时前
什么是时序数据库?
数据库·时序数据库
幽蓝计划5 小时前
鸿蒙跨平台开发教程之Uniapp布局基础
harmonyos
蔡蓝5 小时前
binlog日志以及MySQL的数据同步
数据库·mysql
周胡杰5 小时前
鸿蒙接入flutter环境变量配置windows-命令行或者手动配置-到项目的创建-运行demo项目
javascript·windows·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
是店小二呀6 小时前
【金仓数据库征文】金融行业中的国产化数据库替代应用实践
数据库·金融·数据库平替用金仓·金仓数据库2025征文
炒空心菜菜6 小时前
SparkSQL 连接 MySQL 并添加新数据:实战指南
大数据·开发语言·数据库·后端·mysql·spark
多多*6 小时前
算法竞赛相关 Java 二分模版
java·开发语言·数据结构·数据库·sql·算法·oracle