玩鸿蒙项目来了,请尝鲜

文章目录

  • 前言
  • 玩鸿蒙项目的介绍
  • 效果截图
  • 总结

一、前言

记得拉倒底看效果图。

鸿蒙开发热潮已经来了,大家学习热情还是很大的,还有就是华为生态学堂线下的举办,很多都入局了。

鸿蒙要想快速上手,那么就要自己开始去写页面,并且自己开发一个自己的应用出来。如果你一直关注我,你就知道之前我提到的一些基础的组件的使用,还有页面的实现,很快的,你再来看我写的这个玩鸿蒙项目,就很简单了。

大概捋一下,这个项目中的重点,最关键的就是网络请求,还有就是列表上拉加载更多和上拉刷新,还有就是数据持久化存储。

当你把网络请求,还有列表,以及持久化存储,再加上页面的编写,自己写一个鸿蒙app,就很简单了,剩下的就是交给时间。

这里提一点,这个是基于api9进行实现的,因为我现在已经在用api11写项目了,发现api11,存储或者是网络请求上有些变更,如果你有开发工具,可以跟着官方api11进行更改即可。后期,我时间允许,再迭代更新。

最后呢,我会把应用上传到github上,大家可以下载学习。另外最后有页面的效果截图,看完再看代码,这样会更加直观。

二、介绍整个项目

1、开发工具
cpp 复制代码
DevEco Studio 4.0 Release
HarmonyOS Api9
2、整个项目的组成部分
cpp 复制代码
1、欢迎页面
2、注册登录模块
3、主页面
4、首页
5、广场
6、导航
7、我的
8、一些加载动画,还有弹框等
9、持久化存储等工具类
3、网络请求
cpp 复制代码
这块就是鸿洋提供的接口,也就是玩android对应的开放接口。

  async getUserInfo(): Promise<Response<User>> {
    return request("/lg/coin/userinfo/json", http.RequestMethod.GET);
  }

  /**
   * 获取首页列表
   * */
  async getHomeArticleList(page: number): Promise<Response<ArticleList>>{
    return request(`/article/list/${page}/json`, http.RequestMethod.GET)
  }

  /**
   * 获取广场列表
   * */
  async getSquareArticleList(page: number, pageSize: number = 15): Promise<Response<ArticleList>>{
    return request(`/user_article/list/${page}/json?page_size=${pageSize}`, http.RequestMethod.GET)
  }

  /**
   * 注册
   * */
  async postRegister(userName: string, password: string): Promise<Response<Object>>{
    return request('/user/register', http.RequestMethod.POST, `username=${userName}&password=${password}&repassword=${password}`)
  }

  /**
   * 登录
   * */
  async postLogin(userName: string, password: string): Promise<Response<User>>{
    return request('/user/login', http.RequestMethod.POST, `username=${userName}&password=${password}`)
  }

  async getLogout(): Promise<Response<string>>{
    return request('/user/logout/json', http.RequestMethod.GET)
  }

  async getNavi(): Promise<Response<Array<NavigationListBean>>> {
    return request(`/navi/json`, http.RequestMethod.GET)
  }
4、第三方库
cpp 复制代码
"dependencies": {
    "@ohos/materialprogressbar": "^2.0.2",
    "@ohos/pulltorefresh": "2.0.1"
}

其中pulltorefresh 是最重要的,因为要进行上拉加载和下拉刷新

5、工具类

数据持久化,直接看这个类 PreferenceUtil 就行。

toast 直接看这个类ToastUtils 就行

6、注意事项

如果你编译运行报错,你先检查下这个几个地方。

1、将local.properties 中的路径改成自己的

cpp 复制代码
hwsdk.dir=/Users/ssz/Library/Huawei/Sdk
nodejs.dir=/Users/ssz/node/node-16.20.1

2、 在build-profile.json5 将signingConfigs 整个数组注释掉

cpp 复制代码
  "app": {
//    "signingConfigs": [
//      {
//        "name": "default",
//        "type": "HarmonyOS",
//        "material": {
//          "certpath": "/Users/ssz/.ohos/config/auto_debug_WanHarmony_com.ssz.wanharmony_2850086000365435829.cer",
//          "storePassword": "0000001BE892EA77994F5F80957A5681999A202A1EEE252CE200661DBE0236E03349EFDE1CC8497E80D0A9",
//          "keyAlias": "debugKey",
//          "keyPassword": "0000001BCDE4621B4BC4396390C6EC447BCA59C5F761CAACD54C192894B3F222316B3F382C92C22B9D207E",
//          "profile": "/Users/ssz/.ohos/config/auto_debug_WanHarmony_com.ssz.wanharmony_2850086000365435829.p7b",
//          "signAlg": "SHA256withECDSA",
//          "storeFile": "/Users/ssz/.ohos/config/auto_debug_WanHarmony_com.ssz.wanharmony_2850086000365435829.p12"
//        }
//      }
//    ],
    "compileSdkVersion": 9,
    "compatibleSdkVersion": 9,
   ...
  }
  

三、效果截图

每一行代码都是亲手去撸的,然后再整理成文章实属不易哈。不过写完还是挺欣慰的。

以上就是全部,我将整项目放到github上,后面有新增,也会一并上传。

最后献上我的个人v,专属终身顾问,解答关于鸿蒙相关的东西,包括项目中的问题,还有最新的技术点,快速开发,抢在前头。 hmssz1

技术迭代很快,不要在一个问题上拔不出来,找到专业的人,快速的解决,作为程序员时间是最宝贵的,不要自己蒙头苦干,等你搞懂了,这个技术已经过时了。

以上代码地址:github.com/shenshizhon...

总结

1、介绍玩鸿蒙整个项目

2、编译运行报错处理

3、效果截图

如果对你有一点点帮助,那是值得高兴的事情。:)

我的csdn:blog.csdn.net/shenshizhon...

我的简书:www.jianshu.com/u/345daf021...

相关推荐
Hrain-AI6 小时前
Anthropic oncall-kit 开源拆解:运维 Agent 落地范式的四基石与权限边界
运维·人工智能·开源
淼澄研学6 小时前
Proliferate开源框架技术解析与Docker部署实操
docker·容器·开源
梦想不只是梦与想7 小时前
鸿蒙AGC设备管理:设备注册(一)
harmonyos·设备管理·appgallery
冬奇Lab7 小时前
开源项目第197期:skill-up — 阿里巴巴出品的 Agent Skills 评测与进化工具,评测闭环 + 自动修复
人工智能·开源·资讯
冬奇Lab7 小时前
Code Agent 解剖(10):agent 崩了怎么恢复,对话历史存在哪?
人工智能·开源·agent
熊猫钓鱼>_>8 小时前
鸿蒙ArkUI全手势操作实战指南:6大基础手势从原理到落地避坑
人工智能·深度学习·华为·架构·harmonyos·arkui·tapgesture
dong_junshuai9 小时前
每天一个开源项目#79 Apache Maka:3K星本地Agent工作台
开源·github·agent
2501_9197490310 小时前
华为鸿蒙记录怀孕APP—小羊怀孕
华为·harmonyos·鸿蒙
文慧的科技江湖10 小时前
goEMS 能源管理系统(微电网) -;️goEMS微电网;能源管理系统(EMS);️储能光伏运营平台️; 多租户 SaaS 能源云平台️;
开源·能源·微电网·ems·新型电力系统·能源数字化·goems能源管理系统微电网
省长11 小时前
别人绕过我的网关直接调用资源服务怎么办?使用 Sa-Token 解决:网关转发鉴权、RPC调用鉴权
java·后端·开源