《从零开发鸿蒙小游戏App》直播答疑(包含新版2048游戏代码) 精华

鸿蒙张荣超
发布于 2020-11-9 16:30
浏览
131收藏

请到附件中下载新版2048游戏代码。最好能对该代码再做一些优化(见下述问题8),欢迎感兴趣的朋友随时跟我探讨,^_^

 

问题1:如何将开发的Lite Wearable项目部署在鸿蒙手表Watch GT2 Pro真机上?

答复:
步骤(1)生成秘钥和证书请求文件

链接:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/create_csr-0000001053702411
步骤(2)在手机中安装App:应用调测助手,通过该App获得鸿蒙手表的udid
点击主界面中的复制按钮,可以复制手表的udid。      
步骤(3)给项目起一个包名(Package name)
起的包名是任意的,例如:com.test.lwdemo。以后每次创建Lite Wearable项目时,都要使用该包名。
步骤(4)发邮件给agconnect@huawei.com
邮件中要包含4样东西:步骤(1)中的两个文件,步骤(2)中的udid,步骤(3)中的包名。
步骤(5)官方回复邮件
回复的邮件中包含两个文件:.p7b文件、.cer文件。
步骤(6)在DevEco Studio中创建一个Lite Wearable的项目
 创建项目时的Package Name,请使用步骤(3)中的包名。
步骤(7)在DevEco Studio中进行配置
在菜单栏中选择File,然后点击Project Structure,在弹出窗口中做如下配置:

《从零开发鸿蒙小游戏App》直播答疑(包含新版2048游戏代码)-鸿蒙开发者社区


步骤(8)在DevEco Studio中构建签名的hap包
在菜单栏中选择Build,在弹出的菜单中点击Build App(s)/Hap(s),然后点击Build Debug Hap(s)。
生成的签名hap包所在的路径为:<项目根路径>\build\outputs\hap\debug\liteWearable。
步骤(9)将签名的hap包拷贝到手机的指定位置
在手机的sd卡根目录中新建一个名为haps的目录,将步骤(8)中的hap包拷贝到haps目录中。
步骤(10)将手机中的hap包通过App应用调测助手安装到手表中
打开步骤(2)中安装的App应用调测助手,在主界面中点击按钮“应用管理”,在新打开的页面中就可以看到手机中的hap包了。点击hap包后面的按钮“安装”,就可以将hap包安装到手表中了。安装完成后,应用调测助手中会跳出提示“安装完成”。

 

问题2:在Lite Wearable上开发的项目,如何做到“一次开发,多端部署”(直接部署在Wearable和TV这两个平台上)

答复:
要点(1)Lite Wearable属于轻鸿蒙,Wearable和TV属于富鸿蒙
轻鸿蒙和富鸿蒙在项目配置上目前是不统一的,比如富鸿蒙目前需要有Java的shell,而轻鸿蒙是没有的,所以在DevEco Studio中轻鸿蒙和富鸿蒙的项目是不能通用的,还不能做到同一个项目支撑两套开发。但是,在Lite Wearable平台上编写的JS代码文件是可以直接复用到Wearable或TV的项目里面的。
要点(2)通过指定deviceType,可以让同一个项目在多个轻鸿蒙设备或多个富鸿蒙设备上通用

例如:Wearable和TV都属于富鸿蒙。新建一个Wearable的项目,在项目的文件config.json中,deviceType的值默认是["wearable"]。如果将deviceType的取值修改为["wearable", "tv"],那么这个Wearable的项目就可以直接运行在TV平台上。

 

问题3:就目前而言,相对于Wearable和TV这两个平台,为什么说在Lite Wearable这个平台上相关的开发工具是最全面、最稳定的,并且给开发者的体验是最好的?

答复:

要点(1)鸿蒙手表Watch GT2 Pro已经上市

既然都已经上市了,所以相关的开发工具是最全面、最稳定的!

要点(2)Lite Wearable既有本地的预览器,又有本地的模拟器

如果选择Wearable和TV这两个平台进行App的开发,目前华为还没有开放基于X86的本地模拟器,因此,需要将编写的代码发送到远程的ARM处理器以运行代码,在本机上只能预览运行结果,而无法在本机上运行和调试代码。因此,就目前而言,Wearable和TV这两个平台,给开发者的体验是相对不太好的。但是,如果我们选择Lite Wearable这个平台,那就不一样了,既可以使用本机的预览器Previewer来预览代码的运行效果,也可以使用本机的模拟器simulator来运行和调试代码,因此,就目前而言,Lite Wearable这个平台给开发者的体验是最棒的!

 

问题4:开发Lite Wearable的App,可以使用的编程语言有哪些?支持Python、C#或C++吗?

答复:

要点(1)作为第三方开发者,开发Lite Wearable的App,只能使用编程语言JavaScript。

开发Wearable的App,可以使用的编程语言有:JavaScript、Java。

开发TV的App,可以使用的编程语言有:JavaScript、Java。

开发手机的App,可以使用的编程语言有:JavaScript、Java。

短期内,对于第三方开发者,不会支持其它编程语言,包括:Python、C#、C++、等等。
要点(2)对于鸿蒙手表Watch GT2 Pro中预装的App,华为内部的工程师在开发时还可以使用编程语言C++。

C++只供华为内部的工程师使用,目前没有对第三方开发者开发,以后是否会开放,还要看鸿蒙团队的考量。

 

问题5:老师在直播中有提到:鸿蒙对HTML、CSS和JavaScript做了很多裁剪和优化,具体做了哪些裁剪和优化呢?

答复:

目前官方还没有发布一个完整详细的list,来说明具体做了哪些裁剪和优化。如果有Web前端开发的经验,可以阅读开源框架ace_lite_jsfwk的源代码,这是一个轻量级的JS核心开发框架,地址为:https://gitee.com/openharmony/ace_lite_jsfwk。

 

问题6:在JS代码中调用文件存储或数据存储相关的API时,只能"写"数据,而无法"读"数据,请问如何操作才能读到数据呢?

答复:

这是预览器Previewer和模拟器simulator的一个bug,我已经将这个bug反馈给官方,官方会在本月中旬发布一个新版本以修复该bug。

 

问题7:当把编译之后的签名hap包安装到鸿蒙手表Watch GT2 Pro之后,在预览器或模拟器看到的页面显示效果,与在真机看到的显示效果并不是完全一致的,请问如何解决才能让两者有一致的显示效果?

答复:

这是预览器Previewer和模拟器simulator的一个bug,我已经将这个bug反馈给官方,官方会在本月中旬发布一个新版本以修复该bug。

 

问题8:老师共享的2048游戏代码中,对于index.hml中的组件canvas,在canvas的下方显示了一个红色的波浪线,把鼠标放上去,提示说:<canvas>是一个未知的组件,这是什么原因呢?

答复:

目前,官方还没有正式release组件canvas,因此在其下方会显示一个红色的波浪线,但是,并不影响代码的运行。之前共享给大家的2048游戏代码,仍然是可以正常运行在预览器或模拟器中的。

因为组件canvas还没有正式release,所以,之前共享给大家的2048游戏代码,无法正常运行在鸿蒙手表Watch GT2 Pro中。为此,这里再为大家提供一份2048的游戏代码(可以到附件中下载)。该代码没有使用组件canvas,而是采取另外一种实现思路:当滑动时,去更换16个格子的背景色、数字以及数字的颜色。因为该份代码中大量使用了动态绑定,所以导致手表的内存占用较大,近乎接近临界值,因此,最好是能对该份代码再做一些优化,欢迎感兴趣的朋友随时跟我探讨,^_^。

新版2048游戏代码(待优化).zip 153.19K 1474次下载
已于2020-11-9 17:08:39修改
156
收藏 131
回复
举报
7条回复
按时间正序
/
按时间倒序
gordonlonglong
gordonlonglong

正需要,感谢老师的分享!!

回复
2020-11-9 16:34:34
红叶亦知秋
红叶亦知秋

感谢老师用心回复问题,老师辛苦了。

回复
2020-11-9 16:37:03
鸿蒙张荣超
鸿蒙张荣超 回复了 gordonlonglong
正需要,感谢老师的分享!!

不客气哈,在学习的过程中遇到任何问题,欢迎随时沟通交流~

回复
2020-11-9 19:00:41
鸿蒙张荣超
鸿蒙张荣超 回复了 红叶亦知秋
感谢老师用心回复问题,老师辛苦了。

不客气的,在学习鸿蒙的过程中遇到任何问题,欢迎随时沟通交流^_^

回复
2020-11-9 19:01:29
入门大师小波哥
入门大师小波哥

前排学习!

回复
2020-12-20 20:39:22
其乐
其乐

老师,我使用 deveco studio 选择wearable 使用js 开发的应用,能在华为watchGT2pro上使用吗?

回复
2021-2-26 09:36:25
鸿蒙张荣超
鸿蒙张荣超

要在华为官网申请调试证书才行~

请参考:

(1)社区帖子:https://harmonyos.51cto.com/posts/2102

(2)官方文档:https://developer.huawei.com/consumer/cn/doc/distribution/app/agc-harmonyapp-debugharmonyapp

2
回复
2021-2-26 10:10:36
回复
    相关推荐