0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【開(kāi)源項(xiàng)目】帶你快速入門OPenHarmony—數(shù)據(jù)轉(zhuǎn)碼應(yīng)用實(shí)戰(zhàn)

電子發(fā)燒友論壇 ? 來(lái)源:未知 ? 2022-11-15 08:45 ? 次閱讀

1、背景

OpenHarmony的應(yīng)用開(kāi)發(fā)支持C++、JS、eTS,從已有版本的演進(jìn)路線來(lái)看,eTS是未來(lái)重點(diǎn)的技術(shù)路線。

對(duì)于剛?cè)腴TOpenHarmony應(yīng)用開(kāi)發(fā)的小伙伴來(lái)說(shuō),eTS可能比較陌生,如果有一個(gè)合適的實(shí)戰(zhàn)項(xiàng)目來(lái)練手,那么對(duì)技術(shù)能力提升是非常有幫助的,本文將以一個(gè)小項(xiàng)目——數(shù)據(jù)轉(zhuǎn)碼應(yīng)用,來(lái)講解應(yīng)用開(kāi)發(fā)全流程。

2、需求

開(kāi)發(fā)一個(gè)字符串轉(zhuǎn)碼應(yīng)用,應(yīng)用提供待轉(zhuǎn)碼字符串輸入框,用戶輸入字符串后可方便的進(jìn)行各種數(shù)據(jù)類型的轉(zhuǎn)碼,具體有:

10進(jìn)制轉(zhuǎn)16進(jìn)制,并補(bǔ)0

16進(jìn)制轉(zhuǎn)10進(jìn)制

16進(jìn)制轉(zhuǎn)2進(jìn)制

2進(jìn)制轉(zhuǎn)16進(jìn)制

16進(jìn)制轉(zhuǎn)ASCII碼

ASCII碼轉(zhuǎn)16進(jìn)制

3、設(shè)計(jì)

設(shè)計(jì)稿如下:

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

字符串輸入框采用textarea組件,按鈕采用button組件,文字標(biāo)題采用text組件。

4、創(chuàng)建項(xiàng)目

我們打開(kāi)DevEco Studio開(kāi)發(fā)工具,選擇Create,點(diǎn)擊下一步。

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

輸入項(xiàng)目名稱:DataConvert

項(xiàng)目類型選擇:Application

Bundle name:填自己的公司域名+項(xiàng)目名

Save location:選擇工程文件保存路徑

Compile API:選擇api8(最新的api9已推出,本案例使用api8開(kāi)發(fā))

UI Syntax:選擇eTS

Device type:勾選Phone、Tablet

點(diǎn)擊Finish

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

IDE自動(dòng)構(gòu)建好項(xiàng)目如下:

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

打開(kāi)index.ets點(diǎn)擊右側(cè)Previewer,我們可以看到頁(yè)面預(yù)覽效果。

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

以上,項(xiàng)目創(chuàng)建完畢,我們可以在gitee或私有g(shù)it倉(cāng)庫(kù)上創(chuàng)建好代碼倉(cāng)庫(kù)提交上去,便于后續(xù)代碼歸檔。

5、頁(yè)面布局規(guī)劃

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

整個(gè)頁(yè)面布局規(guī)劃

最外側(cè)使用flex垂直向下布局,這樣確保了所有元素都是從上開(kāi)始順序往下排列;

緊接著是標(biāo)題、字符輸入部分、按鈕部分、轉(zhuǎn)碼結(jié)果部分、清空按鈕,5個(gè)大塊;

字符輸入?yún)^(qū)域含有標(biāo)題+輸入框,分別使用text+textarea;

按鈕部分采用Row+Column,這樣便于按鈕對(duì)齊;

轉(zhuǎn)碼結(jié)果區(qū)域與字符輸入?yún)^(qū)域一致,可以直接復(fù)用

清空按鈕可以復(fù)用按鈕區(qū);

注意所有組件之間的間隔;

6、UI界面編碼實(shí)現(xiàn)

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、總結(jié)

項(xiàng)目的開(kāi)發(fā)包含很多流程步驟,我們?cè)陂_(kāi)發(fā)時(shí)需要注意規(guī)劃好前期的需求和設(shè)計(jì)工作,這樣在后續(xù)的編碼過(guò)程中可以避免頻繁的修改調(diào)整。OpenHarmony應(yīng)用開(kāi)發(fā)與VUE開(kāi)發(fā)有一定的相似性,兩者的布局和組件樣式原理是相通的,我們?cè)谀玫経I設(shè)計(jì)稿后不要急于編碼,提前規(guī)劃好組件布局可以事半功倍。

?+

+

更多相關(guān)推薦

點(diǎn)擊標(biāo)題即可查看內(nèi)容

1.OpenHarmony數(shù)據(jù)轉(zhuǎn)碼應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)(中)

2.OpenHarmony數(shù)據(jù)轉(zhuǎn)碼應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)(下)


本文由電子發(fā)燒友社區(qū)發(fā)布,轉(zhuǎn)載請(qǐng)注明以上來(lái)源。如需社區(qū)合作及入群交流,請(qǐng)?zhí)砑?/span>微信EEFans0806,或者發(fā)郵箱liuyong@huaqiu.com。

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


原文標(biāo)題:【開(kāi)源項(xiàng)目】帶你快速入門OPenHarmony—數(shù)據(jù)轉(zhuǎn)碼應(yīng)用實(shí)戰(zhàn)

文章出處:【微信公眾號(hào):電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:【開(kāi)源項(xiàng)目】帶你快速入門OPenHarmony—數(shù)據(jù)轉(zhuǎn)碼應(yīng)用實(shí)戰(zhàn)

文章出處:【微信號(hào):gh_9b9470648b3c,微信公眾號(hào):電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【全新課程資料】正點(diǎn)原子《基于GD32 ARM32單片機(jī)項(xiàng)目實(shí)戰(zhàn)入門》培訓(xùn)課程資料上線!

    正點(diǎn)原子《基于GD32 ARM32單片機(jī)項(xiàng)目實(shí)戰(zhàn)入門》全新課程資料上線啦!徹底解決ARM32單片機(jī)項(xiàng)目入門難的問(wèn)題! 一、課程介紹 本課程
    發(fā)表于 09-24 18:06

    【全新課程資料】正點(diǎn)原子《ESP32基礎(chǔ)及項(xiàng)目實(shí)戰(zhàn)入門》培訓(xùn)課程資料上線!

    正點(diǎn)原子《ESP32基礎(chǔ)及項(xiàng)目實(shí)戰(zhàn)入門》全新課程資料上線啦!正點(diǎn)原子工程師手把手教你學(xué)!熟練掌握ESP-IDF開(kāi)發(fā),突破ESP32入門難題! 一、課程介紹 本課程針對(duì)ESP32的
    發(fā)表于 09-24 17:59

    開(kāi)放原子開(kāi)源生態(tài)大會(huì)OpenHarmony生態(tài)主題演講報(bào)名開(kāi)啟

    開(kāi)源賦能產(chǎn)業(yè),生態(tài)共筑未來(lái),OpenAtom OpenHarmony(簡(jiǎn)稱“OpenHarmony”)項(xiàng)目群工作委員會(huì)將于9月26日上午舉辦Open
    發(fā)表于 09-19 22:02

    鴻蒙OpenHarmony快速入門概述】

    OpenHarmony是一款面向全場(chǎng)景的開(kāi)源分布式操作系統(tǒng),采用組件化設(shè)計(jì),支持在128KiB到xGiB RAM資源的設(shè)備上運(yùn)行系統(tǒng)組件,設(shè)備開(kāi)發(fā)者可基于目標(biāo)硬件能力自由選擇系統(tǒng)組件進(jìn)行集成。
    的頭像 發(fā)表于 04-19 15:14 ?334次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>快速</b><b class='flag-5'>入門</b>概述】

    深開(kāi)鴻升為OpenHarmony項(xiàng)目群A類捐贈(zèng)人,引領(lǐng)開(kāi)源生態(tài)新篇章!

    決議,正式升級(jí)成為OpenHarmony項(xiàng)目群A類捐贈(zèng)人。這不僅是對(duì)深開(kāi)鴻在OpenHarmony社區(qū)生態(tài)建設(shè)中突出貢獻(xiàn)的肯定,更標(biāo)志著深開(kāi)鴻在引領(lǐng)開(kāi)源生態(tài)向前邁進(jìn)
    的頭像 發(fā)表于 04-18 08:33 ?480次閱讀
    深開(kāi)鴻升為<b class='flag-5'>OpenHarmony</b><b class='flag-5'>項(xiàng)目</b>群A類捐贈(zèng)人,引領(lǐng)<b class='flag-5'>開(kāi)源</b>生態(tài)新篇章!

    OpenHarmony內(nèi)核編程實(shí)戰(zhàn)

    編程入門[Hello,OpenHarmony]在正式開(kāi)始之前,對(duì)于剛接觸OpenHarmony的伙伴們,面對(duì)大篇幅的源碼可能無(wú)從下手,不知道怎么去編碼寫(xiě)程序,下面用一個(gè)簡(jiǎn)單的例子帶伙伴們入門
    的頭像 發(fā)表于 03-27 08:31 ?544次閱讀
    <b class='flag-5'>OpenHarmony</b>內(nèi)核編程<b class='flag-5'>實(shí)戰(zhàn)</b>

    【六】Purple Pi OH開(kāi)發(fā)板帶你7天入門OpenHarmony!

    今天我們來(lái)從OpenHarmony簡(jiǎn)介、環(huán)境搭建、創(chuàng)建第一個(gè)OpenHarmony項(xiàng)目等方面開(kāi)始OpenHarmony應(yīng)用開(kāi)發(fā)的第一步。一.Open
    的頭像 發(fā)表于 03-14 08:31 ?370次閱讀
    【六】Purple Pi OH開(kāi)發(fā)板<b class='flag-5'>帶你</b>7天<b class='flag-5'>入門</b><b class='flag-5'>OpenHarmony</b>!

    Purple Pi 帶你7天入門OpenHarmony

    大家好!我是一名剛入門OpenHarmony的小白,很高興能夠和大家一起學(xué)習(xí)OpenHarmony,在本系列文章里,我將分享使用PurplePiOH從零開(kāi)始學(xué)習(xí)開(kāi)源鴻蒙的整個(gè)流程,并提
    的頭像 發(fā)表于 02-19 13:20 ?366次閱讀
    Purple Pi <b class='flag-5'>帶你</b>7天<b class='flag-5'>入門</b><b class='flag-5'>OpenHarmony</b>

    賦能行業(yè),共贏未來(lái):2023開(kāi)源產(chǎn)業(yè)生態(tài)大會(huì)OpenHarmony生態(tài)論壇成功舉辦

    點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們 開(kāi)源項(xiàng)目 OpenHarmony 是每個(gè)人的 OpenHarmony 12月19日,由上海市經(jīng)濟(jì)和信息化委員會(huì)、上海市科學(xué)技術(shù)委員會(huì)、上海市科學(xué)技術(shù)協(xié)會(huì) 共同指
    的頭像 發(fā)表于 12-21 21:15 ?457次閱讀

    潤(rùn)開(kāi)鴻基于高性能RISC-V開(kāi)源架構(gòu)DAYU800通過(guò)OpenHarmony兼容性測(cè)評(píng)

    點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們 開(kāi)源項(xiàng)目 OpenHarmony 是每個(gè)人的 OpenHarmony 近期,江蘇潤(rùn)開(kāi)鴻數(shù)字科技有限公司(以下簡(jiǎn)稱“潤(rùn)開(kāi)鴻”)基于高性能RISC-V
    的頭像 發(fā)表于 11-30 21:15 ?627次閱讀
    潤(rùn)開(kāi)鴻基于高性能RISC-V<b class='flag-5'>開(kāi)源</b>架構(gòu)DAYU800通過(guò)<b class='flag-5'>OpenHarmony</b>兼容性測(cè)評(píng)

    上海站報(bào)名啟動(dòng)! 2023年開(kāi)源產(chǎn)業(yè)生態(tài)大會(huì)OpenHarmony生態(tài)分論壇

    聯(lián)合體共同指導(dǎo),上海開(kāi)源信息技術(shù)協(xié)會(huì)統(tǒng)籌主辦。 屆時(shí),大會(huì)將攜手OpenAtom OpenHarmony(以下簡(jiǎn)稱“OpenHarmony”)項(xiàng)目群生態(tài)委員會(huì)舉辦
    發(fā)表于 11-24 14:55

    首屆OpenHarmony競(jìng)賽訓(xùn)練營(yíng)結(jié)營(yíng)頒獎(jiǎng),75所高校學(xué)子助力建設(shè)開(kāi)源生態(tài)

    共有7個(gè)賽隊(duì)脫穎而出。 在11月4日“技術(shù)筑生態(tài),智聯(lián)贏未來(lái)”第二屆開(kāi)放原子開(kāi)源基金會(huì)OpenHarmony技術(shù)大會(huì)上,OpenHarmony項(xiàng)目群工作委員會(huì)和
    發(fā)表于 11-07 17:10

    亮點(diǎn)劇透 | 第二屆開(kāi)放原子開(kāi)源基金會(huì) OpenHarmony技術(shù)大會(huì)精彩來(lái)襲

    點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們 開(kāi)源項(xiàng)目 OpenHarmony 是每個(gè)人的 OpenHarmony 探討開(kāi)源創(chuàng)新實(shí)踐,共筑
    的頭像 發(fā)表于 10-27 19:50 ?502次閱讀

    LabVIEW入門實(shí)戰(zhàn)開(kāi)發(fā)100例

    LabVIEW入門實(shí)戰(zhàn)開(kāi)發(fā)100例,實(shí)用例子
    發(fā)表于 10-26 15:25 ?39次下載

    OpenHarmony創(chuàng)新賽丨報(bào)名倒計(jì)時(shí),超強(qiáng)秘籍帶你直通大獎(jiǎng)!

    學(xué)習(xí)路徑 快速入門了解OpenHarmony設(shè)備開(kāi)發(fā)應(yīng)用開(kāi)發(fā)以及開(kāi)發(fā)板等 三、OpenHarmony應(yīng)用場(chǎng)景示例 快速了解
    發(fā)表于 10-18 07:59