偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

鴻蒙IDE迎來(lái)重大更新,新特性足以讓你尖叫

系統(tǒng)
文章由鴻蒙社區(qū)產(chǎn)出,想要了解更多內(nèi)容請(qǐng)前往:51CTO和華為官方戰(zhàn)略合作共建的鴻蒙技術(shù)社區(qū)https://harmonyos.51cto.com

[[391422]]

想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

鴻蒙(HarmonyOS)最新版的IDE Beta3于2021-03-31日發(fā)布,beta3增加了很多吸引人的功能,這些功能有一些與編程有關(guān),有一些與配置、模板有關(guān)。本文主要深入介紹與編程有關(guān)的3個(gè)特性:雙向預(yù)覽、Java UI數(shù)據(jù)模擬和測(cè)試框架,至于其他的一些新特性,如更多的phone模板,API version的變化,可視化配置config.json等,可以參考我下面的視頻。

視頻演示

1. 雙向預(yù)覽功能

預(yù)覽器增加了雙向預(yù)覽功能,所謂雙向預(yù)覽,針對(duì)的是布局。修改布局文件的代碼,會(huì)立刻在預(yù)覽器中顯示布局的效果,而通過(guò)點(diǎn)擊布局效果中的組件,會(huì)自動(dòng)定位到布局中的特定代碼。

現(xiàn)在讓我來(lái)演示一下,首先創(chuàng)建一個(gè)HarmonyOS工程,然后打開(kāi)自動(dòng)生成的布局文件,多輸入一些布局代碼,如下所示。 

然后啟動(dòng)右側(cè)的預(yù)覽器,效果如下:

可以看到,布局文件的效果直接體現(xiàn)在了預(yù)覽器上。不過(guò)目前仍然是單向預(yù)覽。

點(diǎn)擊預(yù)覽器右上角兩個(gè)T的按鈕,在右側(cè)會(huì)顯示組件樹(shù)視圖,下面是當(dāng)前選中組件的屬性列表,可以直接修改屬性的值。當(dāng)選中組件樹(shù)或預(yù)覽器中的組件時(shí),布局代碼就會(huì)自動(dòng)定位到對(duì)應(yīng)的組件,如下所示。

不過(guò)目前并不是所有情況都支持同步,有如下情況目前還無(wú)法同步:

(1) hml布局代碼里使用了數(shù)據(jù)綁定的屬性

(2)xml布局代碼里使用了資源引用的屬性

(3)UI界面設(shè)置了動(dòng)畫(huà)效果

2.Java UI 數(shù)據(jù)模擬

這個(gè)功能相當(dāng)有趣,其實(shí)核心理念就是見(jiàn)什么人說(shuō)什么話(huà)。在應(yīng)用發(fā)布時(shí),執(zhí)行的是真正的業(yè)務(wù)邏輯代碼,數(shù)據(jù)也是真實(shí)的。但在調(diào)試時(shí),有時(shí)用真實(shí)的數(shù)據(jù)測(cè)試太費(fèi)勁,這些真實(shí)的數(shù)據(jù)可能難以獲得,或獲取很麻煩,或者數(shù)據(jù)量很大,反正,就是各種不爽。

我們期望在應(yīng)用發(fā)布時(shí)使用真實(shí)的數(shù)據(jù),而在調(diào)試時(shí),使用測(cè)試數(shù)據(jù),關(guān)鍵一點(diǎn)是,不用修改任何代碼,根據(jù)調(diào)試或發(fā)布的場(chǎng)景自動(dòng)切換。這就是Java UI數(shù)據(jù)模擬的核心作用。其實(shí)這個(gè)功能的理念與我10年前做的一個(gè)實(shí)驗(yàn)性項(xiàng)目類(lèi)似,這是一個(gè)模擬NFC的系統(tǒng),支持Android。在開(kāi)發(fā)時(shí),使用模擬的NFC Tag和模擬的移動(dòng)設(shè)備進(jìn)行測(cè)試,只需要將NFC Tag拖動(dòng)到模擬設(shè)備上,就相當(dāng)于真實(shí)環(huán)境中的NFC Tag與手機(jī)接觸。然后將App發(fā)布到真機(jī)上時(shí),系統(tǒng)會(huì)自動(dòng)探測(cè)當(dāng)前運(yùn)行環(huán)境,如果是真機(jī),那么就會(huì)自動(dòng)切換到使用真正的NFC芯片讀寫(xiě)NFC Tag,這一過(guò)程是完全透明,不需要修改一行代碼就可以自動(dòng)切換,如下所示。

鴻蒙的Java UI數(shù)據(jù)模擬也類(lèi)似,這個(gè)功能是為Java UI模擬數(shù)據(jù)的。由一系列API組成,不過(guò)這些API默認(rèn)并沒(méi)有包含在鴻蒙SDK中,需要在模塊的build.gradle中添加如下依賴(lài):

運(yùn)行程序,會(huì)先下載這個(gè)依賴(lài)。然后創(chuàng)建數(shù)據(jù)模擬類(lèi),代碼如下:

這里用onStart方法攔截了Slice的onStart方法,相當(dāng)于AOP的切片。在onStart方法中調(diào)用了Slice的onStart方法。如果這里不調(diào)用,那么Slice中的onStart方法是不會(huì)調(diào)用的(會(huì)顯示黑屏)。在onStart方法中設(shè)置了模擬數(shù)據(jù)(name和age)。也就是說(shuō),Java UI數(shù)據(jù)模擬,其實(shí)借鑒了AOP的部分概念。

然后在Slice的onStart方法中可以使用下面的代碼使用數(shù)據(jù)。這里的代碼其實(shí)并不能感知用到的數(shù)據(jù)是模擬數(shù)據(jù),還是真實(shí)的數(shù)據(jù)。

現(xiàn)在不要運(yùn)行,因?yàn)檫\(yùn)行就使用正式的數(shù)據(jù)了,現(xiàn)在切換到Slice類(lèi),然后打開(kāi)預(yù)覽器,會(huì)看到如下所示的效果。

是不是兩個(gè)Text組件的內(nèi)容都變了。在預(yù)覽器中可以使用模擬數(shù)據(jù)檢查Slice中的代碼是否正確,當(dāng)然,Page Ability也可以使用這個(gè)功能。

3. 新增的測(cè)試框架

創(chuàng)建HarmonyOS工程,會(huì)發(fā)現(xiàn)多了一個(gè)ohosTest,這是新增的測(cè)試框架的目錄,可以利用測(cè)試框架編寫(xiě)測(cè)試代碼,讓我們可以用TDD的方式開(kāi)發(fā)程序。也就是在寫(xiě)程序之前,先為App設(shè)定一個(gè)邊界,只要App中的相關(guān)數(shù)據(jù)越雷池一步,測(cè)試框架就會(huì)檢測(cè)出來(lái)。

在開(kāi)發(fā)階段,開(kāi)發(fā)者可借助由Java測(cè)試框架提供的IAbilityDelegator,進(jìn)行APP組件操控測(cè)試(如:?jiǎn)?dòng)/關(guān)閉FA、獲取界面UI元素、注入U(xiǎn)I點(diǎn)擊事件等),及時(shí)發(fā)現(xiàn)UI交互問(wèn)題?;蚴褂肑Unit 4語(yǔ)法范式,編寫(xiě)測(cè)試用例、調(diào)用系統(tǒng)接口,獲得API返回值或觸發(fā)業(yè)務(wù)流程,根據(jù)接口返回值或業(yè)務(wù)狀態(tài),判斷業(yè)務(wù)邏輯的正確性。

下面給出一個(gè)例子,打開(kāi)ExampleOhosTest.Java文件,會(huì)看到如下代碼:

這是系統(tǒng)自動(dòng)生成的測(cè)試用例代碼,用來(lái)測(cè)試BundleName,如果BundleName不是我們期望的,在測(cè)試時(shí)就會(huì)報(bào)錯(cuò)?,F(xiàn)在點(diǎn)擊testBundleName方法前面的綠色箭頭,會(huì)看到如下所示的菜單:

點(diǎn)擊Run 'testBundleName()'菜單項(xiàng)開(kāi)始測(cè)試,如果發(fā)生錯(cuò)誤,在下方的Run視圖會(huì)輸出如下內(nèi)容。

這時(shí)就會(huì)發(fā)現(xiàn)代碼中的錯(cuò)誤,以便及時(shí)修改。如果某個(gè)人不小心修改了BundleName,測(cè)試是不會(huì)通過(guò)的。

想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

 

責(zé)任編輯:jianghua 來(lái)源: 鴻蒙社區(qū)
相關(guān)推薦

2020-01-10 15:44:50

編程語(yǔ)言C++Java

2025-05-19 00:06:00

編碼工具CursorAI

2020-04-26 10:52:37

LinuxUbuntu 20.0Ubuntu 18.0

2020-10-21 11:17:23

OPPO Watch健康生態(tài)

2015-12-11 15:39:54

華為

2011-12-14 16:15:17

MySQL

2024-04-07 00:00:00

ESlint命令變量

2024-04-26 09:03:31

Node.jsCurrent發(fā)布版

2023-08-05 07:14:28

ChatGPT登錄賬號(hào)

2020-12-11 07:23:03

微信更新移動(dòng)應(yīng)用

2025-02-19 16:00:00

ES代碼ECMAScript

2024-10-31 08:35:53

2025-05-07 03:15:00

NacosAPIMCP

2012-08-03 09:59:45

隧道技術(shù)IPv6

2012-03-24 21:02:41

iOS

2021-02-02 14:41:11

NumPy開(kāi)發(fā)程序

2021-08-10 15:10:01

ChromeEdge瀏覽器

2021-10-20 16:44:50

Windows 11操作系統(tǒng)微軟

2021-06-11 13:20:41

Vivaldi 4.0Linux瀏覽器

2021-03-23 05:57:57

Windows10操作系統(tǒng)微軟
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)