0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【开源项目】带你快速入门OPenHarmony—数据转码应用实战

电子发烧友论坛 来源:未知 2022-11-15 08:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1、背景

OpenHarmony的应用开发支持C++、JS、eTS,从已有版本的演进路线来看,eTS是未来重点的技术路线。

对于刚入门OpenHarmony应用开发的小伙伴来说,eTS可能比较陌生,如果有一个合适的实战项目来练手,那么对技术能力提升是非常有帮助的,本文将以一个小项目——数据转码应用,来讲解应用开发全流程。

2、需求

开发一个字符串转码应用,应用提供待转码字符串输入框,用户输入字符串后可方便的进行各种数据类型的转码,具体有:

10进制转16进制,并补0

16进制转10进制

16进制转2进制

2进制转16进制

16进制转ASCII码

ASCII码转16进制

3、设计

设计稿如下:

7ac0781a-647a-11ed-8abf-dac502259ad0.jpg

字符串输入框采用textarea组件,按钮采用button组件,文字标题采用text组件。

4、创建项目

我们打开DevEco Studio开发工具,选择Create,点击下一步。

7b183f00-647a-11ed-8abf-dac502259ad0.jpg

输入项目名称:DataConvert

项目类型选择:Application

Bundle name:填自己的公司域名+项目名

Save location:选择工程文件保存路径

Compile API:选择api8(最新的api9已推出,本案例使用api8开发)

UI Syntax:选择eTS

Device type:勾选Phone、Tablet

点击Finish

7b32a746-647a-11ed-8abf-dac502259ad0.jpg

IDE自动构建好项目如下:

7b538c9a-647a-11ed-8abf-dac502259ad0.jpg

打开index.ets点击右侧Previewer,我们可以看到页面预览效果。

7b6ca25c-647a-11ed-8abf-dac502259ad0.jpg

以上,项目创建完毕,我们可以在gitee或私有git仓库上创建好代码仓库提交上去,便于后续代码归档。

5、页面布局规划

7b829d32-647a-11ed-8abf-dac502259ad0.jpg

整个页面布局规划

最外侧使用flex垂直向下布局,这样确保了所有元素都是从上开始顺序往下排列;

紧接着是标题、字符输入部分、按钮部分、转码结果部分、清空按钮,5个大块;

字符输入区域含有标题+输入框,分别使用text+textarea;

按钮部分采用Row+Column,这样便于按钮对齐;

转码结果区域与字符输入区域一致,可以直接复用

清空按钮可以复用按钮区;

注意所有组件之间的间隔;

6、UI界面编码实现

build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Start }) {
Flex({ direction: FlexDirection.Row }) {
Text($r('app.string.title'))
.fontSize(30)
}
.width('100%')
.margin({ bottom: 30 })

Flex({ direction: FlexDirection.Row, wrap: FlexWrap.Wrap }) { 
 Text($r('app.string.inputStr')) 
  .fontSize(24) 
  .margin({ bottom: 15 }) 
  .width('100%') 


 TextArea() 
  .width('100%') 
  .height(180) 
  .backgroundColor(0x0ffff) 
  .borderRadius(0) 
}.width('100%') 


Row() { 
 Column() { 
  Button($r('app.string.btnDec2hex'), { __type__: ButtonType.Normal }) 
   .width('50%') 
 } 
 .padding({ top: 10, right: 5, bottom: 0, left: 0 }) 


 Column() { 
  Button($r('app.string.btnHex2dex'), { __type__: ButtonType.Normal }) 
   .width('50%') 
 } 
 .padding({ top: 10, right: 0, bottom: 0, left: 5 }) 
} 


Row() { 
 …… 
} 


Row() {

……

}

Flex({ direction: FlexDirection.Row, wrap: FlexWrap.Wrap }) { 
 Text($r('app.string.encodeStr')) 
  .fontSize(24) 
  .margin({ bottom: 10 }) 
  .width('100%') 


 Flex() { 
  Text(__this__.strEncode).fontSize(16) 
 } 
 .width('100%') 
 .height(180) 
 .backgroundColor(0x0ffff) 
 .borderRadius(20) 
 .padding({ top: 10, right: 10, bottom: 10, left: 10 }) 
} 
.width('100%') 
.margin({ top: 20 }) 


Row() { 
 Column() { 
  Button($r('app.string.btnClean'), { __type__: ButtonType.Normal }) 
   .width('50%') 
 } 
 .padding({ top: 10, right: 5, bottom: 0, left: 0 }) 
} 
.width('100%')

}
.padding({ top: 18, right: 18, bottom: 18, left: 18 })
}

7、总结

项目的开发包含很多流程步骤,我们在开发时需要注意规划好前期的需求和设计工作,这样在后续的编码过程中可以避免频繁的修改调整。OpenHarmony应用开发与VUE开发有一定的相似性,两者的布局和组件样式原理是相通的,我们在拿到UI设计稿后不要急于编码,提前规划好组件布局可以事半功倍。

+

+

更多相关推荐

点击标题即可查看内容

1.OpenHarmony数据转码应用开发实战(中)

2.OpenHarmony数据转码应用开发实战(下)


本文由电子发烧友社区发布,转载请注明以上来源。如需社区合作及入群交流,请添加微信EEFans0806,或者发邮箱liuyong@huaqiu.com

7ba10164-647a-11ed-8abf-dac502259ad0.png


原文标题:【开源项目】带你快速入门OPenHarmony—数据转码应用实战

文章出处:【微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

原文标题:【开源项目】带你快速入门OPenHarmony—数据转码应用实战

文章出处:【微信号:gh_9b9470648b3c,微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    开源鸿蒙和开源欧拉成为开放原子开源基金会首批毕业项目

    11月21日,在2025开放原子开发者大会开幕式上,开放原子开源基金会宣布旗下开源鸿蒙(OpenHarmony)与开源欧拉(openEuler)成为首批毕业
    的头像 发表于 11-25 17:22 570次阅读

    【置顶公告】视美泰开源鸿蒙系列产品业务咨询与商务合作通道正式开启!

    尊敬的电子发烧友社区成员、合作伙伴及行业同仁: 视美泰作为开源鸿蒙(OpenHarmony)生态的积极推动者,始终致力于为行业提供高性能、高可靠性的智能硬件解决方案及生态赋能服务。为进一步深化
    发表于 10-20 16:23

    【直播预告】10月14日 本周二晚8点|睿擎平台首场实战直播:从快速上手到实现远程监控网关

    一次直播,带你完整走通工业网关开发全流程面对新的开发平台,你是否也在为环境配置而头疼?想要快速验证平台能力却不知从何入手?好消息!睿擎平台首场实战直播来了!10月14日(周二)晚8点,睿擎平台核心
    的头像 发表于 10-13 16:29 679次阅读
    【直播预告】10月14日 本周二晚8点|睿擎平台首场<b class='flag-5'>实战</b>直播:从<b class='flag-5'>快速</b>上手到实现远程监控网关

    【直播预告】10月14日晚8点|睿擎平台首场实战直播:从快速上手到实现远程监控网关

    一次直播,带你完整走通工业网关开发全流程面对新的开发平台,你是否也在为环境配置而头疼?想要快速验证平台能力却不知从何入手?好消息!睿擎平台首场实战直播来了!10月14日(周二)晚8点,睿擎平台核心
    的头像 发表于 10-09 14:46 387次阅读
    【直播预告】10月14日晚8点|睿擎平台首场<b class='flag-5'>实战</b>直播:从<b class='flag-5'>快速</b>上手到实现远程监控网关

    触觉智能RK3576开发板OpenHarmony开源鸿蒙系统USB控制传输功能示例

    OpenHarmony开源鸿蒙设备与外部USB设备之间的连接管理、数据收发及设备信息交互,支持对USB设备的枚举、配置及数据传输控制,适用于各类USB接口进行设备通信的场景。如A
    的头像 发表于 09-30 16:31 1218次阅读
    触觉智能RK3576开发板<b class='flag-5'>OpenHarmony</b><b class='flag-5'>开源</b>鸿蒙系统USB控制传输功能示例

    Ansible代码上线项目实战案例

    在DevOps浪潮中,自动化部署已经成为每个运维工程师的必备技能。今天我将分享一个完整的Ansible代码上线项目实战案例,让你的部署效率提升10倍!
    的头像 发表于 07-24 14:03 371次阅读

    快速入门——LuatOS:sys库多任务管理实战攻略!

    在嵌入式开发中,多任务管理是提升系统效率的关键。本教程专为快速入门设计,聚焦LuatOS的sys库,通过实战案例带你快速掌握多任务创建、调度
    的头像 发表于 05-29 14:36 599次阅读
    <b class='flag-5'>快速</b><b class='flag-5'>入门</b>——LuatOS:sys库多任务管理<b class='flag-5'>实战</b>攻略!

    【书籍评测活动NO.61】Yocto项目实战教程:高效定制嵌入式Linux系统

    对 Yocto项目完整知识体系的梳理和传递。 第二部分:以定制树莓派系统作为入门案例 ,讲述了 BSP 定制和 SDK 生成两个实战中常用的核心知识点,让初学者能以最低的学习成本快速
    发表于 05-21 10:00

    KaihongOS笔记本电脑开发实战第九节:全功能TypeC驱动框架适配

    工程师亲临直播间 依托笔电实战产品案例 细致剖析,干货满载 带你快速上手KaihongOS开发技术 本课程规划四大章节 每双周定期直播 后续章节蓄势待发,精彩不断 让我们
    发表于 05-19 18:29

    请问下,openharmony支持哪一款龙芯的开发板?有没有开源的龙芯的openharmony源码?

    想买个2k0300的开发板学习龙芯和openharmony,愣是没有看到提供openharmony源码的,也没与看到开源的代码。gitee上,openharmony的龙芯sig仓库也是
    发表于 04-26 13:06

    爬虫数据获取实战指南:从入门到高效采集

    爬虫数据获取实战指南:从入门到高效采集     在数字化浪潮中,数据已成为驱动商业增长的核心引擎。无论是市场趋势洞察、竞品动态追踪,还是用户行为分析,爬虫技术都能助你
    的头像 发表于 03-24 14:08 1258次阅读

    入门必看】一文搞懂鸿蒙系统设备开发,从入门到12大物联网项目实战

    01OpenHarmony简介OpenHarmony是一款面向全场景的开源分布式操作系统,是开放原子开源基金会旗下开源
    的头像 发表于 02-24 09:30 2003次阅读
    【<b class='flag-5'>入门</b>必看】一文搞懂鸿蒙系统设备开发,从<b class='flag-5'>入门</b>到12大物联网<b class='flag-5'>项目</b><b class='flag-5'>实战</b>

    独家教程揭秘【一】:Purple Pi 带你7天入门OpenHarmony

    大家好!我是一名刚入门OpenHarmony的小白,很高兴能够和大家一起学习OpenHarmony,在本系列文章里,我将分享使用PurplePiOH从零开始学习开源鸿蒙的整个流程,并提
    的头像 发表于 01-20 14:40 758次阅读
    独家教程揭秘【一】:Purple Pi <b class='flag-5'>带你</b>7天<b class='flag-5'>入门</b><b class='flag-5'>OpenHarmony</b>!

    开源鸿蒙荣获开放原子“2024年度操作系统领域国内活跃开源项目

    近日,2024开放原子开发者大会暨首届开源技术学术大会在武汉圆满召开。在大会开幕式“2024年度国内活跃开源项目&开发者致谢仪式”上,开放原子开源鸿蒙(OpenAtom
    的头像 发表于 12-28 15:39 1433次阅读

    实战】人工智能0基础入门:基于Python+OpenCV的车牌识别项目(课程+平台实践)

    01引言随着智能交通系统的发展,车牌识别技术在车辆管理、交通监控、停车收费等多个领域发挥着重要作用。接下来小编将带你深入了解车牌识别项目的全流程,从理论基础到实际应用,让你掌握如何构建一个高效、准确
    的头像 发表于 12-16 10:43 1181次阅读
    【<b class='flag-5'>实战</b>】人工智能0基础<b class='flag-5'>入门</b>:基于Python+OpenCV的车牌识别<b class='flag-5'>项目</b>(课程+平台实践)