鴻蒙app開(kāi)發(fā)教程(鴻蒙系統(tǒng)app怎么開(kāi)發(fā))
今天給各位分享鴻蒙app開(kāi)發(fā)教程的知識(shí),其中也會(huì)對(duì)鴻蒙系統(tǒng)app怎么開(kāi)發(fā)進(jìn)行解釋?zhuān)绻芘銮山鉀Q你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!
2021-02-05鴻蒙開(kāi)發(fā)(二.五)
Intent
Intent是對(duì)象之間傳遞信息的載體。當(dāng)一個(gè)Ability需要啟動(dòng)另一個(gè)Ability時(shí),或者一個(gè)AbilitySlice需要導(dǎo)航到另一個(gè)AbilitySlice時(shí),可以通過(guò)Intent指定啟動(dòng)的目標(biāo)同時(shí)攜帶相關(guān)數(shù)據(jù)。Intent的構(gòu)成元素包括Operation與Parameters。
Intent的構(gòu)成元素
Operation
Action: 表示動(dòng)作,通常使用系統(tǒng)預(yù)置Action,應(yīng)用也可以自定義Action。例如IntentConstants.ACTION_HOME表示返回桌面動(dòng)作。
Entity:表示類(lèi)別,通常使用系統(tǒng)預(yù)置Entity,應(yīng)用也可以自定義Entity。例如Intent.ENTITY_HOME表示在桌面顯示圖標(biāo)。
Uri:表示Uri描述。如果在Intent中指定了Uri,則Intent將匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。
Flags:表示處理Intent的方式。例如Intent.FLAG_ABILITY_CONTINUATION標(biāo)記在本地的一個(gè)Ability是否可以遷移到遠(yuǎn)端設(shè)備繼續(xù)運(yùn)行。
BundleName:表示包描述。如果在Intent中同時(shí)指定了BundleName和AbilityName,則Intent可以直接匹配到指定的Ability。
AbilityName: 表示待啟動(dòng)的Ability名稱(chēng)。如果在Intent中同時(shí)指定了BundleName和AbilityName,則Intent可以直接匹配到指定的Ability。
DeviceId: 表示運(yùn)行指定Ability的設(shè)備ID。
當(dāng)Intent用于發(fā)起請(qǐng)求時(shí),根據(jù)指定元素的不同,分為兩種類(lèi)型:
如果同時(shí)指定了BundleName與AbilityName,則根據(jù)Ability的全稱(chēng)(例如,“com.demoapp.FooAbility”)來(lái)直接啟動(dòng)應(yīng)用。
如果未同時(shí)指定BundleName和AbilityName,則根據(jù)Operation中的其他屬性來(lái)啟動(dòng)應(yīng)用。
「鴻蒙開(kāi)發(fā) 3」華為鴻蒙應(yīng)用開(kāi)發(fā)的低代碼(Super Visual)開(kāi)發(fā)方式
開(kāi)發(fā)前可以了解下鴻蒙: [鴻蒙開(kāi)發(fā) 序]華為鴻蒙操作系統(tǒng)(HarmonyOS)簡(jiǎn)介及開(kāi)發(fā)環(huán)境搭建
開(kāi)發(fā)前的準(zhǔn)備:「鴻蒙開(kāi)發(fā) 1」華為鴻蒙應(yīng)用集成開(kāi)發(fā)環(huán)境DevEco Studio安裝和設(shè)置
了解鴻蒙應(yīng)用開(kāi)發(fā)的基本開(kāi)發(fā)流程:「鴻蒙開(kāi)發(fā) 2」第一個(gè)華為鴻蒙(HarmonyOS)應(yīng)用程序(App)
本章目標(biāo):
1 了解華為鴻蒙應(yīng)用開(kāi)發(fā)的可視化(低代碼)方式
2 通過(guò)構(gòu)建一個(gè)簡(jiǎn)單的具有頁(yè)面跳轉(zhuǎn)功能的應(yīng)用
低代碼開(kāi)發(fā)方式,即通過(guò)可視化界面開(kāi)發(fā)方式快速構(gòu)建布局、編輯UI界面,可有效降低用戶的上手成本并提升用戶構(gòu)建UI界面的效率。
1 打開(kāi)DevEco Studio,創(chuàng)建一個(gè)新工程,選擇支持Phone / Tablet / Wearable(手機(jī) / 平板 / s可穿戴)的模板,我們?cè)诖酥苯舆x擇Empty Ability
Project name工程名稱(chēng)填SuperVisual
Development mode開(kāi)發(fā)方式選擇Super Visual
其它的可以使用默認(rèn)設(shè)置,點(diǎn)擊完成,進(jìn)入編輯界面
1 在Project(項(xiàng)目)窗口,刪除工程運(yùn)行默認(rèn)的入口文件夾:“entry src main js default pages index”文件夾
2 在Project窗口,選擇工程中的“entry src main js default pages”,單擊鼠標(biāo)右鍵,選擇“New JS Visual”
JS visual name填first,點(diǎn)擊完成,進(jìn)入編輯界面
創(chuàng)建完成后,可以看到“entry src main supervisual default pages page page.visual”的文件目錄結(jié)構(gòu)
3 第一個(gè)頁(yè)面內(nèi)有一個(gè)容器、文本和一個(gè)按鈕,通過(guò)Div、Text和Button組件來(lái)實(shí)現(xiàn)
(1)分別選中first.visual畫(huà)面中的Text、Div組件,單擊鼠標(biāo)右鍵,選擇Delete刪除
(2)選中UI Control中的Div組件,將其拖至畫(huà)布
點(diǎn)擊右側(cè)屬性樣式欄中的通用樣式圖標(biāo)(General),設(shè)置Div組件的高度Height為100%,使其占滿屏幕
點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo)(Flex),設(shè)置Div組件的FlexDirection樣式為column,使Div的主軸垂直;設(shè)置Div組件的JustifyContent樣式為center,使得其子組件在主軸上居中顯示;設(shè)置Div組件的AlignItems樣式為center,使得其子組件在交叉軸上居中顯示
(3)選中UI Control中的Text組件,將其拖至Div組件的中央?yún)^(qū)域
點(diǎn)擊右側(cè)屬性樣式欄中的屬性圖標(biāo)(Properties),設(shè)置Text組件的Content屬性為 “ Hello World ”
點(diǎn)擊右側(cè)屬性樣式欄中的通用樣式圖標(biāo)(General),設(shè)置Text組件的寬(width)為100%,高(height)為100px
點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo)(Feature),設(shè)置組件的FontSize樣式為60px,使得其文字放大;設(shè)置組件的TextAlign樣式為center,使得組件文字居中顯示
(4)選中UI Control中的Button組件,將其拖至Text組件下面
點(diǎn)擊右側(cè)屬性樣式欄中的屬性圖標(biāo)(Properties),設(shè)置Button組件的Value屬性為 “ Next ”,
點(diǎn)擊右側(cè)屬性樣式欄中的通用樣式圖標(biāo)(General),設(shè)置按的寬(width)為40%,高(height)為60px
點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo)(Feature),設(shè)置組件的FontSize樣式為40px
至此,第一個(gè)頁(yè)面創(chuàng)建完成
我們可以在預(yù)覽窗口中看效果,點(diǎn)擊右側(cè)邊欄的Preview打開(kāi)預(yù)覽窗口
1 在Project窗口,選擇工程中的“entry src main js default pages”,單擊鼠標(biāo)右鍵,選擇“New JS Visual”
Visual配置界面,JS visual name填second,回車(chē)(Enter鍵)或者點(diǎn)擊完成,進(jìn)入編輯界面
2 第二個(gè)頁(yè)面中有一個(gè)容器和文本,通過(guò)Div、Text組件實(shí)現(xiàn),現(xiàn)在編輯器已經(jīng)為我們創(chuàng)建好了,我們就來(lái)修改下它們的屬性(你也可以刪除原有的自己創(chuàng)建,具體步驟參考本章第二節(jié)“二 創(chuàng)建第一個(gè)頁(yè)面”)。
選中Text組件,點(diǎn)擊右側(cè)屬性樣式欄中的屬性圖標(biāo)(Properties),設(shè)置Text組件的Content屬性為 “ Hi,I'm always here. ”
點(diǎn)擊右側(cè)屬性樣式欄中的通用圖標(biāo)(General),設(shè)置組件的寬(width)為100%,高為60px
點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo)(Feature),設(shè)置組件的FontSize樣式為36px,TextAlign樣式為center
這樣我們的第二個(gè)頁(yè)面創(chuàng)建成功了
1 在Project窗口,打開(kāi)工程中的“entry src main js default pages first first.js”, 導(dǎo)入router模塊,頁(yè)面路由router根據(jù)頁(yè)面的uri來(lái)找到目標(biāo)頁(yè)面,從而實(shí)現(xiàn)跳轉(zhuǎn)。示例代碼如下:
2 打開(kāi)或者切換到first.visual頁(yè)面,選中畫(huà)布上的Button組件,點(diǎn)擊右側(cè)屬性樣式欄中的事件圖標(biāo)(Events),鼠標(biāo)點(diǎn)擊Click事件的輸入框,選擇launch事件
3 在預(yù)覽窗口中查看項(xiàng)目效果,點(diǎn)擊Next按鈕后發(fā)現(xiàn)我們的頁(yè)面成功跳轉(zhuǎn)了。
到此,本章的目標(biāo)就完成了。
鴻蒙usb獨(dú)占的正確姿勢(shì)
USB共享網(wǎng)絡(luò)。
手機(jī)在連接USB之前,必須開(kāi)啟華為手機(jī)的“開(kāi)發(fā)者模式”,在開(kāi)發(fā)者模式下,不僅要開(kāi)啟USB調(diào)試功能,還要選擇USB的連接方式為“傳輸文件”。
用華為開(kāi)發(fā)編輯器開(kāi)發(fā)自己的鴻蒙APP時(shí),想要看到APP顯示的界面,必須要在開(kāi)發(fā)環(huán)境中讓程序運(yùn)行才行,一般我們會(huì)更多選擇使用遠(yuǎn)程虛擬器進(jìn)行項(xiàng)目的啟動(dòng),通過(guò)遠(yuǎn)程設(shè)備的使用來(lái)模仿真機(jī)的使用。
鴻蒙要出來(lái)了,Android開(kāi)發(fā)工程師是不是要失業(yè)啦?
一、在華為如日中天的時(shí)候,華為都沒(méi)敢推鴻蒙系統(tǒng),而是把鴻蒙系統(tǒng)當(dāng)作“備胎”慢慢發(fā)展?,F(xiàn)在,華為被制裁了,只能把鴻蒙系統(tǒng)緊急推出來(lái)了。至少,鴻蒙是倉(cāng)促上馬的系統(tǒng),卻要和一個(gè)已經(jīng)發(fā)展許多年,非常成熟的安卓系統(tǒng)競(jìng)爭(zhēng),還能輕而易舉地贏了!三星真要哭死在廁所里了。昔日三星聯(lián)合了英特爾搞出來(lái)的Tizen系統(tǒng),還是按部就班進(jìn)行的研發(fā),依舊是無(wú)法弄出自己的生態(tài)圈,最后只能淪落成家電的系統(tǒng)了。從這個(gè)角度來(lái)看,安卓工程師不用太擔(dān)心安卓的生態(tài)系統(tǒng)被威脅,鴻蒙的生態(tài)圈很難發(fā)展到能夠與安卓比較。
二、華為自己都說(shuō)了,鴻蒙系統(tǒng)當(dāng)初設(shè)計(jì)就是想做家電的系統(tǒng),是與三星Tizen類(lèi)似的東西,主要應(yīng)用方向是家電和物聯(lián)網(wǎng)?,F(xiàn)在是因?yàn)橹撇玫脑?,趕鴨子上架成為了手機(jī)系統(tǒng)。這種臨時(shí)改變用途的系統(tǒng)需要大動(dòng)干戈才能完善對(duì)手機(jī)的應(yīng)用支持。可以想象,如果鴻蒙系統(tǒng)對(duì)手機(jī)的支持有缺陷的話,做手機(jī)應(yīng)用就會(huì)非常困難。也因此有理由相信,現(xiàn)在鴻蒙手機(jī)如果對(duì)安卓應(yīng)用的支持特別完美,就更說(shuō)明鴻蒙的“拉皮”可能性了。如此一來(lái),安卓工程師就安心開(kāi)發(fā)安卓應(yīng)用就好了,因?yàn)轼櫭梢欢梢酝昝肋\(yùn)行你的應(yīng)用,這就沒(méi)有放棄安卓開(kāi)發(fā)的必要了嘛!
至此,我想現(xiàn)在考慮鴻蒙把安卓的陣地攻破了實(shí)在是太早了。所以,大概率,沒(méi)有哪個(gè)安卓工程師會(huì)放棄安卓去弄鴻蒙,頂多是測(cè)試一下應(yīng)用能不能在鴻蒙環(huán)境下運(yùn)行罷了。還是把兼容性這件事兒交給鴻蒙去搞吧。
鴻蒙出來(lái)的話,安卓工程師并不會(huì)失業(yè),取決于自己想不想在鴻蒙上開(kāi)發(fā)軟件。
鴻蒙的應(yīng)用程序開(kāi)發(fā),主要是基于Java和NodeJS,基于Java的整體框架結(jié)構(gòu)與安卓極其相似,加上其開(kāi)發(fā)環(huán)境DevEco Studio與Android Studio同宗,安卓工程師可以極短的時(shí)間迅速上手鴻蒙應(yīng)用程序的開(kāi)發(fā)。當(dāng)然,一些做前端開(kāi)發(fā)的小伙伴也會(huì)進(jìn)入鴻蒙平臺(tái)進(jìn)行開(kāi)發(fā),但這部分小伙伴往往是會(huì)用一套代碼、同時(shí)適配多個(gè)應(yīng)用平臺(tái)(類(lèi)似國(guó)產(chǎn)的uni-app),這些本身就在和安卓開(kāi)發(fā)有一種競(jìng)爭(zhēng)關(guān)系,并不會(huì)因?yàn)轼櫭傻纳a(chǎn)而發(fā)生多大變化。
另外鴻蒙的開(kāi)發(fā)平臺(tái),也可以很輕松在智能屏、智能手表、車(chē)載智能設(shè)備等設(shè)備上調(diào)試開(kāi)發(fā),總體來(lái)說(shuō),如果鴻蒙火起來(lái),就會(huì)有更多的軟件開(kāi)發(fā)需求了,安卓開(kāi)發(fā)工程師會(huì)更吃香。建議大家多多接觸鴻蒙生態(tài),多學(xué)一點(diǎn)知識(shí)對(duì)自己是一個(gè)積累儲(chǔ)備,總不會(huì)是壞事。
錯(cuò),是谷歌、微軟和蘋(píng)果要倒閉了!
鴻蒙系統(tǒng)配備方舟編譯器,兼容安卓應(yīng)用,但運(yùn)行效率……(此處省略1000字,翻2019年文章)……鴻蒙系統(tǒng)能在所有設(shè)備運(yùn)行,支持手機(jī)、電腦、平板、物聯(lián)網(wǎng)……(此處省略1000字,翻2019年文章)……
我想說(shuō)的是你們太不懂華為了,其實(shí)鴻蒙早已開(kāi)發(fā)完成并且隨時(shí)可用!他一直在忍,在等一個(gè)機(jī)會(huì)……
作為一名android開(kāi)發(fā)工程師,我想說(shuō),失業(yè)是不可能的,這輩子都不可能失業(yè)!
也許身為移動(dòng)端開(kāi)發(fā)人員的我們,正處于一段亂流之中!
首先,來(lái)談?wù)刟ndroid的碎片化問(wèn)題。
僅僅2014年,全球支持Android的機(jī)型為18796種,再來(lái)看看國(guó)內(nèi),華為、小米、oppo、vivo...,android手機(jī)廠商也很多,每個(gè)品牌都是基于android開(kāi)源系統(tǒng)改造,android開(kāi)發(fā)人員要在完成軟件功能的同時(shí),對(duì)不同品牌的手機(jī)做功能適配,非常麻煩。
除了手機(jī)品牌數(shù)量多,手機(jī)屏幕的尺寸適配問(wèn)題也很麻煩,往往一個(gè)軟件的開(kāi)發(fā),有60%的時(shí)間在適配工作上。
是的,現(xiàn)在鴻蒙來(lái)了,意味著什么?意味著android開(kāi)發(fā)人員有必要或者就必須去學(xué)習(xí)一門(mén)新語(yǔ)言、一個(gè)新系統(tǒng)的開(kāi)發(fā)、適配,對(duì)于一個(gè)企業(yè)來(lái)說(shuō),要么就增加人工成本請(qǐng)一個(gè)鴻蒙系統(tǒng)開(kāi)發(fā)人員,要么就強(qiáng)制在職android開(kāi)發(fā)人員重新開(kāi)發(fā)一遍軟件適配鴻蒙系統(tǒng)。
基于此,不知道有多少android開(kāi)發(fā)人員會(huì)買(mǎi)賬,不知道多少企業(yè)會(huì)加個(gè)鴻蒙系統(tǒng)平臺(tái),不知道鴻蒙系統(tǒng)能不能站住腳推廣開(kāi)來(lái)。
雖然現(xiàn)在鴻蒙系統(tǒng)可以兼容android應(yīng)用,但以后必然會(huì)兩級(jí)分化。
如果鴻蒙系統(tǒng)沒(méi)有革命性的突破,如果美國(guó)不再卡脖子,如果沒(méi)有國(guó)家的干預(yù)措施,只靠平民大眾自覺(jué)愛(ài)國(guó)的方式支持鴻蒙系統(tǒng),我看很懸啊,畢竟,蘋(píng)果手機(jī)在國(guó)內(nèi)的銷(xiāo)量一如既往!??!
再者,在手機(jī)行業(yè),小米、oppo等手機(jī)廠商和華為本是競(jìng)爭(zhēng)關(guān)系,會(huì)放棄自己的系統(tǒng)換成鴻蒙系統(tǒng)嗎?這樣的話,其他手機(jī)廠商的生存空間會(huì)一天不如一天,就算鴻蒙開(kāi)源使用,也只不過(guò)走android碎片化的老路!
系統(tǒng)之爭(zhēng)本就不是一朝一夕,不用擔(dān)心會(huì)不會(huì)失業(yè),路,還很長(zhǎng)!
開(kāi)發(fā)鴻蒙只能在華為支持的鴻蒙設(shè)備上運(yùn)行,開(kāi)發(fā)android,可以在所有安卓設(shè)備包括鴻蒙設(shè)備上也兼容運(yùn)行,何來(lái)失業(yè)
做安卓的一天不用就能寫(xiě)鴻蒙。可以忽悠甲方加錢(qián)了[淚奔]
中國(guó)北斗早就出來(lái)了,GPS的工程師沒(méi)失業(yè)吧!
不會(huì),可以學(xué)習(xí)一下華為鴻蒙開(kāi)發(fā)教程。
是得我就是干這個(gè) 但是我都計(jì)劃改行了
不會(huì)失業(yè)的,他們可以轉(zhuǎn)鴻蒙開(kāi)發(fā),非常簡(jiǎn)單
鴻蒙app開(kāi)發(fā)教程的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于鴻蒙系統(tǒng)app怎么開(kāi)發(fā)、鴻蒙app開(kāi)發(fā)教程的信息別忘了在本站進(jìn)行查找喔。