[技术贴]HarmonyOS 鸿蒙Next开发一个背单词软件
[技术贴]HarmonyOS 鸿蒙Next开发一个背单词软件 先创建一个空白应用.选择fa,语言为arkts
删除helloword,添加一个多行文本框
添加一个按钮并绑定事件
更改state值为:
@State word_text:string='Hello 你好\nWorld 世界'
定义两个全局变量数组
let Chinese_words:string[]=[]
let English_words:string[]=[]
设置当前页面的显示隐藏state
@State start_layout:Visibility=Visibility.Visible
在按钮事件里绑定分割文本事件
Button('保存单词')
.onClick(()=>{
let words:string[]=[]
let temp_word:string[]
words=this.word_text.split("\n")
for (let index = 0; index < words.length; index++) {
const element = words[index];
temp_word= element.split(" ")
Chinese_words[index]=temp_word[1]
English_words[index]=temp_word[0]
console.log(Chinese_words[index])
console.log(English_words[index])
}
this.start_layout=Visibility.Hidden
this.record_words_layout=Visibility.Visible
console.log(words[0])
console.log(words[1])
})
隐藏当前页面,显示一个新的页面
this.start_layout=Visibility.Hidden
this.record_words_layout=Visibility.Visible
新页面的主要元素
Column({
space:20}){
Text(this.chinese_word)
TextInput()
.onChange((value:string)=>{
this.user_word=value
})
Row({
space:20}){
Button('提交')
Button('刷新')
}
}
设置内边距
.padding(20)
开始页面设置绝对定位放置被新页面挤出去
.position({x:0,y:0})
设置一个全局变量,用于保存随机显示的单词在数组中的位置
let tips_id:number=0
添加提交按钮事件
Button('提交')
.onClick(()=>{
if (English_words[tips_id]==this.user_word) {
this.chinese_word='恭喜,答对了!'
}else {
this.chinese_word='正确答案是:'+English_words[tips_id]
}
})
添加刷新按钮事件:
Button('刷新')
.onClick(()=>{
tips_id=Math.floor(Math.random() * Chinese_words.length)
//console.log(console);
this.chinese_word=Chinese_words[tips_id]
})
此处tips_id=Math.floor(Math.random() * Chinese_words.length)
是用来生成一个从0到单词数组成员数之间的随机数
至此,一个背单词软件就开发好了,你们可以根据自己的需求逐步添加新的功能.
软件的大致流程时,启动,用户输入或粘贴要背的单词,一行一个,每行格式为英文+空格+中文
输入或粘贴好后,点击完成按钮,即可进入背单词页面.
显示中文,输入框输入对应英文单词,点击提交即可显示对错.
点击刷新即可随机切换下一个单词.
在HarmonyOS(鸿蒙Next)上开发一个背单词软件,主要涉及以下几个技术点:
-
UI设计:使用ArkUI框架进行界面设计。ArkUI是鸿蒙系统提供的声明式UI开发框架,支持JS和eTS(扩展TypeScript)语言。可以通过组件化方式构建界面,如使用
Text
、Button
、List
等组件展示单词、选项和操作按钮。 -
数据存储:鸿蒙系统提供了多种数据存储方式。可以使用轻量级数据存储
Preferences
来保存用户的学习进度和设置。对于单词库,可以使用RDB
(关系型数据库)或ObjectBox
进行存储和管理。 -
网络请求:如果需要从服务器获取单词数据,可以使用鸿蒙的
@ohos.net.http
模块进行网络请求。支持GET、POST等HTTP方法,可以异步获取数据并更新到本地数据库。 -
多媒体支持:如果软件需要发音功能,可以使用鸿蒙的
@ohos.multimedia.audio
模块进行音频播放。可以通过TTS(文本转语音)技术实现单词发音。 -
事件处理:通过ArkUI的事件绑定机制,处理用户交互事件,如点击按钮、选择单词等。可以使用
@State
、@Prop
等装饰器管理组件的状态变化。 -
多设备协同:鸿蒙系统支持多设备协同,可以通过
Distributed Data Management
(分布式数据管理)实现不同设备间的数据同步,用户可以在手机、平板、智慧屏等设备上无缝切换学习。 -
测试与调试:使用DevEco Studio进行开发和调试。DevEco Studio提供了模拟器和真机调试功能,支持实时预览和性能分析。
开发过程中,可以参考鸿蒙官方文档和示例代码,确保应用符合鸿蒙系统的设计规范和性能要求。
更多关于[技术贴]HarmonyOS 鸿蒙Next开发一个背单词软件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
开发HarmonyOS鸿蒙Next背单词软件,首先需安装DevEco Studio,创建新项目并选择“Ability”模板。利用ArkTS或JS进行UI设计,实现单词展示、发音、测试等功能。通过鸿蒙的分布式能力,支持多设备同步学习数据。利用本地数据库存储单词库,确保离线可用。最后,进行测试与优化,确保应用流畅稳定。发布前,需遵循鸿蒙应用市场规范,完成应用签名与上架流程。