自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

OpenHarmony數(shù)據(jù)轉碼應用開發(fā)實戰(zhàn)(上)

系統(tǒng) OpenHarmony
本文將以一個小項目——數(shù)據(jù)轉碼應用,來講解應用開發(fā)全流程。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區(qū)??

??https://ost.51cto.com??

背景

OpenHarmony的應用開發(fā)支持C++、JS、eTS,從已有版本的演進路線來看,eTS是未來重點的技術路線。
對于剛入門OpenHarmony應用開發(fā)的小伙伴來說,eTS可能比較陌生,如果有一個合適的實戰(zhàn)項目來練手,那么對技術能力提升是非常有幫助的,本文將以一個小項目——數(shù)據(jù)轉碼應用,來講解應用開發(fā)全流程。

需求

開發(fā)一個字符串轉碼應用,應用提供待轉碼字符串輸入框,用戶輸入字符串后可方便的進行各種數(shù)據(jù)類型的轉碼,具體有:
1.10進制轉16進制,并補0
2.16進制轉10進制
3.16進制轉2進制
4.2進制轉16進制
5.16進制轉ASCII碼
6.ASCII碼轉16進制

設計

設計稿如下:

#打卡不停更#OpenHarmony數(shù)據(jù)轉碼應用開發(fā)實戰(zhàn)(上)-開源基礎軟件社區(qū)


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

創(chuàng)建項目

我們打開DevEco Studio開發(fā)工具,選擇Create,點擊下一步

#打卡不停更#OpenHarmony數(shù)據(jù)轉碼應用開發(fā)實戰(zhàn)(上)-開源基礎軟件社區(qū)


  • 輸入項目名稱:DataConvert。
  • 項目類型選擇:Application。
  • Bundle name:填自己的公司域名+項目名。
  • Save location:選擇工程文件保存路徑。
  • Compile API:選擇api8(最新的api9已推出,本案例使用api8開發(fā))。
  • UI Syntax:選擇eTS。
  • Device type:勾選Phone、Tablet。

點擊Finish:

#打卡不停更#OpenHarmony數(shù)據(jù)轉碼應用開發(fā)實戰(zhàn)(上)-開源基礎軟件社區(qū)

IDE自動構建好項目如下:

#打卡不停更#OpenHarmony數(shù)據(jù)轉碼應用開發(fā)實戰(zhàn)(上)-開源基礎軟件社區(qū)

打開index.ets點擊右側Previewer,我們可以看到頁面預覽效果:

#打卡不停更#OpenHarmony數(shù)據(jù)轉碼應用開發(fā)實戰(zhàn)(上)-開源基礎軟件社區(qū)

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

頁面布局規(guī)劃

#打卡不停更#OpenHarmony數(shù)據(jù)轉碼應用開發(fā)實戰(zhàn)(上)-開源基礎軟件社區(qū)

整個頁面布局規(guī)劃:

  1. 最外側使用flex垂直向下布局,這樣確保了所有元素都是從上開始順序往下排列。
  2. 緊接著是標題、字符輸入部分、按鈕部分、轉碼結果部分、清空按鈕,5個大塊。
  3. 字符輸入?yún)^(qū)域含有標題+輸入框,分別使用text+textarea。
  4. 按鈕部分采用Row+Column,這樣便于按鈕對齊。
  5. 轉碼結果區(qū)域與字符輸入?yún)^(qū)域一致,可以直接復用。
  6. 清空按鈕可以復用按鈕區(qū)。
  7. 注意所有組件之間的間隔。

UI界面編碼實現(xiàn)

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 })
}

總結

項目的開發(fā)包含很多流程步驟,我們在開發(fā)時需要注意規(guī)劃好前期的需求和設計工作,這樣在后續(xù)的編碼過程中可以避免頻繁的修改調整。OpenHarmony應用開發(fā)與VUE開發(fā)有一定的相似性,兩者的布局和組件樣式原理是相通的,我們在拿到UI設計稿后不要急于編碼,提前規(guī)劃好組件布局可以事半功倍。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區(qū)??

??https://ost.51cto.com??。

責任編輯:jianghua 來源: 51CTO開源基礎軟件社區(qū)
相關推薦

2022-11-11 09:37:58

數(shù)據(jù)轉碼應用開發(fā)

2022-11-07 15:40:22

數(shù)據(jù)轉碼應用應用開發(fā)

2022-03-02 16:08:31

Harmony應用開發(fā)鴻蒙

2022-11-04 14:58:59

應用開發(fā)鴻蒙

2022-10-08 16:19:40

智能喂食器鴻蒙

2022-01-07 21:11:27

鴻蒙HarmonyOS應用

2023-05-26 16:01:32

驅動開發(fā)鴻蒙

2023-08-17 15:04:22

2022-10-08 16:26:23

APP應用開發(fā)

2022-02-15 14:06:36

OpenHarmon操作系統(tǒng)鴻蒙

2023-03-09 15:10:49

應用開發(fā)鴻蒙

2022-02-17 18:08:04

OpenHarmon應用開發(fā)鴻蒙

2023-05-15 15:27:20

鴻蒙智能開發(fā)套件

2023-04-07 09:20:55

2024-07-26 16:39:33

鴻蒙系統(tǒng)開源構建系統(tǒng)

2023-08-10 17:14:52

鴻蒙自定義彈窗

2023-07-31 17:35:31

ArkTS鴻蒙

2022-02-15 14:45:14

OpenHarmo系統(tǒng)鴻蒙

2023-08-07 15:23:28

鴻蒙首次啟動申請授權

2024-08-08 15:46:34

點贊
收藏

51CTO技術棧公眾號