HarmonyOS开发之ArkTS使用:用户登录页面应用

目录

目录

前言

关于HarmonyOS

环境准备

新建项目

设计用户登录页面

1. 布局设计

2. 编写ArkTS代码

运行和测试

结束语


前言

随着HarmonyOS(鸿蒙操作系统)的不断发展,越来越多的开发者开始投入到这个全新的生态系统中,而ArkTS(Adaptive Runtime for TypeScript)作为HarmonyOS的声明式UI编程语言,为开发者提供了高效、简洁的开发体验,尤其是对于前端开发者入手鸿蒙OS开发来说更是如鱼得水。那么本文就来介绍如何使用ArkTS,这里以创建一个简单的用户登录页面应用来做具体分享。

关于HarmonyOS

关于HarmonyOS的基本内容,HarmonyOS(鸿蒙操作系统)是华为公司推出的一种分布式操作系统,它被设计为一种全场景、全连接的操作系统,旨在实现在各种设备之间的无缝协同和共享,包括智能手机、平板电脑、智能穿戴、智能家居、车载系统等。HarmonyOS的目标是构建一个统一的、开放的、全场景的操作系统生态系统。也是我们的国光操作系统,值得推荐!

环境准备

在开始之前,请确保已经安装了DevEco Studio(华为开发者联盟提供的官方IDE)以及HarmonyOS SDK,与此同时,还需要对ArkTS的基本语法和组件有一定的熟悉和了解,这样才能更好的快速入手体验。

新建项目

接下来就是直接去做创建项目的操作,上面如果把开发环境安装完毕之后,就可以直接创建项目了,大概步骤如下所示:

  1. 打开DevEco Studio,选择“Create New Project”;
  2. 然后在项目模板中选择“Empty Feature Ability (ArkTS)”;
  3. 填写项目信息,比如项目名称、保存位置等,这里就不再过多介绍,具体以实际情况填写即可,然后点击“Finish”即可。

设计用户登录页面

创建新的项目之后,先要根据设计的登录页面来开发,这里着重分享一下用户登录页面的设计的内容。具体步骤如下所示:

1. 布局设计

在新建项目的resources/base/layout目录下创建一个新的XML布局文件,比如login_layout.xml,然后在这个文件中,可以使用ArkUI提供的组件来设计登录页面的布局,使用TextField组件来输入用户名和密码,使用Button组件来提交登录请求等设置。

2. 编写ArkTS代码

然后在对应的.ets文件中(通常是与布局文件同名的.ets文件),可以使用ArkTS来编写页面的逻辑代码。以下是一个简单的示例,具体如下所示:

# ArkTS页面源码

import router from '@ohos.router'
import prompt from '@ohos.prompt'
import promptAction from '@ohos.promptAction'

@Entry
@Component
struct LoginPage {
  @State password: string = ''
  @State username: string = ''
  @State phone: string = ''
  build() {
    Column() {
      Text("登录")
        .fontSize(50)
        .fontWeight(FontWeight.Bold).margin({
        bottom: 60
      })
      Row() {
        Text("用户名")
          .fontSize(18)
          .fontWeight(FontWeight.Bold)
      }.width("100%")
      Row() {
        Image($r("app.media.name")).width(30)
        TextInput({
          placeholder: "请输入用户名"
        }).width(300).onChange((val: string) => {
          this.username = val
        })
      }.margin({
        bottom: 8,
        top: 8
      }).width("100%")
      Divider().strokeWidth(4)
      Row() {
        Text("密码")
          .fontSize(18)
          .fontWeight(FontWeight.Bold).margin({
          bottom: 8,
          top: 8
        })
      }.width("100%")
      Row() {
        Image($r("app.media.password")).width(30)
        TextInput({
          placeholder: "请输入密码"
        }).width(300).onChange((val: string) => {
          this.password = val
        }).type(InputType.Password)
      }.width("100%")
      Divider().strokeWidth(4)
      Row() {
        Blank()
        Text("忘记密码?")
          .fontSize(18)
          .fontWeight(FontWeight.Bold)
      }.width("100%")
      Button("登录").width("90%").height(60).backgroundColor(Color.Orange).onClick(() => {
        if (this.username == "admin" && this.password == "admin") {
          router.replaceUrl({
            url: "page/homepage",
            params: {
              name: this.username
            }
          })
        }
        else {
          promptAction.showToast({
            message:"密码或用户名错误,请重新输入"
          })
        }
      }).margin({
        top: 30,
      })
      Row() {
        Button('第三方登录')
          .width("140vp")
          .height("80vp")
          .fontSize(20)
          .margin({
            bottom: 40,
            top: 60,
            right: 20
          })
        Button('立即注册')
          .width("140vp")
          .height("80vp")
          .fontSize(20)
          .margin({
            bottom: 40,
            top: 60,
          })
      }
      Image($r("app.media.logo")).width(80)
    }
    .width('100%')
    .height('100%')
    .justifyContent(FlexAlign.Center)
    .alignItems(HorizontalAlign.Center)
    .padding({
      left: 20,
      right: 20
    })
  }
}
上面的登录页面实现之后,运行之后,具体效果如下所示:

运行和测试

在DevEco Studio中点击运行按钮(或使用快捷键),将应用部署到模拟器或真机上进行测试。在登录页面中输入用户名和密码,然后点击“登录”按钮,查看控制台输出以验证代码是否按预期工作。到此为止,整个开发流程全部结束,本篇文章内容也要到此结束。

结束语

通过本文内容,介绍了如何使用ArkTS来创建一个简单的用户登录页面应用,通过设计布局、编写ArkTS代码和运行测试等步骤,你可以快速掌握ArkTS的基本用法并开发出具有交互性的HarmonyOS应用。需要说明的是本文示例代码是一个较为简单的 HarmonyOS 应用程序示例,但是涵盖了常见的 UI 布局、状态管理、事件处理和导航等内容,是一个比较全面的入门案例,你也可以在这个示例代码中做自己的修改。我觉得理解这些概念对于开发更复杂的 HarmonyOS 应用程序是很有帮助的,希望这篇文章对你有所帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/608228.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

BeyondCompare4 下载\安装\免费使用

1. 官网 下载 Download Beyond Compare Free Trial 2. 安装(无脑下一步) 3.永久免费使用 修改注册表 A、在搜索栏中输入 regedit ,打开注册表 B、 删除项目:计算机 \HKEY_CURRENT_USER\Software\ScooterSoftware\Beyond Compar…

物联网实战--平台篇之(五)账户界面

目录 一、界面框架 二、首页(未登录) 三、验证码登录 四、密码登录 五、帐号注册 六、忘记密码 本项目的交流QQ群:701889554 物联网实战--入门篇https://blog.csdn.net/ypp240124016/category_12609773.html 物联网实战--驱动篇https://blog.csdn.net/ypp240124016/cat…

10. Django Auth认证系统

10. Auth认证系统 Django除了内置的Admin后台系统之外, 还内置了Auth认证系统. 整个Auth认证系统可分为三大部分: 用户信息, 用户权限和用户组, 在数据库中分别对应数据表auth_user, auth_permission和auth_group.10.1 内置User实现用户管理 用户管理是网站必备的功能之一, D…

远动通讯屏,组成和功能介绍

远动通讯屏,组成和功能介绍 远动通讯屏是基于电网安全建设而投入的远方监控厂站信息、远方切除电网负荷的设备;主经是由远动装置、通讯管理机、交换机、GPS对时装置、数字通道防雷器、模拟通道防雷器、屏柜及附件等设备组成。变电站远动通讯系统是指对广…

安装oh-my-zsh(命令行工具)

文章目录 一、安装zsh、git、wget二、安装运行脚本1、curl/wget下载2、手动下载 三、切换主题1、编辑配置文件2、切换主题 四、安装插件1、zsh-syntax-highlighting(高亮语法错误)2、zsh-autosuggestions(自动补全) 五、更多优化配…

顺序表的实现(迈入数据结构的大门)(2)

目录 顺序表的头插(SLPushFront) 此时:我们有两个思路(数组移位) 顺序表的头删(学会思维的变换)(SLPopFront) 顺序表的尾插(SLPushBack) 有尾插就有尾删 既然头与尾部的插入与删除都有,那必然少不了指定位置的插入删除 查找…

汽车之家,如何在“以旧换新”浪潮中大展拳脚?

北京车展刚刚落幕,两重利好正主导汽车市场持续升温:新能源渗透率首破50%,以及以旧换新详细政策进入落地期。 图源:中国政府网 在政策的有力指引下,汽车产业链的各个环节正经历着一场深刻的“连锁反应”。在以旧换新的…

\boldsymbol无法使用

检查是否导入了 unicode-math 宏包、 没有加粗效果 正常加粗了 2024-5-9-15点35分

(八)JSP教程——application对象

application对象是一个比较重要的对象,服务器在启动后就会产生这个application对象,所有连接到服务器的客户端application对象都是相同的,所有的客户端共享这个内置的application对象,直到服务器关闭为止。 可以使用application对…

【SpringBoot记录】自动配置原理(1):依赖管理

前言 我们都知道SpringBoot能快速创建Spring应用,其核心优势就在于自动配置功能,它通过一系列的约定和内置的配置来减少开发者手动配置的工作。下面通过最简单的案例分析SpringBoot的功能特性,了解自动配置原理。 SpringBoot简单案例 根据S…

Linux下的SPI通信

SPI通信 一. 1.SPI简介: SPI 是一种高速,全双工,同步串行总线。 SPI 有主从俩种模式通常由一个主设备和一个或者多个从设备组从。SPI不支持多主机。 SPI通信至少需要四根线,分别是 MISO(主设备数据输入,从设备输出),MOSI (主设数据输出从设备输入),SCLK(时钟信号),CS/SS…

leetcode尊享面试100题(549二叉树最长连续序列||,python)

题目不长,就是分析时间太久了。 思路使用dfs深度遍历,先想好这个函数返回什么,题目给出路径可以是子-父-子的路径,那么1-2-3可以,3-2-1也可以,那么考虑dfs返回两个值,对于当前节点node来说&…

BI赋能金融新质生产力,16家金融机构智能BI创新实践分享

2024年政府工作报告强调,要“大力发展科技金融、绿色金融、普惠金融、养老金融、数字金融”,同时“大力推进现代化产业体系建设,加快发展新质生产力”。对于金融行业而言,培育新质生产力是高质量发展的关键着力点。金融机构可以通…

vue项目启动后页面显示‘Cannot GET /’

1、npm run dev命令启动项目的时候没有报错,页面打开却提示 Cannot GET / 2.这个时候只需要找到config文件夹下面的index.js文件。把assetsPublicPath字符串的:‘./’修改成 ‘/’就行了。修改完之后记得关闭项目,然后重新启动。不然不会生效…

度小满——征信报告图建模

目录 背景介绍 发展趋势 技术演进 图在金融风控领域中的演进 度小满图机器学习技术体系 案例 征信报告介绍 征信报告图建模

postman接口测试中文汉化教程

想必同学们对于接口测试工具postman的使用并不陌生,以及最近大为流行的国产工具apifox。对于使用过的同学来说,两者区别以及优缺点很容易别展示出来,postman相比apifox来说更加轻量,但是apifox更加符合国人的使用习惯....中国人给…

Nest 快速上手 —— (三)中间件 / 异常过滤器

一、 中间件(Middleware) 1.特点 中间件是一个在路由处理程序之前被调用的函数。中间件函数可以访问请求和响应对象,以及应用程序请求-响应周期中的next()中间件函数。下一个中间件函数通常由一个名为next的变量表示。 中间件函数可以执行以…

车载测试系列:车载蓝牙测试(三)

HFP测试内容与测试方法 2.3 接听来电:测试手机来电时,能否从车载蓝牙设备和手机侧正常接听】拒接、通话是否正常。 1、预置条件:待测手机与车载车载设备处于连接状态 2、测试步骤: 1)用辅助测试机拨打待测手机&…

BetterMouse for Mac激活版:鼠标增强软件

BetterMouse for Mac是一款鼠标增强软件,旨在取代笨重的、侵入性的和耗费资源的鼠标驱动程序,如罗技选项。它功能丰富,重量轻,效率优化,而且完全隐私安全,试图满足你在MacOS上使用第三方鼠标的所有需求。 B…

新火种AI|AI让大家都变“土”了!

作者:一号 编辑:美美 AI不仅要把人变“土”,还要把人变多样。 这个世界,终究是变“土”了。 今年五一假期,一个名为“Remini”的AI修图APP火遍了全网。注意,是Remini,而不是Redmi&#xff0…