99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

OpenHarmony 3.1 Beta版本關(guān)鍵特性解析——ArkUI開(kāi)發(fā)框架容器類(lèi)API的介紹與使用

OpenAtom OpenHarmony ? 來(lái)源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-03-17 10:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

容器類(lèi),顧名思義就是存儲(chǔ)的類(lèi),用于存儲(chǔ)各種數(shù)據(jù)類(lèi)型的元素,并具備一系列處理數(shù)據(jù)元素的方法。在 ArkUI 開(kāi)發(fā)框架中,容器類(lèi)采用了類(lèi)似靜態(tài)的語(yǔ)言來(lái)實(shí)現(xiàn),并通過(guò) NAPI 框架對(duì)外提供。通過(guò)對(duì)存儲(chǔ)位置以及屬性的限制,讓每種類(lèi)型的數(shù)據(jù)都能在完成自身功能的基礎(chǔ)上剪除冗余分支,保證了數(shù)據(jù)的高效訪(fǎng)問(wèn),提升了應(yīng)用的性能。本期,我們將為大家介紹 ArkUI 開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型以及相關(guān) API 的使用。

容器類(lèi)API介紹

在 ArkUI 開(kāi)發(fā)框架中,提供了線(xiàn)性和非線(xiàn)性?xún)深?lèi)容器類(lèi),共 14 種,每種容器都有自身的特性及使用場(chǎng)景。下面,我們將為大家一一道來(lái)。

1.1線(xiàn)性容器類(lèi)

線(xiàn)性容器類(lèi)底層主要通過(guò)數(shù)組實(shí)現(xiàn),包括 ArrayList、Vector、List、LinkedList、Deque、Queue、Stack 七種。線(xiàn)性容器類(lèi) API,充分考慮了數(shù)據(jù)訪(fǎng)問(wèn)的速度,實(shí)現(xiàn)了運(yùn)行時(shí)(Runtime)通過(guò)一條指令就可以完成增刪改查等操作。

1.1.1 ArrayList

ArrayList 即動(dòng)態(tài)數(shù)組,可用來(lái)構(gòu)造全局的數(shù)組對(duì)象。ArrayList 依據(jù)泛型定義,要求存儲(chǔ)位置是一片連續(xù)的內(nèi)存空間,初始容量大小為 10,并支持動(dòng)態(tài)擴(kuò)容,每次擴(kuò)容大小為原始容量的 1.5 倍。ArrayList 進(jìn)行增、刪、改、查操作的相關(guān) API 如下:

2003aeda-a542-11ec-952b-dac502259ad0.jpg

1.1.2 Vector

Vector 是指連續(xù)存儲(chǔ)結(jié)構(gòu),可用來(lái)構(gòu)造全局的數(shù)組對(duì)象。Vector 依據(jù)泛型定義,要求存儲(chǔ)位置是一片連續(xù)的內(nèi)存空間,初始容量大小為 10,并支持動(dòng)態(tài)擴(kuò)容,每次擴(kuò)容大小為原始容量的2倍。

由于 Vector 擴(kuò)容速度高于 ArrayList,所以適用于數(shù)據(jù)添加比較頻繁的場(chǎng)景。Vector 在支持操作符訪(fǎng)問(wèn)的基礎(chǔ)上,還增加了 get/set 接口,提供更為完善的校驗(yàn)及容錯(cuò)機(jī)制,滿(mǎn)足用戶(hù)不同場(chǎng)景下的需求。Vector 進(jìn)行增、刪、改、查操作的相關(guān) API 如下:

20192210-a542-11ec-952b-dac502259ad0.jpg

1.1.3 List

List 可用來(lái)構(gòu)造一個(gè)單向鏈表對(duì)象,即只能通過(guò)頭結(jié)點(diǎn)開(kāi)始訪(fǎng)問(wèn)到尾節(jié)點(diǎn)。List 依據(jù)泛型定義,在內(nèi)存中的存儲(chǔ)位置可以是不連續(xù)的。

可以通過(guò) get/set 等接口對(duì)存儲(chǔ)的元素進(jìn)行修改,List 進(jìn)行增、刪、改、查操作的相關(guān) API 如下:

202bfe62-a542-11ec-952b-dac502259ad0.jpg

1.1.4 LinkedList

LinkedList 可用來(lái)構(gòu)造一個(gè)雙向鏈表對(duì)象,可以在某一節(jié)點(diǎn)向前或者向后遍歷 List。LinkedList 依據(jù)泛型定義,在內(nèi)存中的存儲(chǔ)位置可以是不連續(xù)的。

可以通過(guò) get/set 等接口對(duì)存儲(chǔ)的元素進(jìn)行修改,LinkedList 進(jìn)行增、刪、改、查操作的相關(guān) API 如下:

2041e218-a542-11ec-952b-dac502259ad0.jpg

1.1.5 Queue

Queue 可用來(lái)構(gòu)造隊(duì)列對(duì)象,存儲(chǔ)元素遵循先進(jìn)先出的規(guī)則。Queue 依據(jù)泛型定義,要求存儲(chǔ)位置是一片連續(xù)的內(nèi)存空間,初始容量大小為 8,并支持動(dòng)態(tài)擴(kuò)容,每次擴(kuò)容大小為原始容量的 2 倍。Queue 底層采用循環(huán)隊(duì)列實(shí)現(xiàn),入隊(duì)及出隊(duì)操作效率都比較高。Queue 進(jìn)行增、刪、改、查操作的相關(guān) API 如下:

2056050e-a542-11ec-952b-dac502259ad0.jpg

1.1.6 Deque

Deque 可用來(lái)構(gòu)造雙端隊(duì)列對(duì)象,存儲(chǔ)元素遵循先進(jìn)先出的規(guī)則,雙端隊(duì)列可以分別從對(duì)頭或者隊(duì)尾進(jìn)行訪(fǎng)問(wèn)。Deque 依據(jù)泛型定義,要求存儲(chǔ)位置是一片連續(xù)的內(nèi)存空間,其初始容量大小為 8,并支持動(dòng)態(tài)擴(kuò)容,每次擴(kuò)容大小為原始容量的 2 倍。Deque 底層采用循環(huán)隊(duì)列實(shí)現(xiàn),入隊(duì)及出隊(duì)操作效率都比較高。Deque 進(jìn)行增、刪、改、查操作的相關(guān) API 如下:

20698458-a542-11ec-952b-dac502259ad0.jpg

1.1.7 Stack

Stack 可用來(lái)構(gòu)造棧對(duì)象,存儲(chǔ)元素遵循后進(jìn)先出的規(guī)則。Stack 依據(jù)泛型定義,要求存儲(chǔ)位置是一片連續(xù)的內(nèi)存空間,初始容量大小為 8,并支持動(dòng)態(tài)擴(kuò)容,每次擴(kuò)容大小為原始容量的 1.5 倍。Stack 底層基于數(shù)組實(shí)現(xiàn),入棧出棧均從數(shù)組的一端操作,Stack 進(jìn)行增、刪、改、查操作的相關(guān) API 如下:

207f1296-a542-11ec-952b-dac502259ad0.jpg

1.2非線(xiàn)性容器類(lèi)

非線(xiàn)性容器類(lèi)底層通過(guò) hash 或者紅黑樹(shù)實(shí)現(xiàn),包括 HashMap、HashSet、TreeMap、TreeSet、LightWeightMap、LightWeightSet、PlainArray 七種。非線(xiàn)性容器類(lèi)中的 key 及 value 的類(lèi)型均滿(mǎn)足 ECMA 標(biāo)準(zhǔn)。

1.2.1 HashMap

HashMap 可用來(lái)存儲(chǔ)具有關(guān)聯(lián)關(guān)系的 key-value 鍵值對(duì)集合,存儲(chǔ)元素中 key 是唯一的,每個(gè) key 會(huì)對(duì)應(yīng)一個(gè) value 值。HashMap 依據(jù)泛型定義,集合中通過(guò) key 的 hash 值確定其存儲(chǔ)位置,從而快速找到鍵值對(duì)。HashMap 的初始容量大小為 16,并支持動(dòng)態(tài)擴(kuò)容,每次擴(kuò)容大小為原始容量的 2 倍。HashMap 底層基于 HashTable 實(shí)現(xiàn),沖突策略采用鏈地址法。HashMap 進(jìn)行增、刪、改、查操作的相關(guān) API 如下:

209407be-a542-11ec-952b-dac502259ad0.jpg

1.2.2 HashSet

HashSet 可用來(lái)存儲(chǔ)一系列值的集合,存儲(chǔ)元素中 value 是唯一的。依據(jù)泛型定義。集合中通過(guò) value 的 hash 值確定其存儲(chǔ)位置,從而快速找到該值。HashSet 初始容量大小為 16,支持動(dòng)態(tài)擴(kuò)容,每次擴(kuò)容大小為原始容量的 2 倍。value 的類(lèi)型滿(mǎn)足 ECMA 標(biāo)準(zhǔn)中要求的類(lèi)型。HashSet 底層基于 HashTable 實(shí)現(xiàn),沖突策略采用鏈地址法。HashSet 進(jìn)行增、刪、改、查操作的相關(guān) API 如下:

20b05234-a542-11ec-952b-dac502259ad0.jpg

1.2.3 TreeMap

TreeMap 可用來(lái)存儲(chǔ)具有關(guān)聯(lián)關(guān)系的 key-value 鍵值對(duì)集合,存儲(chǔ)元素中 key 是唯一的,每個(gè) key 會(huì)對(duì)應(yīng)一個(gè) value 值。TreeMap 依據(jù)泛型定義,集合中的 key 值是有序的,TreeMap 的底層是一棵二叉樹(shù),可以通過(guò)樹(shù)的二叉查找快速地找到鍵值對(duì)。key 的類(lèi)型滿(mǎn)足 ECMA 標(biāo)準(zhǔn)中要求的類(lèi)型。TreeMap 中的鍵值是有序存儲(chǔ)的。TreeMap 底層基于紅黑樹(shù)實(shí)現(xiàn),可以進(jìn)行快速地插入和刪除。TreeMap 進(jìn)行增、刪、改、查操作的相關(guān) API 如下:

20c2a51a-a542-11ec-952b-dac502259ad0.jpg

1.2.4 TreeSet

TreeSet 可用來(lái)存儲(chǔ)一系列值的集合,存儲(chǔ)元素中 value 是唯一的。TreeSet 依據(jù)泛型定義,集合中的 value 值是有序的,TreeSet 的底層是一棵二叉樹(shù),可以通過(guò)樹(shù)的二叉查找快速地找到該 value 值,value 的類(lèi)型滿(mǎn)足 ECMA 標(biāo)準(zhǔn)中要求的類(lèi)型。TreeSet 中的值是有序存儲(chǔ)的。TreeSet 底層基于紅黑樹(shù)實(shí)現(xiàn),可以進(jìn)行快速地插入和刪除。TreeSet 進(jìn)行增、刪、改、查操作的相關(guān) API 如下:

20d5e92c-a542-11ec-952b-dac502259ad0.jpg

1.2.5 LightWeightMap

LigthWeightMap 可用來(lái)存儲(chǔ)具有關(guān)聯(lián)關(guān)系的 key-value 鍵值對(duì)集合,存儲(chǔ)元素中 key 是唯一的,每個(gè) key 會(huì)對(duì)應(yīng)一個(gè) value 值。LigthWeightMap 依據(jù)泛型定義,采用更加輕量級(jí)的結(jié)構(gòu),集合中的 key 值的查找依賴(lài)于 hash 值以及二分查找算法,通過(guò)一個(gè)數(shù)組存儲(chǔ) hash 值,然后映射到其他數(shù)組中的 key 值以及 value 值,key 的類(lèi)型滿(mǎn)足 ECMA 標(biāo)準(zhǔn)中要求的類(lèi)型。

初始默認(rèn)容量大小為 8,每次擴(kuò)容大小為原始容量的 2 倍。LigthWeightMap 底層標(biāo)識(shí)唯一 key 通過(guò) hash 實(shí)現(xiàn),其沖突策略為線(xiàn)性探測(cè)法,查找策略基于二分查找法。LigthWeightMap 進(jìn)行增、刪、改、查操作的相關(guān) API 如下:

20ea6b54-a542-11ec-952b-dac502259ad0.png

1.2.6 LightWeightSet

LigthWeightSet 可用來(lái)存儲(chǔ)一系列值的集合,存儲(chǔ)元素中 value 是唯一的。LigthWeightSet 依據(jù)泛型定義,采用更加輕量級(jí)的結(jié)構(gòu),初始默認(rèn)容量大小為 8,每次擴(kuò)容大小為原始容量的 2 倍。集合中的 value 值的查找依賴(lài)于 hash 以及二分查找算法,通過(guò)一個(gè)數(shù)組存儲(chǔ) hash 值,然后映射到其他數(shù)組中的 value 值,value 的類(lèi)型滿(mǎn)足 ECMA 標(biāo)準(zhǔn)中要求的類(lèi)型。

LigthWeightSet 底層標(biāo)識(shí)唯一 value 基于 hash 實(shí)現(xiàn),其沖突策略為線(xiàn)性探測(cè)法,查找策略基于二分查找法。LigthWeightSet 進(jìn)行增、刪、改、查操作的相關(guān) API 如下:

210bde06-a542-11ec-952b-dac502259ad0.jpg

1.2.7 PlainArray

PlainArray 可用來(lái)存儲(chǔ)具有關(guān)聯(lián)關(guān)系的鍵值對(duì)集合,存儲(chǔ)元素中 key 是唯一的,并且對(duì)于 PlainArray 來(lái)說(shuō),其 key 的類(lèi)型為 number 類(lèi)型。每個(gè) key 會(huì)對(duì)應(yīng)一個(gè) value 值,類(lèi)型依據(jù)泛型的定義,PlainArray 采用更加輕量級(jí)的結(jié)構(gòu),集合中的 key 值的查找依賴(lài)于二分查找算法,然后映射到其他數(shù)組中的 value 值。

初始默認(rèn)容量大小為 16,每次擴(kuò)容大小為原始容量的 2 倍。PlainArray 的查找策略基于二分查找法。PlainArray 進(jìn)行增、刪、改、查操作的相關(guān) API 如下:

211f161a-a542-11ec-952b-dac502259ad0.jpg

容器類(lèi)的實(shí)現(xiàn)

下面我們將以 ArrayList 為例,為大家介紹,容器類(lèi)的實(shí)現(xiàn)。包括容器類(lèi)的初始化、容器類(lèi)的接口調(diào)用、容器類(lèi)對(duì)象模型的構(gòu)建以及攔截器處理。

2.1 容器類(lèi)初始化

在 ArkUI 開(kāi)發(fā)框架中,通過(guò) NAPI 的統(tǒng)一框架對(duì)外層提供容器類(lèi)。下面,我們將以 ArrayList 為例,介紹基于 NAPI 的容器類(lèi)的加載。如下圖所示,是容器類(lèi)初始化流程,在 NAPI 加載的過(guò)程中,會(huì)通過(guò) ArkPrivate.Load 接口加載對(duì)應(yīng)的容器類(lèi)。ArrayList 在引擎中會(huì)初始化 Constructor 以及 Prototype 并返回,最后應(yīng)用側(cè)可以獲得該容器類(lèi)并使用。

2140c364-a542-11ec-952b-dac502259ad0.jpg

2.2 容器類(lèi)接口調(diào)用

在 ArkUI 開(kāi)發(fā)框架中,容器類(lèi) API 的調(diào)用流程如下,用戶(hù)先通過(guò) new ArrayList 進(jìn)入引擎得到對(duì)應(yīng)的 arraylist 對(duì)象,然后可以通過(guò) add 接口向?qū)ο笾刑砑釉?,元素最終會(huì)添加到一片和該 arraylist 綁定的內(nèi)存空間??梢酝ㄟ^(guò) [] 操作符進(jìn)行元素獲取,對(duì)于容器類(lèi)而言,引擎會(huì)直接通過(guò)快速路徑訪(fǎng)問(wèn)到元素存儲(chǔ)位置,返回該值。

215356aa-a542-11ec-952b-dac502259ad0.jpg

2.3 容器類(lèi)對(duì)象模型

在 ArkUI 開(kāi)發(fā)框架中,構(gòu)造容器類(lèi)對(duì)象模型的流程如下圖所示,在運(yùn)行時(shí)禁止再向?qū)ο笊咸砑?Properties 屬性,ArrayList 借用對(duì)象模型中的 elements 位置存儲(chǔ)元素。

2169c3ea-a542-11ec-952b-dac502259ad0.jpg

實(shí)現(xiàn)說(shuō)明:通過(guò) elements 存儲(chǔ)數(shù)組元素,Length 為數(shù)組中元素個(gè)數(shù),數(shù)組 Capatity 可以通過(guò) elements 的長(zhǎng)度獲取。

擴(kuò)容策略:ArrayList –> 1.5 倍

初始分配容量:ArrayList -> 10

(注:TS 中的實(shí)現(xiàn),擴(kuò)容策略及初始分配容量不感知)

2.4 攔截器處理

攔截器處理,是指通過(guò)禁止掉一些影響對(duì)象行為的操作,比如 delete、setPrototype 等,在運(yùn)行時(shí)(Runtime)維護(hù)一個(gè)高效的容器類(lèi)對(duì)象。以 ArrayList 為例,ArkCompiler 內(nèi)部攔截的操作主要涉及 DeleteProperty、DefineProperty、GetProperty、SetPrototype、GetOwnPropertyKeys、HasProperty 等操作限制數(shù)組的 holy 添加,以及更改屬性的 attributes 等操作,保證了不需要做 JSArray 必須做的 holy 判斷、writable 判斷等操作。

217e4022-a542-11ec-952b-dac502259ad0.jpg

容器類(lèi)API的使用

通過(guò)上文的介紹,相信大家對(duì)容器類(lèi)已經(jīng)有了比較深刻的認(rèn)識(shí)。那么,我們?cè)趺词褂萌萜黝?lèi) API 呢?本文列舉常用的典型容器的使用示例,包括導(dǎo)入模塊、增加元素、訪(fǎng)問(wèn)元素及修改等操作:

// ArrayListimport ArrayList from '@ohos.util.ArrayList' // 導(dǎo)入ArrayList模塊let arrayList = new ArrayList();arrayList.add("a");arrayList.add(1);    // 增加元素print(arrayList[0]); // 訪(fǎng)問(wèn)元素arrayList[0] = one"; // 修改元素print(arrayList[0]);
// Vectorimport Vector from '@ohos.util.Vector'  // 導(dǎo)入Vector模塊let vector = new Vector();vector.add("a");let b = [1, 2, 3];vector.add(b);vector.add(false); // 增加元素print(vector[0]);  // 訪(fǎng)問(wèn)元素print(vector.getFirstElement()); // 訪(fǎng)問(wèn)元素
// Dequeimport Deque from '@ohos.util.Deque'  // 導(dǎo)入Deque模塊let deque = new Deque;deque.insertFront("a");deque.insertFront(1); // 增加元素print(deque[0]);      // 訪(fǎng)問(wèn)元素deque[0] = "one";     // 修改元素print(deque[0]);
// Stackimport Stack from '@ohos.util.Stack'  // 導(dǎo)入Stack模塊  let stack = new Stack();stack.push("a");stack.push(1);   // 增加元素print(stack[0]); // 訪(fǎng)問(wèn)元素stack.pop();     // 彈出元素print(stack.length);
// Listimport List from '@ohos.util.List'  // 導(dǎo)入List模塊let list = new List;list.add("a");list.add(1);let b = [1, 2, 3];list.add(b);        // 增加元素print(list[0]);     // 訪(fǎng)問(wèn)元素print(list.get(0)); // 訪(fǎng)問(wèn)元素
// HashMapimport HashMap from '@ohos.util.HashMap'   // 導(dǎo)入HashMap模塊let hashMap = new HashMap();hashMap.set("a", 123);hashMap.set(4, 123);      // 增加元素print(hashMap.hasKey(4)); // 判斷是否含有某元素print(hashMap.get("a"));  // 訪(fǎng)問(wèn)元素
// TreeMapimport TreeMap from '@ohos.util.TreeMap'   // 導(dǎo)入TreeMap模塊let treeMap = new TreeMap();treeMap.set("a", 123);treeMap.set("6", 356);           // 增加元素print(treeMap.get("a"));         // 訪(fǎng)問(wèn)元素print(treeMap.getFirstKey("a")); // 訪(fǎng)問(wèn)首元素print(treeMap.getLastKey("a"));  // 訪(fǎng)問(wèn)尾元素
// LightWeightMapimport LightWeightMap from '@ohos.util.LightWeightMap' // 導(dǎo)入LightWeightMap模塊let lightWeightMap = new LightWeightMap();lightWeightMap.set("x", 123);lightWeightMap.set("8", 356);   // 增加元素print(lightWeightMap.get("a")); // 訪(fǎng)問(wèn)元素print(lightWeightMap.get("x")); // 訪(fǎng)問(wèn)元素print(lightWeightMap.getIndexOfKey("8")); // 訪(fǎng)問(wèn)元素
// PlainArrayimport PlainArray from '@ohos.util.PlainArray'   // 導(dǎo)入PlainArray模塊let plainArray = new PlainArray();plainArray.add(1, "sdd");plainArray.add(2, "sff");      // 增加元素print(plainArray.get(1));      // 訪(fǎng)問(wèn)元素print(plainArray.getKeyAt(1));//訪(fǎng)問(wèn)元素

至此以上就是本期全部?jī)?nèi)容,期待廣大開(kāi)發(fā)者通過(guò) ArkUI 開(kāi)發(fā)框架的容器類(lèi)開(kāi)發(fā)出更多高性能的應(yī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)投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1624

    瀏覽量

    64079
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    511

    瀏覽量

    22465
  • OpenHarmony
    +關(guān)注

    關(guān)注

    29

    文章

    3856

    瀏覽量

    18654

原文標(biāo)題:OpenHarmony 3.1 Beta版本關(guān)鍵特性解析——ArkUI開(kāi)發(fā)框架容器類(lèi)API的介紹與使用

文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    針對(duì)“您的應(yīng)用使用了HarmonyOS beta版本API”的解決方法##HarmonyOS應(yīng)用上架##

    API。 修改建議:為提升消費(fèi)者使用體驗(yàn),請(qǐng)使用HarmonyOS release版本API開(kāi)發(fā)應(yīng)用,申請(qǐng)上架 我看到這個(gè)是有點(diǎn)懵的,因?yàn)槲仪宄闹溃业捻?xiàng)目是基于
    發(fā)表于 06-30 17:30

    【HarmonyOS next】ArkUI-X休閑娛樂(lè)搞笑日歷【基礎(chǔ)】

    、iPhone 13 Pro 開(kāi)發(fā)語(yǔ)言:ArkTS 框架版本ArkUI API 16 關(guān)鍵技術(shù)
    發(fā)表于 06-28 22:07

    【HarmonyOS next】ArkUI-X休閑益智兒童拼圖【進(jìn)階】

    版本ArkUI API 16 ? 代碼倉(cāng)庫(kù)地址:gitee 三、核心實(shí)現(xiàn)解析 3.1 拖動(dòng)邏輯的三維坐標(biāo)系 在拼圖游戲中,精準(zhǔn)的位置計(jì)
    發(fā)表于 06-28 21:41

    【HarmonyOS next】ArkUI-X休閑益智猜字謎【基礎(chǔ)】

    ArkUI-X媲美Flutter的跨端能力,還會(huì)手把手解析關(guān)鍵代碼實(shí)現(xiàn)! 一、環(huán)境準(zhǔn)備清單 ?操作系統(tǒng) :macOS(Windows用戶(hù)可通過(guò)虛擬機(jī)體驗(yàn)) ?開(kāi)發(fā)工具 :DevEco
    發(fā)表于 06-26 20:01

    ArkUI-X通過(guò)Stage模型開(kāi)發(fā)Android端應(yīng)用指南(一)

    簡(jiǎn)介 本文介紹ArkUI框架擴(kuò)展到Android平臺(tái)所需要的必要的類(lèi)及其使用說(shuō)明,開(kāi)發(fā)者基于OpenH
    發(fā)表于 06-24 22:16

    ArkUI介紹

    ArkUI(方舟UI框架)為應(yīng)用的UI開(kāi)發(fā)提供了完整的基礎(chǔ)設(shè)施,包括簡(jiǎn)潔的UI語(yǔ)法、豐富的UI功能(組件、布局、動(dòng)畫(huà)以及交互事件),以及實(shí)時(shí)界面預(yù)覽工具等,可以支持開(kāi)發(fā)者進(jìn)行可視化界面
    發(fā)表于 06-24 06:41

    ArkUI-X案例解析

    實(shí)現(xiàn)的,應(yīng)首先符合ArkUI-X框架的規(guī)格要求. 在應(yīng)用UI方面存在的差異,是無(wú)法借助Bridge能力來(lái)彌補(bǔ)的。在此建議使用ArkUI-X框架中已經(jīng)適配完畢的組件,這些組件功能相對(duì)穩(wěn)定
    發(fā)表于 06-23 22:40

    ArkUI-X應(yīng)用工程結(jié)構(gòu)說(shuō)明

    簡(jiǎn)介 本文檔配套ArkUI-X,將OpenHarmony ArkUI開(kāi)發(fā)框架擴(kuò)展到不同的OS平臺(tái),比如Android和iOS平臺(tái),讓
    發(fā)表于 06-19 23:11

    ArkUI-X跨平臺(tái)應(yīng)用改造指南

    -X框架已有API進(jìn)行開(kāi)發(fā)。 ??根據(jù)當(dāng)前ArkUI-X框架的適配現(xiàn)狀,可分為三種改造方式,結(jié)合架構(gòu)圖commons層 NetWork進(jìn)行說(shuō)
    發(fā)表于 06-16 23:05

    ArkUI-X框架LogInterface使用指南

    WARN/INFO/DEBUG),存在應(yīng)用崩潰的風(fēng)險(xiǎn)。 注意:開(kāi)發(fā)者使用時(shí)注冊(cè),必須位于調(diào)用MyApplication超類(lèi)的onCreate()方法之后 設(shè)置ArkUI-X框架
    發(fā)表于 06-15 23:20

    ArkUI-X在Android上使用Fragment開(kāi)發(fā)指南

    本文介紹ArkUI框架的UIAbility跨平臺(tái)部署至Android平臺(tái)Fragment的使用說(shuō)明,實(shí)現(xiàn)Android原生Fragment和ArkUI跨平臺(tái)Fragment的混合
    發(fā)表于 06-12 22:42

    ArkUI-X跨平臺(tái)框架接入指南

    的IDE編輯器進(jìn)行開(kāi)發(fā)和調(diào)試; ArkUI-X支持在Android/iOS平臺(tái)真機(jī)和模擬器上運(yùn)行調(diào)試; 平臺(tái)版本及構(gòu)建工具要求: OpenHarmony平臺(tái):支持
    發(fā)表于 05-18 18:21

    【北京迅為】itop-3568 開(kāi)發(fā)openharmony鴻蒙燒寫(xiě)及測(cè)試-第2章OpenHarmony v3.2-Beta4版本測(cè)試

    【北京迅為】itop-3568 開(kāi)發(fā)openharmony鴻蒙燒寫(xiě)及測(cè)試-第2章OpenHarmony v3.2-Beta4版本測(cè)試
    的頭像 發(fā)表于 03-05 10:53 ?467次閱讀
    【北京迅為】itop-3568 <b class='flag-5'>開(kāi)發(fā)</b>板<b class='flag-5'>openharmony</b>鴻蒙燒寫(xiě)及測(cè)試-第2章<b class='flag-5'>OpenHarmony</b> v3.2-<b class='flag-5'>Beta</b>4<b class='flag-5'>版本</b>測(cè)試

    開(kāi)源鴻蒙5.0 Release版本關(guān)鍵特性解讀

    特性。如果想了解該版本完整的特性,請(qǐng)參考版本的Release notes。 一 系統(tǒng)功能 1.1 應(yīng)用框架能力優(yōu)化 應(yīng)用
    的頭像 發(fā)表于 12-23 13:58 ?2256次閱讀

    基于ArkTS語(yǔ)言的OpenHarmony APP應(yīng)用開(kāi)發(fā):HelloOpenharmony

    1、程序簡(jiǎn)介該程序是基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)編寫(xiě)的UI應(yīng)用類(lèi):HelloOpenHarmony。本案例是基于API9接口開(kāi)發(fā)。本案
    的頭像 發(fā)表于 09-15 08:09 ?885次閱讀
    基于ArkTS語(yǔ)言的<b class='flag-5'>OpenHarmony</b> APP應(yīng)用<b class='flag-5'>開(kāi)發(fā)</b>:Hello<b class='flag-5'>Openharmony</b>