写点什么

HarmonyOS 5.0 (Next)应用开发实战:使用 ArkTS 构建开箱即用的登录页面【HarmonyOS 5.0(Next)】

作者:申公豹
  • 2024-12-22
    内蒙古
  • 本文字数:3133 字

    阅读完需:约 10 分钟

HarmonyOS 5.0 (Next)应用开发实战:使用 ArkTS 构建开箱即用的登录页面【HarmonyOS 5.0(Next)】

一、HarmonyOS 5.0 美学与科技的完美融合

在科技飞速发展的今天,每一个细微的创新都可能引领一场变革。华为,作为科技领域的领航者,再次以 HarmonyOS 5.0(Next)这一里程碑式的操作系统升级,向我们展示了科技的力量与魅力。它不仅是一次技术的飞跃,更是对未来智能生活的一次深刻洞察和重塑。



HarmonyOS 5.0(Next)首次引入了“光感美学”的设计理念,将光与影的巧妙结合融入系统界面。通过先进的算法和图像处理技术,系统界面呈现出更加细腻、生动的光影效果,为用户带来前所未有的视觉盛宴。这种设计不仅提升了系统的美观度,更在无形中增强了用户与设备之间的情感连接。


HarmonyOS 5.0(Next)在分布式软总线技术的基础上,进一步实现了多设备间的深度协同。无论是智能家居、智能穿戴还是智能办公设备,都能轻松接入鸿蒙生态,实现无缝流转和智能联动。用户只需轻轻一触,即可将手机上的视频、音乐、文档等内容快速分享到电视、平板或电脑上,真正实现了“一机在手,万物互联”的智能生活体验。



小艺助手,作为 HarmonyOS 5.0(Next)的智能核心,得到了全面的升级和优化。它不仅能够准确理解用户的指令和需求,还能根据用户的习惯和偏好提供个性化的服务和建议。无论是日程管理、健康监测还是娱乐推荐,小艺助手都能轻松应对,让用户的生活更加便捷和高效。


在隐私安全方面,HarmonyOS 5.0(Next)采用了全新的安全架构和防护措施。系统深度整合了硬件级安全芯片和软件级安全防护机制,为用户的数据安全提供了全方位的保障。同时,系统还提供了丰富的隐私设置选项,让用户能够根据自己的需求灵活调整隐私权限,确保个人信息的安全和隐私。

1.1 项目背景

HarmonyOS(鸿蒙操作系统)是华为公司推出的一种分布式操作系统。它被设计为一种全场景、全连接的操作系统,旨在实现在各种设备之间的无缝协同和共享,包括智能手机、平板电脑、智能穿戴、智能家居、车载系统等。HarmonyOS 的目标是构建一个统一的、开放的、全场景的操作系统生态系统。这是我做项目中用到的应该展示页面。


1.2 ArkTS 详解

ArkTS 是鸿蒙生态的应用开发语言。它在保持 TypeScript(简称 TS)基本语法风格的基础上,对 TS 的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式 UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。自然简洁语法 ArkTS 提供了简洁自然的声明式语法、组件化机制、数据-UI 自动关联等能力,实现了贴近自然语言,书写效率更高的编程方式,为开发者带来易学、易懂、极简开发的优质体验。轻量化并发机制 ArkCompiler 运行时在 HarmonyOS 上提供了 Worker API 支持并发编程。在运行时实例内存隔离的基础上,ArkCompiler 通过共享运行实例中的不可变或者不易变的对象、内建代码块、方法字节码等技术手段,优化了并发运行实例的启动性能和内存开销。

二.HarmonyOS 应用开发实战—开箱即用的登录页面 2【ArkTS】

2.1 ArkTS 页面源码

import router from '@ohos.router';import http from '@ohos.net.http';import promptAction from '@ohos.promptAction'@Entry@Componentstruct Index {  @State activities: object[] = [    {    },    {    },  ];  @State username: string = ''  @State password: string = ''

S_login() { if (this.username == "admin" && this.password == "admin") { router.replaceUrl({ // url: "pages/one", url: "pages/one", params: { activities:this.activities } }) } else { promptAction.showToast({ message:"密码或用户名错误,请重新输入" }) } }


build() { Row() { Column({space:17}) { Image($r("app.media.logo")).width(80) Text("XXXXXArkts例示案例") TextInput({ placeholder: '输入用户名' }) .width(300) .height(60) .fontSize(20) .onChange((value: string) => { this.username = value }) TextInput({ placeholder: '输入密码' }) .width(300) .height(60) .fontSize(20) .type(InputType.Password) .onChange((value: string) => { this.password = value }) Button('登录') .width(300) .height(60) .fontSize(20) .backgroundColor('#0F40F5') .onClick(() => { this.S_login(); }) } .width('100%') } .height('100%') }}
复制代码

2.2 代码解析

这段代码是一个使用 OHOS(OpenHarmony Operating System)开发的 UI 组件。它定义了一个名为Index的组件,该组件包含一个登录界面。


以下是对代码的详细分析:


  1. 首先,导入了三个模块:

  2. router:用于页面跳转。

  3. http:用于网络请求。

  4. promptAction:用于显示提示信息,如 Toast。

  5. Index组件定义了三个状态变量:

  6. activities: 一个对象数组,初始为空。

  7. username: 用户名字符串,初始为空。

  8. password: 密码字符串,初始为空。

  9. S_login方法用于处理登录逻辑:

  10. 如果用户名和密码都为"admin",则使用router.replaceUrl进行页面跳转,跳转到"pages/one",并将activities作为参数传递。

  11. 否则,使用promptAction.showToast显示错误提示信息:"密码或用户名错误,请重新输入"。

  12. build方法定义了组件的构建结构:

  13. 使用RowColumn布局组件创建一个垂直布局的行。

  14. 在布局中添加以下元素:

  15. 一个 logo 图片。

  16. 文本"XXXXXArkts 例示案例"。

  17. 两个TextInput组件,分别用于输入用户名和密码。这两个组件的值变化会更新对应的usernamepassword状态变量。

  18. 一个登录按钮。点击该按钮时,调用S_login方法进行登录处理。


整个组件就是一个简单的登录界面,用户可以输入用户名和密码进行登录,如果用户名和密码正确,则跳转到"pages/one"页面,否则显示错误提示信息。

2.3 心得

在分析和理解这段 OHOS 开发的 UI 组件代码过程中,以下是一些可能的心得体会:


  1. 模块化导入:代码中通过import语句导入了所需的模块,如routerhttppromptAction。这种模块化的设计有助于代码的组织和复用,使得代码结构更加清晰,同时也方便进行功能扩展。

  2. 状态管理:组件使用了@State装饰器来定义状态变量,如activitiesusernamepassword。这些状态变量在组件的生命周期中保持,并在状态变化时触发组件的重新渲染。这种方式有利于实现响应式编程,确保界面能够实时反映数据的变化。

  3. 方法封装:将登录逻辑封装在S_login方法中,实现了业务逻辑的分离。这种方法有助于提高代码的可读性和可维护性,使得代码更加模块化和易于测试。

  4. UI 构建:使用布局组件(如RowColumn)和基础组件(如ImageTextTextInputButton)构建用户界面。这种声明式的 UI 构建方式使得界面设计更加直观和灵活,同时也能充分利用平台提供的优化和性能提升。

  5. 事件处理:在登录按钮上使用.onClick方法绑定点击事件,调用S_login方法进行登录处理。这种方式清晰地定义了用户交互与业务逻辑之间的关系,使得代码逻辑更加清晰。

  6. 用户体验:代码中考虑了用户体验的细节,如密码输入框使用.type(InputType.Password)设置为密码模式,保护用户隐私;错误提示信息使用promptAction.showToast显示,提供友好的反馈。


总的来说,这段代码展示了 OHOS 开发的一些最佳实践和特点,包括模块化、状态管理、方法封装、声明式 UI 构建和事件处理等。理解和掌握这些概念和技术,有助于编写出更加高效、可维护和具有良好用户体验的 OHOS 应用程序。

发布于: 刚刚阅读数: 5
用户头像

申公豹

关注

申公豹本豹 2023-06-05 加入

🏆2022年InfoQ写作平台-签约作者 🏆

评论

发布
暂无评论
HarmonyOS 5.0 (Next)应用开发实战:使用ArkTS构建开箱即用的登录页面【HarmonyOS 5.0(Next)】_HarmonyOS_申公豹_InfoQ写作社区