当前位置: 首页 > 科技观察

OpenHarmony数据转码应用开发实践(下)

时间:2023-03-12 22:38:50 科技观察

了解更多开源请访问:开源基础软件社区https://ost.51cto.com背景OpenHarmony应用开发支持C++、JS、eTS。从现有版本的演进路线来看,eTS是未来的关键技术路线。对于刚入门OpenHarmony应用开发的小伙伴来说,eTS可能比较陌生。如果有合适的实际项目去实践,对提高技术能力会有很大的帮助。本文将通过一个小项目——数据转码应用,来讲解应用开发的全过程。需要开发一个字符串转码应用。该应用程序为要转码的字符串提供了一个输入框。用户输入字符串后,可以方便的进行各种数据类型的转码。具体:1.10转十六进制,并加上02.16转换十六进制3.16十六进制转二进制4.2十六进制5.16十六进制转ASCII码6.ASCII码转十六进制设计稿如下:字符串输入框使用textarea组件,按钮使用button组件,文本标题使用文本组件。创建项目,我们打开DevEcoStudio开发工具,选择Create,点击Next,输入项目名称:DataConvert。项目类型选择:应用。Bundlename:填写自己的公司域名+项目名称。保存位置:选择工程文件的保存路径。编译API:选择api8(最新的api9已经上线,本案例使用api8开发)。UI语法:选择eTS。设备类型:选中手机、平板电脑。点击Finish:IDE自动构建工程如下:打开index.ets,点击右侧的Previewer,可以看到页面预览效果:如上,工程创建完成后,我们可以在gitee或者私有git上创建代码仓库仓库并提交,方便后续代码存档。页面布局规划整个页面布局规划:最外层使用flex垂直向下布局,保证所有元素从上到下依次排列。依次是标题、字符输入部分、按钮部分、转码结果部分、清除按钮,5大块。字符输入区包含标题+输入框,分别使用text+textarea。按钮部分采用Row+Column,方便按钮对齐。转码结果区与字符输入区一致,可直接重复使用。清除按钮可以复用按钮区域。注意所有组件之间的间距。UI界面编程实现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})}总结项目开发包括很多流程步骤,需要注意规划在开发需求和设计工作的早期阶段,可以避免在后续编码过程中频繁修改和调整。OpenHarmony应用程序开发类似于VUE开发。两者的布局和组件样式原则相似。拿到UI设计稿后不要急着码字,提前规划好组件的布局可以事半功倍。了解更多开源知识,请访问:开源基础软件社区https://ost.51cto.com。