国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

鴻蒙OS應用開發實踐(二)

系統
在上一篇中(前往),我們已經跑通了鴻蒙OS應用開發的環境。這篇中,我們就來更深度的探索hello world代碼背后的東西。

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com/#zz

在上一篇中(前往),我們已經跑通了鴻蒙OS應用開發的環境。這篇中,我們就來更深度的探索hello world代碼背后的東西。

(一)IDE布局解析


如上截圖,我大體的將整個界面進行了拆分:最頂部紅色區域是菜單欄,左邊藍色區域是項目工程,右邊大區是代碼編輯區域,右上角是工具條(調試、運行),底部是顯示一些如日志、命令、調試信息。當然這里主要是標出了幾個比較大塊而且比較固定的窗口,更細節的,比如預覽界面等這些屬于動態的界面,等有需要的時候再細說。

(二)項目工程結構解析

項目工程這里主要存放了項目資源,包含用戶代碼、配置文件、庫文件、圖片、音視頻等。


根目錄就是我們創建項目時自己定義的項目目錄,.gradle和.idea一般不需要開發者干預,屬于IDE自動創建環境的目錄。

build文件夾:此目錄為編譯產出目錄,就是編譯后會在這里產生對應.hap包(可以理解為類似ios的.ipa,安卓的.apk)。

entry文件夾:入口目錄,如果是安卓的開發者,可以對應為app文件夾。這里面存放著我們應用程序的核心內容,比如代碼、圖片、音視頻資源等等。所以這個文件夾是重點,我們再給它展開來剖析:


同樣,在entry目錄下,也有一些眼熟的目錄:

entry-build:跟外層的根項目目錄下的build作用一致。

entry-libs:庫目錄,用于放置庫文件的目錄。

entry-src:存放源文件的目錄,然后內部又細分main目錄和test目錄,main是核心目錄,里面包含核心的程序代碼(main-java)和資源(resources)目錄。config.json是配置信息文件,可以配置諸如包名、版本,設備類型等。其中設備類型(deviceType)指定了當前程序所支持的設備,鴻蒙OS會根據實際不同的設備去加載適合當前設備對應版本的FA。


entry-src-resources:這個目錄存放著各種資源文件,如應用程序用的圖標、音效、布局配置等。

entry-src-tesst :這個是存放測試代碼的目錄,目前默認使用的是junit測試框架。

gradle:這個目錄屬于編譯模塊的。

(三)代碼解析

了解了工程目錄后,我們再來解析下之前hello world的源碼。在entry-src-main-java-com.xxx.myHarmonyApp目錄下:

 

我們可以看到又三個java代碼文件,其中slice可以對應安卓開發中的fragment概念。目前官方示例是將邏輯代碼放到了MainAbilitySlice中。

MainAbility.java : 一個Ability代表了一種能力,我們可以看到這個MainAbility是繼承自Ability類的:

這里重寫(@Override)了onStart方法,方法里做了兩件事:調用了父類的onStart方法初始化了intent,另一個是調用父類方法設置路由到slice類,意思就是它把后續的執行邏輯指定給了slice。一般一個Ability會對應一個AbilitySlice。

MyApplication.java:程序的入口,我們看代碼里就只重寫了一個初始化函數,主要作用是初始化程序。


MainAbilitySlice.java:我們看到上面的兩個java類中,并沒有執行任何的邏輯代碼,那么我們的hello world字樣是怎么輸出的呢?上面說了,MainAbility已經把它的執行路由給了slice,所以,核心的邏輯代碼就在這個MainAbilitySlice.java中了。

 代碼行數不多,我們可以逐行解析,先解析幾個關鍵字,因本人之前熟悉的技術棧是c#,這里也做一個簡單的對標參照:

package : 是一個關鍵字,指定了一個包名,格式com.廠商名.應用名.模塊。可以類似的對標c#的名稱空間。

import:也是一個關鍵字,用于導入其他程序包。也可以對標c#的using關鍵字。

extends:關鍵字,表示繼承,對標c#的冒號。

@Override : 關鍵字,表示重寫,對標c#的override

supper :關鍵字,表示基類調用,可以對標參照c#的base。

ohos : 表示open harmony operating system。

intent : 中間件,作用主要為組件相互調用提供媒介,協助組件間的交互與通訊。

所以,有了上面的這些概念,我們再來看代碼就比較清晰了。

第1行代碼,指定和定義了當前類的一個包名。

3-5行,導入了當前所需的包環境。

7-12行,繼承AbilictySlice擴展了MainAbilitySlice類。重寫了onStart方法,調用基類的onStart初始化intent中間件,再調用基類的setUIContent來設置UI內容(hello world的創建在這里~)。

14-23行,都為周期函數的初始化基類調用。

所以,重點是super.setUIContent(ResourceTable.Layout_ability_main);這句代碼產出了“hello world”,簡單說setUIContent會解析ResourceTable提供的元素信息創建對應的UI界面。

ResourceTable用于管理一些窗口小部件資源,Layout_ability_main則對應了entry-src-resources-base-layout目錄下的布局配置。


(四)布局文件解析

打開ability_main.xml對于hello world的來源已經很清晰了:

 

這是一個xml文件,開頭對應標記。 

<DirectionalLayout>標簽

鴻蒙的方向布局標簽,對應的還有:

xmlns:XML Namespaces表示命名空間。

ohos:heigh = “match_parent”:表示定義了高度適應父級。

ohos : width = “math_parent”:表示寬度適應父級。

ohos:orientation = “vertical”:表示布局方向為垂直,另一個相對的值是“horizontal”。

<Text>標簽

表示了一個文本元素。

ohos:id = “$+id:tex_helloworld”:表示text的調用id,使用”$+id:”來標示一個占位,后跟一個名稱,這樣在需要調用這個text的時候就能這樣調用:


ohos:backgound_element=“$graphic:background_ability_main”:表示背景元素指定為另一個在entry-src-main-resources-base-graphic目錄下的xml配置。

<shape>標簽

表示繪制一個形狀。


ohos:shape = “rectangle”表示繪制一個矩形。

<solid>標簽

表示填充顏色

<solid ohos:color = “#FFFFFF”/>表示填充顏色為白色,IDE的左側顏色選擇塊還可以鼠標選擇。

回到<Text>標簽:

ohos:layout_aliment = “horizontal_center”表示文字對齊方式為橫向居中。

ohos:text = “hello world”這個就是最終輸出的文本。我們可以改成其他任意字符串試試,比如改成:ohos:text = “你好,鴻蒙!”

ohos:text_size=“50”:表示設置字體大小為50。

同樣還可以給文字元素添加顏色:

ohos:text_color = “#78FF00”,當輸入”#”+任意數字時,IDE左邊就可以看到顏色選擇塊。

我們可以自定義下配置,可以重新運行看看效果:

本篇完,下篇見~

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區 

https://harmonyos.51cto.com/#zz

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2020-12-18 10:42:14

鴻蒙開發應用

2020-12-08 09:45:33

鴻蒙OS應用開發

2020-12-03 10:05:07

鴻蒙OS

2022-07-15 12:58:02

鴻蒙攜程華為

2020-12-25 10:52:28

鴻蒙HarmonyOS應用開發

2022-08-04 10:12:49

桌面技術

2021-01-14 12:06:22

鴻蒙HarmonyOSAI應用

2012-12-13 09:47:50

2010-03-02 11:12:33

Android應用開發

2023-02-23 15:56:51

2025-05-09 06:30:52

2012-09-17 11:19:49

IBMdw

2021-01-11 11:04:49

鴻蒙HarmonyOS應用開發

2013-02-21 14:15:41

開發Tizen

2022-11-30 10:34:17

2013-12-17 14:07:37

2021-01-06 15:07:02

HarmonyOS實踐應用開發

2010-04-20 09:14:33

Struts

2024-08-28 17:55:43

HarmonyOS

2014-11-19 10:08:47

點贊
收藏

51CTO技術棧公眾號

经典三级久久| 日韩视频1区| 久久久精品蜜桃| 激情一区二区三区| 全球成人免费直播| 国内揄拍国内精品少妇国语| 高清在线一区| 亚洲色图35p| 中日韩脚交footjobhd| 日本精品网站| 亚洲精品动漫久久久久| 成人国产免费电影| 亚洲女人天堂av| 一区二区三区 在线观看视| h片视频在线观看| 色哟哟一区二区三区| 2021久久精品国产99国产精品| 成人黄色免费短视频| 欧美va亚洲va在线观看蝴蝶网| 成人av福利| 亚洲成色777777女色窝| 国产在线黄色| 91麻豆精品国产91久久久久久| 视频在线观看你懂的| 午夜a成v人精品| 一级网站免费观看| 亚洲成人av福利| 四虎永久在线| 色婷婷狠狠综合| 国产午夜精品久久久久免费视| 欧美日韩第一区日日骚| 女女色综合影院| 91精品国产综合久久久久| 91在线中字| 亚洲深夜福利视频| 成人爽a毛片| 国产精品亚发布| 亚洲精品久久| 久中文字幕一区| 国产精品一区二区久久精品爱涩| 人人妻人人做人人爽| 国产精品激情偷乱一区二区∴| 国产经典视频一区| 欧美午夜宅男影院在线观看| √新版天堂资源在线资源| 欧美大片国产精品| 国产精品蜜月aⅴ在线| 欧美亚洲在线观看| 欧美日韩亚洲一区二区三区在线| 亚洲黄色一区二区三区| 国产成+人+日韩+欧美+亚洲| 黄色av免费在线播放| 狠狠躁天天躁日日躁欧美| 99久久精品免费观看国产| www.欧美精品| 欧美美女在线观看| 日本免费高清不卡| youjizz国产精品| 最新四虎影在线在永久观看www| 欧美浪妇xxxx高跟鞋交| 六九午夜精品视频| 国产欧美精品va在线观看| 蜜臀av性久久久久蜜臀av麻豆| 男女午夜激情视频| 亚洲精品中文字幕99999| 成人看片视频| 成人听书哪个软件好| 亚洲欧洲动漫| 亚洲精品成人网| 欧美激情另类| 97涩涩爰在线观看亚洲| 蜜臀精品一区二区三区在线观看| 美女无遮挡网站| 男女男精品视频网| 日本视频一二区| 亚洲精品久久久久久久久| 精品视频在线播放一区二区三区 | 亚洲高清黄色| 国产91大片| 2020国产精品视频| 亚洲国产日韩综合久久精品| 国产精品一区二区免费不卡 | 久久手机在线视频| 国产精品视区| 99re99热| 欧美一级二级在线观看| 久久成人亚洲| 波多野结衣久久| 91精品国产91久久久| 国产一区二区三区四区在线观看| 国产精品yjizz视频网| 中文字幕在线网| 欧美一级黄色网| 婷婷亚洲久悠悠色悠在线播放| 国产高清一区二区| 高清色视频在线观看| 欧美日韩国产经典色站一区二区三区| 国产欧美一级| 欧美a在线观看| 韩国日本在线视频| 国产精品免费看久久久香蕉| 国产精品成人一区二区艾草 | 精品一区二区在线免费观看| 国产小视频在线观看| 国产精品免费久久久久影院| 福利视频导航一区| 一区久久精品| 亚洲高清激情| 精品高清久久| 裤袜国产欧美精品一区| 亚洲砖区区免费| 国产精品自拍小视频| 亚洲九九爱视频| 999国内精品视频在线| 91亚洲精品乱码久久久久久蜜桃| 日本成a人片在线观看| 日韩免费视频在线观看| 久久久综合精品| 久久爱91午夜羞羞| 亚洲精品日韩在线观看| 欧美精品在线观看一区二区| 99热国内精品| 麻豆影视在线观看| 蜜桃视频成人在线观看| 久久久久久久久99精品| a国产在线视频| 欧美日韩在线播放一区二区| 在线视频一区二区免费| 久久精品国产大片免费观看| 亚欧黄色av| 久久久久久久国产精品| 91视频国产资源| 欧美天堂在线| 福利视频一二区| 精品偷拍一区二区三区在线看| 免费永久网站黄欧美| 免费网站黄在线观看| 国产伦精品一区二区三区在线| 色婷婷国产精品综合在线观看| 欧美www视频在线观看| 在线香蕉视频| 91久久精品美女高潮| 一本色道久久加勒比精品 | 今天免费高清在线观看国语| 日韩一区二区免费电影| 毛片一区二区| av电影在线地址| 亚洲永久激情精品| 亚洲国产成人在线视频| 久久97超碰国产精品超碰| 日韩影院在线| 人妻少妇精品久久| 欧美激情二区三区| 亚洲精选在线视频| 91精品国产成人观看| 女女色综合影院| 中文精品一区二区三区 | 精品伊人久久久久7777人| 欧美在线极品| 最近免费中文字幕中文高清百度| 欧美激情在线观看视频| 亚洲国产日韩一级| 欧美va天堂在线| 黄色在线观看视频网站| 在线观看一区二区三区三州| 国产亚洲精品美女久久久久| 91网站黄www| 九一成人免费视频| 秋霞影院午夜丰满少妇在线视频| 伊人婷婷久久| 欧美大秀在线观看| 精品日韩中文字幕| 蜜桃精品视频在线观看| 亚洲综合色婷婷在线观看| 色视频在线观看| 日韩欧美一区二区三区久久婷婷| 日韩在线精品一区| 亚洲香蕉伊在人在线观| 久久久噜噜噜久久狠狠50岁| 欧美日韩伦理一区二区| 久久久久久77777| 久久国产欧美精品| 中文国产亚洲喷潮| 亚洲精品久久久蜜桃| 丝袜美腿亚洲色图| 在线精品国产亚洲| 国产高清美女一级毛片久久| 国产一级爱c视频| 成人乱色短篇合集| 在线亚洲男人天堂| 欧美日韩日本国产| 成人午夜激情影院| 欧美涩涩视频| 国产精品高潮久久| 毛片免费在线观看| 自慰无码一区二区三区| 成人精品一二区| 欧美激情在线观看视频| 精品欧美一区二区在线观看| 亚洲人成网站在线|