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