【鸿蒙心迹】鸿蒙开发教会我的那些事
前言
2025的前半年有一个老项目要做鸿蒙的app,我有幸接触到了鸿蒙开发,当时对鸿蒙还一无所知,甚至连点击事件都不知道怎么加,不过通过前辈的资料分享以及自己的摸索,大概用了一个星期吧就上手开发了,时间紧任务重,我是从开发中慢慢学习出来了,可以说是,遇水搭桥,遇山开路的历程。一直跟到整个项目开发完成,从中学到了不少的东西,更多的不是技术的提升,而是遇到问题解决问题的思路得到了更多的提升。下面我把我在开发中攻克的难关给大家分享一下。
1、在鸿蒙中如何把网络图片保存到相册中?
刚开始做的时候,由于老项目保存的是网络的图片,所以就照着这个方向走下去了,不过到最后上线的时候,就否定了这个方案。
具体实现的代码和步骤,这里就不做赘述了,请查看我的博客文章
因为需要配置ohos.permission.WRITE_IMAGEVIDEO权限,这个权限是比较麻烦的,上线的时候,就因为这个权限被拦了好多次,果断放弃了这个方案。
那么我们用的是什么解决方案呢?
最终使用的是,把要保存的图片放在了项目中,通过文件写入的api,实现的保存图片功能。
2、在鸿蒙中如何显示富文本(html元素),实现v-html的效果?
在页面中我们经常会有这样的需求,我们这里是要展示一个图文介绍的一个页面。在vue中用v-html就很容易的实现了,但在鸿蒙中就不行了,不信的话可以去试试,页面可丑了。
那会想的是,能不能通过解析html元素的方式去映射出鸿蒙ArkTs的语法去实现?答案肯定是可以的,但是很费时间,开发时间是不够去这样做的。
于是就想着在网上找找有没有什么插件可以实现这样的功能,果然不出所料,找到一个hp-richtext这样的第三方库,他的实现原理跟我想的是一样的,他就是通过解析html元素然后把html的元素转换成ArkTs的语法渲染出来了。这个第三方库真是不错,当时用完之后,我就想着加入到这个仓库的开发,但由于项目排期太紧了,就抛掷脑后了,今天回忆起来,就又给自己提醒了一下,等不太忙的时候一定会去执行的。
对了,具体使用这个方案的代码和步骤,请查看我的博客文章
3、鸿蒙ArkTS页面如何与H5页面交互?
在开发app中,希望经常会有这种情况,加载h5页面,跟h5页面做交互,那么鸿蒙的app应该如何跟h5做交互呢?
答案是使用Web组件加载网页,然后通过一些特定的方法就可以实现,这个实现起来是比较简单的,具体的实现代码和步骤,还是请查看我的博客文章
4、鸿蒙ArkTs如何实现pdf预览功能?
这个也是一个老生常谈的问题,当时我做的那个版本,pdf Kit还不够完善,现在使用pdf Kit是最好的方案。
如果有好奇的伙伴,可以来看看我当时的解决方案,可以说是绞尽脑汁,就差把pdf.js搬过来了。
如果是预览本地的pdf文件和能在线上预览的pdf链接,都直接使用web组件就可以实现了,但我们的pdf文件是通过第三方加密过的,给出的链接是直接触发下载的,就比较麻烦了,于是我们就需要先把pdf文件下载到沙箱中,然后再去沙箱里面读取这个文件。
具体的实现代码和步骤,这里不做赘述,还是请查看我的博客文章
总结
这几个问题是我在开发鸿蒙app中遇到的问题,然后通过自己的思考以及资料的查询,都一个个地攻克了,还有一些css的样式问题,就不做总结了,样式问题的解决方案有很多,遇到样式问题不要慌,适当考虑考虑排版,可能就能解决掉一个大问题,这是我对样式问题总结出来的一个经验。
在我看来,开发中遇到问题不可怕,认输才可怕,只要不服输,办法总比困难多,今天的分享就到此吧,祝大家编写的每一段代码都不存在bug。
更多推荐
所有评论(0)