【HarmonyOS】【FAQ】HarmonyOS應用開發相關問題解答(二)

【寫在前面】

之前和大家分享過一下HarmonyOS應用開發相關問題,今天繼續和大家分享!

 

【前提簡介】

本文檔主要總結HarmonyOS開發過程中可能遇到的一些問題解答,主要圍繞HarmonyOS展開,包括但不限於不同API版本HarmonyOS開發、UI組件、DevEco Studio、Gitee示例代碼等,隨工作將持續更新。

 

【FAQ】

1、HarmonyOS表單頁面,當頁面向下滑動後點擊輸入框獲取焦點,彈出的鍵盤會遮住輸入框
此問題在API 9已解決,舊版本無法回合可採取其他方式規避,如:獲取焦點軟鍵盤彈起後,可將表單位置上移。

 

2、LiteWearable輕量級智能穿戴應用,放入幾百K圖片素材,生成包大小增加幾十兆,在手錶中無法安裝
對於輕量級智能穿戴應用打包方式,圖片素材增加導致包大小增加問題,目前只能通過控制圖片大小來控制包大小,暫無其他規避手段。

 

3、DevEco 海外版本與國內版本
國內DevEco版本可通過此鏈接下載:

https://developer.harmonyos.com/cn/develop/deveco-studio#download
海外DevEco版本可通過此鏈接下載:

https://developer.harmonyos.com/en/develop/deveco-studio#download
海外版本較國內版本而言更新較慢,暫不推薦海外開發者使用國內較高版本,因爲高版本相關SDK並未推送至海外,可能會導致部分SDK無法下載。

 

4、ArkTS API 8 組件邊框設置是否可以設置單邊框?
ArkTS語言,API 8不支持單邊框設置,API 9開始支持,參考文檔如下:
API8邊框設置:

https://developer.harmonyos.com/cn/docs/documentation/doc-references/ts-universal-attributes-border-0000001333720989#ZH-CN_TOPIC_0000001333720989__屬性
API9邊框設置:

https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/ts-universal-attributes-border-0000001478341105-V3?catalogVersion=V3#ZH-CN_TOPIC_0000001544375493__屬性

 

5、API6 Java語言,如何重啓Ability?
可通過getContext().restart();方法重啓應用Ability,注意此方法需要在主線程中調用,示例如下:

cke_11248.png

 

6、HarmonyOS關於訪問應用目錄與非應用目錄
Java語言使用File相關API、ArkTS或JS語言的@ohos.fileio模塊,均只能訪問應用下目錄
訪問非應用目錄目前僅提供媒體庫管理@ohos.multimedia.mediaLibrary,此模塊僅ArkTS和JS支持,Java暫無相關API支持訪問非應用目錄。
此外,可以看下DataAbility功能,支持不同的應用間共享文件。

 

7、HarmonyOS Refresh組件使用$$運算符進行雙向綁定時,編輯器報錯“Cannot find name ‘$$this’”(API9)
編輯器中Refresh組件使用$$報錯爲編輯器誤報,運行是正常的,可暫時忽略此報錯使用,此問題將在後續版本修復。
編輯器報錯如下:

cke_16617.png

 

8、HarmonyOS如何在MainAbilitySlice中通過代碼創建一個手機熱點?(API6 Java)
可參考下列文檔添加指定的熱點:
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/connectivity-wlan-untrusted-hotspots-0000001063403862#section20770334143820
WLAN的其他接口功能可參考下列文檔進行查看:
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/connectivity-wlan-overview-0000000000030016
WLAN相關功能Demo示例代碼:https://gitee.com/harmonyos/samples/tree/master/network/WLAN

 

9、HarmonyOS如何將通過getIpAddress()中獲取的IP地址轉換成實際的ip地址,如192.168.xxx.xxx?(API6 Java)
可參考下列方式進行轉換,ip爲通過getIpAddress()獲取的地址
(ip & 0xFF) + “.” + ((ip >> 8) & 0xFF) + “.” + ((ip >> 16) & 0xFF) + “.” + (ip >> 24 & 0xFF)

 

10、HarmonyOS若想將應用一直保持後臺獲取定位信息,可以只申請LOCATION_IN_BACKGROUND權限不申請LOCATION權限嗎?
不可以,申請LOCATION_IN_BACKGROUND權限必須同時申請LOCATION權限,兩個權限一起申請的時候,彈出權限確認框,用戶可以選擇“僅在使用期間允許”和“始終允許”;若僅申請LOCATION權限,只會彈出“僅在試用期間允許”選擇彈框,無法彈出只有“始終允許”的選擇彈框。
獲取位置權限參考文檔:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/security-permissions-available-0000001051089272#section1727613371109

cke_28335.png

 


持續更新中…

 

 欲瞭解更多更全技術文章,歡迎訪問https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章