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,微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    凌蒙派OpenHarmony开源项目荣获本期Gitee官方推荐

    近日,我司凌蒙派OpenHarmony开源项目荣获本期Gitee官方推荐。本期Gitee官方推荐不仅是对凌蒙派OpenHarmony开源
    的头像 发表于 11-20 01:04 99次阅读
    凌蒙派<b class='flag-5'>OpenHarmony</b><b class='flag-5'>开源</b><b class='flag-5'>项目</b>荣获本期Gitee官方推荐

    CCF开源创新大赛决赛结果发布!OpenHarmony应用开发赛道尽展风采

    经过数月的激烈比拼与项目展示,第七届CCF开源创新大赛决赛结果揭榜!其中,深开鸿的“OpenHarmony应用开发-开源项目贡献赛”赛道星光
    的头像 发表于 11-07 08:07 163次阅读
    CCF<b class='flag-5'>开源</b>创新大赛决赛结果发布!<b class='flag-5'>OpenHarmony</b>应用开发赛道尽展风采

    OpenHarmony首次亮相欧洲开源会议

    OpenHarmony项目群技术指导委员会(TSC)主席陈海波受邀参加大会主论坛分享,由OpenHarmony 与Eclipse Oniro联合筹划的“Think Global, Code Local”分论坛
    的头像 发表于 10-26 11:48 415次阅读
    <b class='flag-5'>OpenHarmony</b>首次亮相欧洲<b class='flag-5'>开源</b>会议

    【全新课程资料】正点原子《基于GD32 ARM32单片机项目实战入门》培训课程资料上线!

    正点原子《基于GD32 ARM32单片机项目实战入门》全新课程资料上线啦!彻底解决ARM32单片机项目入门难的问题! 一、课程介绍 本课程
    发表于 09-24 18:06

    【全新课程资料】正点原子《ESP32基础及项目实战入门》培训课程资料上线!

    正点原子《ESP32基础及项目实战入门》全新课程资料上线啦!正点原子工程师手把手教你学!熟练掌握ESP-IDF开发,突破ESP32入门难题! 一、课程介绍 本课程针对ESP32的
    发表于 09-24 17:59

    开放原子开源生态大会OpenHarmony生态主题演讲报名开启

    开源赋能产业,生态共筑未来,OpenAtom OpenHarmony(简称“OpenHarmony”)项目群工作委员会将于9月26日上午举办Open
    发表于 09-19 22:02

    鸿蒙OpenHarmony快速入门概述】

    OpenHarmony是一款面向全场景的开源分布式操作系统,采用组件化设计,支持在128KiB到xGiB RAM资源的设备上运行系统组件,设备开发者可基于目标硬件能力自由选择系统组件进行集成。
    的头像 发表于 04-19 15:14 404次阅读
    鸿蒙<b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>快速</b><b class='flag-5'>入门</b>概述】

    深开鸿升为OpenHarmony项目群A类捐赠人,引领开源生态新篇章!

    决议,正式升级成为OpenHarmony项目群A类捐赠人。这不仅是对深开鸿在OpenHarmony社区生态建设中突出贡献的肯定,更标志着深开鸿在引领开源生态向前迈进
    的头像 发表于 04-18 08:33 763次阅读
    深开鸿升为<b class='flag-5'>OpenHarmony</b><b class='flag-5'>项目</b>群A类捐赠人,引领<b class='flag-5'>开源</b>生态新篇章!

    OpenHarmony内核编程实战

    编程入门[Hello,OpenHarmony]在正式开始之前,对于刚接触OpenHarmony的伙伴们,面对大篇幅的源码可能无从下手,不知道怎么去编码写程序,下面用一个简单的例子带伙伴们入门
    的头像 发表于 03-27 08:31 727次阅读
    <b class='flag-5'>OpenHarmony</b>内核编程<b class='flag-5'>实战</b>

    【六】Purple Pi OH开发板带你7天入门OpenHarmony

    今天我们来从OpenHarmony简介、环境搭建、创建第一个OpenHarmony项目等方面开始OpenHarmony应用开发的第一步。一.Open
    的头像 发表于 03-14 08:31 489次阅读
    【六】Purple Pi OH开发板<b class='flag-5'>带你</b>7天<b class='flag-5'>入门</b><b class='flag-5'>OpenHarmony</b>!

    盘点那些硬件+项目学习套件:STM32U5单片机开发板及入门常见问题解答

    ,可以手把手带你快速完成STM32单片机的入门学习及综合项目实战。 然后再学习RTOS,这个方向,Ope
    发表于 02-19 16:59

    Purple Pi 带你7天入门OpenHarmony

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

    赋能行业,共赢未来:2023开源产业生态大会OpenHarmony生态论坛成功举办

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 12月19日,由上海市经济和信息化委员会、上海市科学技术委员会、上海市科学技术协会 共同指
    的头像 发表于 12-21 21:15 502次阅读

    润开鸿基于高性能RISC-V开源架构DAYU800通过OpenHarmony兼容性测评

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 近期,江苏润开鸿数字科技有限公司(以下简称“润开鸿”)基于高性能RISC-V
    的头像 发表于 11-30 21:15 741次阅读
    润开鸿基于高性能RISC-V<b class='flag-5'>开源</b>架构DAYU800通过<b class='flag-5'>OpenHarmony</b>兼容性测评

    上海站报名启动! 2023年开源产业生态大会OpenHarmony生态分论坛

    联合体共同指导,上海开源信息技术协会统筹主办。 届时,大会将携手OpenAtom OpenHarmony(以下简称“OpenHarmony”)项目群生态委员会举办
    发表于 11-24 14:55