初學HarmonyOS需要注意的九點問題
一、HAP應用圖標在桌面不顯示
- 問題描述:Build—Build Hap后運行,在桌面Hap的應用圖標不顯示。
- 問題定位:config.json文件下module對象下distro屬性配置出問題了。
- 解決方法:把installationFree的值改為False即可。
二、關于DevEco硬編碼文本的Warning
問題描述:
翻譯為:
硬編碼字符串’單擊加1’,應使用$string:單擊加1資源
檢驗信息:
硬編碼文本
直接在布局文件中硬編碼文本屬性是不好的,原因如下:
- 創建配置變體(例如橫向或縱向)時,必須重復實際文本(并在進行更改時保持最新)
- 僅通過為現有字符串資源添加新的翻譯,無法將應用程序翻譯為其他語言。
- 問題定位:text的內容直接用文本是不好的,是DevEco不推薦的形式。
- 解決方法:
1.數據分離(這樣也方便后期修改)。用一個json文件存數據,text這里使用ohos:text=“$String:Name”
2.對string.json文件進行修改
注:
關于zh和en的關系,DevEco做了國際化處理,如果是中文就自動用zh里的json文件,英文就用en。其他語言就用element下的json。
三、image_src格式不規范
- 問題描述:
‘.’ is not a valid resource name character
“.”不是有效的資源名稱字符
Validates resource references inside Harmony XML files
驗證XML文件中的資源引用
解決方法:
- ohos:image_src="$media:log"
四、 ScrollView組件使用時不能完全顯示
- 問題描述:在ScrollView內可以顯示其內部的組件!但是我這里顯示不出來了!
其原因是因為:
- ohos:match_viewport="true"
這一行代碼不能用!導致了覆蓋
- 解決方法:
- 刪除后的效果
五、子組件layout_alignment不生效
- 問題描述:子組件設置水平居中ohos:layout_alignment=“horizontal_center”,顯示出來卻沒居中。
- 問題定位:子組件的寬度設置為跟父組件一樣,子組件layout_alignment無效。
- 解決辦法:
六、快速重寫方法
- 問題描述:有時候需要重寫很多生命周期函數,很麻煩。
- 問題解決:DevEco提供了快速重寫的方法Code-Override Methods。
七、previewer失敗
- 問題描述:在本地預覽功能previewer的時候,發現失敗了。
- 問題定位:Tools中preview Tool沒下載或者不適配。
- 解決方法:通過-Tools-SDK Manager-Tools 把previewer進行下載。
八、遠程真機自動簽名
- 問題描述:在https://developer.huawei.com/建立好項目和應用,返回到DevEco的后進行自動簽名,一直刷新不出來。
- 問題定位:遠程真機需要一直打開,自動簽名才會成功。
- 解決方法:打開遠程真機,在https://developer.huawei.com/建立好項目和應用,返回DevEco。點擊Project Structure-project-signing config。
九、輕量級設備開發中Direction的變化
問題描述:新版的DevEco中標簽direction的使用方法上下左右的屬性值變化了。
- toNextPage(e){
- switch(e.direction){
- case'left':
- router.replace({
- uri:'pages/index/index'
- });
- break;
- case'down':
- router.replace({
- uri:'pages/index/report1/report1'
- });
- }
- }
- 問題定位:
上-top(老版本-up)
下-bottom(老版本-down)
左-left
右-right
- 問題解決:
- //調整以后的代碼
- toNextPage(e) {
- switch (e.direction) {
- case 'left':
- router.replace({
- uri: 'pages/index/index'
- });
- break;
- case 'bottom':
- router.replace({
- uri: 'pages/index/report1/report1'
- });
- }
總結
學習鴻蒙一個多月了,總結一下這段時間折磨過我的問題,希望可以幫助到大家!