#跟着坚果学鸿蒙#场景介绍 使用坐标描述一个位置,非常准确,但是并不直观,面向用户表达并不友好。 系统向开发者提供了地理编码转化能力(将坐标转化为地理编码信息),以及逆 地理编码转化能力(将地理描述转化为具体坐标)。其中地理编码包含多个属性 来描述位置,包括国家、行政区划、街道、门牌号、地址描述等等,这样的信息 更便于用户理解。

接口说明 进行坐标和地理编码信息的相互转化,所使用的接口说明如下。

开发步骤 1. 实例化 GeoConvert 对象,所有与(逆)地理编码转化能力相关的功能 API,都是通过 GeoConvert 提供的。

GeoConvert geoConvert = new GeoConvert(); 

获取转化结果。 坐标转化地理位置信息。

geoConvert.getAddressFromLocation(纬度值, 经度值, 1); 

参考接口 API 说明,应用可以获得与此坐标匹配的 GeoAddress 列表,应用可 以根据实际使用需求,读取相应的参数数据。 位置描述转化坐标。

geoConvert.getAddressFromLocationName("北京大兴国际机场", 1); 

参考接口 API 说明,应用可以获得与位置描述相匹配的 GeoAddress 列表,其 中包含对应的坐标数据,请参考 API 使用。 如果需要查询的位置描述可能出现多地重名的请求,可以同过设置一个经纬度范 围,以便高效获取期望的准确结果。

geoConvert.getAddressFromLocationName("北京大兴国际机场", 纬度下限, 
经度下限, 纬度上限, 经度上限, 1); 

概述 应用程序可以对系统各类设置项进行增、删、改、查等操作。例如,三方应用提 前注册飞行模式设置项的回调,当用户通过系统设置修改终端的飞行模式状态 时,三方应用会检测到此设置项发生变化并进行适配。如检测到飞行模式开启, 将进入离线状态;检测到飞行模式关闭,其将重新获取在线数据。 基本概念 系统设置数据项分为 TTS(Text To Speech)、Wireless、Network、Input、Sound、 Display、Date、Call、General 九类,应用程序可以根据自身拥有的权限对其进行 操作。

开发指导 场景介绍 TTS、Wireless、Network、Input、Sound、Display、Date、Call、General 九类定义 了表征终端设备状态的相关字段,如屏幕亮度、日期格式、字体显示大小等,应 用程序可以根据自身所拥有的权限对其进行增、删、改、查等操作,并进行相应 的场景适配。

例如:TIME_FORMAT——表示日期格式,应用程序可进行读写。

接口说明 SystemSettings 提供系统设置的相关接口,包括 TTS、Wireless、Network、Input、 Sound、Display、Date、Call、General 九类字段的存储和检索接口。应用程序通 过 AppSettings 类提供的方法对其自身的能力进行查询。

开发步骤 1. 应用程序打开某个 Slice 时,在 OnStart()时,注册相关设置项的回调,并读取一次该 设置项的值,进行初始化适配。

@Override 
public void onStart(Intent intent) { 
 // ... 
 dataAbilityHelper = DataAbilityHelper.creator(this); 
 IDataAbilityObserver dataAbilityObserver = new 
IDataAbilityObserver() { 
 @Override 
 public void onChange() { 
 String timeFormat = 
SystemSettings.getValue(dataAbilityHelper, 
SystemSettings.Date.TIME_FORMAT); 
 setTimeFormat(timeFormat); 
 } 
 }; dataAbilityHelper.registerObserver(SystemSettings.getUri(SystemSettin
gs.Date.TIME_FORMAT), dataAbilityObserver); 
} 
 
void setTimeFormat(String timeFormat) { 
 if ("12".equals(timeFormat)) { 
 // Display in 12-hour format 
 } else { 
 // Display in 24-hour format 
 } 
} 

在 onStop()时,解除回调注册。

dataAbilityHelper.unregisterObserver(SystemSettings.getUri(SystemSettin
gs.Date.TIME_FORMAT), dataAbilityObserver); 

 

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐