#星计划#OpenHarmony开发天气查询应用 原创
wx659b8e8d23c10
发布于 2024-1-11 19:17
浏览
1收藏
“天气之子”
功能描述:
通过请求免费API获取指定城市七天内相关天气信息
开发环境:
IDE:DEV ECO 4.0.600
SDK:4.0.10.15
开发板:DAYU200 4.0.10.16
开发过程
一. 创建项目,调试环境
1.创建项目
2.选择OpenHarmony、API10
3.连网条件下加载依赖
4.在开发板上签名,运行HelloWorld测试环境
直接运行,然后点击log报错直达签名
在工具栏File/Project Structure/Signing Configs,勾选Automatically generate签名;运行HelloWorld。
二.修改图标和名称
1.设置-应用管理页面
AppScope/app.json5中查看相关配置
2.桌面
src/main/module.json5中查看相关配置
最终效果:
三.添加网络权限
因为需要用到网络数据,所以添加initent权限。
在src/main/module.json5的model中添加配置。
四.自定义Model
在ets中新建model文件夹,建立ArkTS文件,基于API返回结果结合需要自定义类
API返回结果:
源码如下
五.制作index页面、请求网络数据
1.请求网络数据
1.导入http模块
2.创建createHttp
3.填写HTTP地址
4.对网络数据的处理
完整代码:
如果显示2300006错误码,很可能是网络问题
2.制作UI
1.文本输入框
2.“查询”按钮:点击页面进行跳转到列表页
最终界面:
六.制作列表页(跳转到的第二张页面)
先看最终效果:
1.自定义组件
被Component装饰器修饰,定义struct,并且用关键字export导出
2.页面UI
1.首先接收上一页面传输数据
2.主要用到List,Column,Row,Text和自定义组件;利用ForEach循环渲染;每一个自定义组件绑定一个点击事件,可分别跳转到详情页。
源码:
七.制作详情页(点击自定义组件跳转到的第三张页面)
有了前面两张页面的基础,这一张可以较为顺利完成,故不再赘述。
最终效果:
八.总结
此项目主要练习了:
- List,Column,Row,Text,Divider,Image,promptAction等组件及其属性
- 网络数据请求
- 页面跳转及传输数据
- 自定义组件
- 自定义类
- 做自己喜欢的UI
九.参考文章和链接
十.未解决的问题
- 开发板自带的输入法只有英文输入法,文本框里输入不了汉字,所以目前只能展示默认的北京的天气。
- 网络请求明明成功,但是接收数据的数组仍然为空,要点两次才可以,不明白。
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2024-1-11 19:52:21修改
赞
2
收藏 1
回复
2
6
1
相关推荐
你为什么有api10😎
SDK Manager里选openharmony是有API10的,harmonyOS只有9
有纯中文的鸿蒙开发环境吗?
Dev Eco这个IDE应该是可以汉化的,官方文档也有简体中文(〜 ̄▽ ̄)〜
那挺好,正准备找时间学习。谢谢你!
必须点赞