OpenHarmony实战开发-图案密码锁组件的使用

介绍

本示例展示了图案密码锁组件的使用,实现了密码设置、验证和重置功能。

图案密码锁组件:以宫格图案的方式输入密码,用于密码验证。手指触碰图案密码锁时开始进入输入状态,手指离开屏幕时结束输入状态并向应用返回输入的密码。

使用到用户首选项接口@ohos.data.preferences 异步获取用户设定过的密码。

效果预览

使用说明:

1.首次进入时需要设置密码,需要两次输入密码相同后点击设置密码进行设置,如果第二次输入密码和第一次输入密码不同,会提示重新输入。

2.设置密码后,需要输入密码解锁,退出应用后重新进入应用,需要再次输入密码验证,密码验证成功进入主页。

3.设置密码后,在输入密码界面有重置密码按钮,点击后需要输入旧密码,旧密码验证成功后开始设置新的密码。

工程目录

entry/src/main/ets/        
|---model
|   |---PreferencesUtils.ts             // 定义用户存过的密码
|---pages
|   |---Home.ets                        // 输入密码成功后进入的首页页面
|   |---Index.ets                       // 密码锁页面,定义密码验证逻辑

具体实现

  • 在pages/Home.ets中定义密码锁组件,通过定义两个变量isHasPass:是否已经设过密码;isReset:是否需要重置密码;
  • 密码验证分为几种情况
  1. 首次进入页面, 通过aboutToAppear()初始化调用preferences.getPreferences()获取密码,此时defaultPassword='null',isHassPass=false,需设置密码并确认密码;
  2. 已经设过密码: 通过aboutToAppear()初始化调用preferences.getPreferences()获取密码,此时defaultPassword='oldPassword',isHassPass=true,页面渲染重置密码text()。 需输入密码和defaultPassword比较,正确后跳转相应页面,若失败提示密码错误,需重新输入密码。
  3. 点击重置密码,此时组件清除旧密码,即defaultPassword='null',此时无密码,走首次无密码流程。
  • 在pages/index.ets中定义密码通过后的首页页面

相关权限

不涉及。

依赖

不涉及。

约束与限制

1.本示例仅支持标准系统上运行, 支持设备:RK3568 。

2.本示例为Stage模型, 已适配API version 9版本SDK,版本号:3.2.11.9 。

3.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400, built on April 7, 2023)及以上版本才可编译运行。

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo code/Solutions/Tools/PatternLock/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master

为了帮助大家更深入有效的学习到鸿蒙开发知识点,小编特意给大家准备了一份全套最新版的HarmonyOS NEXT学习资源,获取完整版方式请点击→《https.docs.qq.com

HarmonyOS教学视频:语法ArkTS、TypeScript、ArkUI等.....视频教程

鸿蒙生态应用开发白皮书V2.0PDF:

获取完整版白皮书方式请点击《https.docs.qq.com

鸿蒙 (Harmony OS)开发学习手册

一、入门必看

  1. 应用开发导读(ArkTS)
  2. ……

二、HarmonyOS 概念

  1. 系统定义
  2. 技术架构
  3. 技术特性
  4. 系统安全
  5. ........

三、如何快速入门?《https.docs.qq.com

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ……

四、开发基础知识

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

五、基于ArkTS 开发

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ……

更多了解更多鸿蒙开发的相关知识可以参考:《https.docs.qq.com

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-05 22:10:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-05 22:10:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-05 22:10:01       82 阅读
  4. Python语言-面向对象

    2024-04-05 22:10:01       91 阅读

热门阅读

  1. 【pytest】`setup`和`teardown`

    2024-04-05 22:10:01       39 阅读
  2. 网络层面测评项

    2024-04-05 22:10:01       37 阅读
  3. docker容器gitlab数据迁移

    2024-04-05 22:10:01       44 阅读
  4. 4. python练习题4-水仙花数

    2024-04-05 22:10:01       27 阅读
  5. 【学习笔记】CF1935F Andrey‘s Tree

    2024-04-05 22:10:01       31 阅读
  6. 栈的应用:20. 有效的括号LeetCode

    2024-04-05 22:10:01       33 阅读
  7. 【六 (1)机器学习-机器学习算法简介】

    2024-04-05 22:10:01       32 阅读