鵸鵌—初学HarmonyOS至今所遇九大注意 原创 精华

Der_带鱼
发布于 2021-7-26 15:16
浏览
6收藏

鵸鵌—初学HarmonyOS至今所遇九大注意

本文引言

时间:2021年7月26日08:40:55

本文总结了作为鸿蒙初学者学习鸿蒙至今所遇见的九大注意,希望可以帮助到其他初学者们!一起共勉!

目录:

一、HAP应用图标在桌面不显示

二、关于DevEco硬编码文本的Warning

三、image_src格式不规范

四、ScrollView组件使用时不能完全显示

五、子组件layout_alignment不生效

六、快速重写方法

七、previewer失败

八、远程真机自动签名

九、轻量级设备开发中Direction的变化

一、HAP应用图标在桌面不显示

  • 问题描述:Build—Build Hap后运行,在桌面Hap的应用图标不显示。
  • 问题定位:config.json文件下module对象下distro属性配置出问题了。

鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

  • 解决方法:把installationFree的值改为False即可。

鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

二、关于DevEco硬编码文本的Warning

  • 问题描述:

  • 翻译为:

    硬编码字符串’单击加1’,应使用$string:单击加1资源

    检验信息:

    硬编码文本

    直接在布局文件中硬编码文本属性是不好的,原因如下:

    • 创建配置变体(例如横向或纵向)时,必须重复实际文本(并在进行更改时保持最新)

    • 仅通过为现有字符串资源添加新的翻译,无法将应用程序翻译为其他语言。

鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

  • 问题定位:text的内容直接用文本是不好的,是DevEco不推荐的形式。

  • 解决方法:

    1. 数据分离(这样也方便后期修改)。用一个json文件存数据,text这里使用ohos:text=“$String:Name”

    鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

    1. 对string.json文件进行修改

    鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

注:

  • 关于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文件中的资源引用

鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

  • 解决方法:
ohos:image_src="$media:log"

四、 ScrollView组件使用时不能完全显示

  • 问题描述:在ScrollView内可以显示其内部的组件!但是我这里显示不出来了!

鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

其原因是因为:

  • ohos:match_viewport="true"
    

    这一行代码不能用!导致了覆盖

    鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

  • 解决方法:

  • 删除后的效果

鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

五、子组件layout_alignment不生效

  • 问题描述:子组件设置水平居中ohos:layout_alignment=“horizontal_center”,显示出来却没居中

鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

  • 问题定位:子组件的宽度设置为跟父组件一样,子组件layout_alignment无效。

    鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

  • 解决办法:

  • 鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

六、快速重写方法

  • 问题描述:有时候需要重写很多生命周期函数,很麻烦。
  • 问题解决:DevEco提供了快速重写的方法Code-Override Methods。

鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

七、previewer失败

  • 问题描述:在本地预览功能previewer的时候,发现失败了
  • 问题定位:Tools中preview Tool没下载或者不适配。
  • 解决方法:通过-Tools-SDK Manager-Tools 把previewer进行下载

鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

八、远程真机自动签名

  • 问题描述:在https://developer.huawei.com/建立好项目和应用,返回到DevEco的后进行自动签名,一直刷新不出来。
  • 问题定位:远程真机需要一直打开,自动签名才会成功
  • 解决方法:打开远程真机,在https://developer.huawei.com/建立好项目和应用,返回DevEco。点击Project Structure-project-signing config
  • 鵸鵌—初学HarmonyOS至今所遇九大注意-鸿蒙开发者社区

九、轻量级设备开发中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'
        });
    }

总结

学习鸿蒙一个多月了,总结一下这段时间折磨过我的问题,希望可以帮助到大家!

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2021-8-25 13:53:24修改
8
收藏 6
回复
举报
6条回复
按时间正序
/
按时间倒序
mb609898e2cfb86
mb609898e2cfb86

感谢楼主排坑。

1
回复
2021-7-26 16:22:12
Anzia
Anzia

总结的不错!

回复
2021-7-26 20:29:32
XY道衍
XY道衍

大佬牛逼

回复
2021-7-27 08:42:31
longlong899
longlong899

支持一个,很详细了!

回复
2021-7-27 09:35:30
aFeng223
aFeng223

太棒了

回复
2021-8-12 15:12:33
chaoxiaoshu
chaoxiaoshu

这种排坑的帖子非常有用

以后大家可以多发点这类的

回复
2021-8-12 16:26:35
回复
    相关推荐