女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

什么是HarmonyOS“跨設(shè)備遷移”?

HarmonyOS開發(fā)者 ? 來源:HarmonyOS開發(fā)者 ? 作者:zhenyu ? 2021-06-25 17:32 ? 次閱讀

什么是HarmonyOS“跨設(shè)備遷移”?

HarmonyOS“跨設(shè)備遷移”是指將承載業(yè)務(wù)的Page在同一用戶的不同設(shè)備間遷移,以便支持用戶業(yè)務(wù)無縫切換的訴求。“跨設(shè)備遷移”實(shí)現(xiàn)了業(yè)務(wù)跨設(shè)備流轉(zhuǎn)功能,打破業(yè)務(wù)受限單設(shè)備的壁壘。

典型應(yīng)用場景舉例:

導(dǎo)航場景

如果用戶駕車出行,上車前,在手機(jī)上規(guī)劃好導(dǎo)航路線;上車后,導(dǎo)航自動遷移到車機(jī)和車載音箱;下車后,導(dǎo)航自動遷移回手機(jī)。如果用戶騎車出行,在手機(jī)上規(guī)劃好導(dǎo)航路線,騎行時(shí)手表可以接續(xù)導(dǎo)航。

辦公場景

大屏上呈現(xiàn)的文檔,PAD或者手機(jī)可以跨設(shè)備編輯。

娛樂場景

電影視頻從客廳電視到房間PAD跨設(shè)備接續(xù)播放。

HarmonyOS“跨設(shè)備遷移”的技術(shù)原理

HarmonyOS“跨設(shè)備遷移”需要用到一項(xiàng)關(guān)鍵技術(shù)——“分布式任務(wù)調(diào)度”。

分布式任務(wù)調(diào)度

“跨設(shè)備遷移”依賴HarmonyOS系統(tǒng)中分布式任務(wù)調(diào)度的“業(yè)務(wù)遷移能力”。

“分布式任務(wù)調(diào)度”基于分布式軟總線、分布式數(shù)據(jù)管理、分布式Profile和分布式安全認(rèn)證這四項(xiàng)技術(shù)特性,構(gòu)建統(tǒng)一的分布式服務(wù)管理(發(fā)現(xiàn)、同步、注冊、調(diào)用)機(jī)制,支持對跨設(shè)備的應(yīng)用進(jìn)行遠(yuǎn)程啟動、遠(yuǎn)程調(diào)用、遠(yuǎn)程連接以及遷移等操作。

● 分布式軟總線實(shí)現(xiàn)了近場設(shè)備間統(tǒng)一的分布式通信能力管理,提供不區(qū)分鏈路的設(shè)備發(fā)現(xiàn)、連接、組網(wǎng)和傳輸能力。開發(fā)者可無需關(guān)注設(shè)備間組網(wǎng)方式與底層協(xié)議,集中精力實(shí)現(xiàn)業(yè)務(wù)邏輯功能。

● 分布式數(shù)據(jù)管理中的數(shù)據(jù)同步能力可實(shí)現(xiàn)組網(wǎng)內(nèi)的設(shè)備信息共享實(shí)時(shí)同步,如設(shè)備上下線、設(shè)備信息列表等,方便多設(shè)備信息實(shí)時(shí)同步。

● 分布式Profile實(shí)現(xiàn)多設(shè)備Profile的統(tǒng)一查詢、訂閱能力,拉通多設(shè)備之間的管理。

● 分布式安全認(rèn)證提供應(yīng)用完整性保護(hù)、應(yīng)用權(quán)限管理、設(shè)備認(rèn)證、密鑰管理等服務(wù),為業(yè)務(wù)提供安全保障基礎(chǔ)。

分布式任務(wù)調(diào)度基于以上技術(shù)特性基座,構(gòu)建統(tǒng)一的分布式服務(wù)管理機(jī)制,完成了分布式組網(wǎng)內(nèi)設(shè)備中的系統(tǒng)服務(wù)信息同步及管理,包括服務(wù)注冊、服務(wù)發(fā)現(xiàn)、服務(wù)同步和服務(wù)調(diào)度。

在業(yè)務(wù)發(fā)起“跨設(shè)備遷移”請求時(shí),分布式調(diào)度系統(tǒng)根據(jù)調(diào)度決策機(jī)制選擇目標(biāo)設(shè)備,并獲取對應(yīng)設(shè)備的系統(tǒng)服務(wù)信息,在系統(tǒng)服務(wù)成功調(diào)度后,向目標(biāo)設(shè)備發(fā)起遠(yuǎn)程啟動、遠(yuǎn)程調(diào)用、遠(yuǎn)程連接和遠(yuǎn)程遷移,由對應(yīng)設(shè)備的分布式任務(wù)調(diào)度系統(tǒng)完成本地化的任務(wù)執(zhí)行。

HarmonyOS“跨設(shè)備遷移”的具體實(shí)現(xiàn)流程

HarmonyOS“跨設(shè)備遷移”依賴“Ability”實(shí)現(xiàn),這里我們簡單介紹一下“Ability”。Ability

Ability是應(yīng)用所具備能力的抽象,HarmonyOS支持應(yīng)用以Ability為單位進(jìn)行部署。業(yè)務(wù)“跨設(shè)備遷移”的基礎(chǔ)粒度也是Ability,具體實(shí)現(xiàn)是在不同設(shè)備間同一應(yīng)用的同名Ability之間進(jìn)行遷移。

● Ability概述

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ability-ability-overview-0000000000029852

HarmonyOS的應(yīng)用由一個(gè)或多個(gè)FA(Feature Ability)或PA(Particle Ability)組成。

● FA有UI界面,提供與用戶交互的能力

FA僅支持Page Ability,一個(gè)Page實(shí)例可以包含一組相關(guān)頁面,每個(gè)頁面用一個(gè)AbilitySlice實(shí)例表示。

● Page Ability基本概念

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ability-page-concept-0000000000033573● PA無UI界面,提供后臺運(yùn)行任務(wù)的能力以及統(tǒng)一的數(shù)據(jù)訪問抽象

PA支持Service Ability和Data Ability:

Service Ability:用于提供后臺運(yùn)行任務(wù)的能力。

Data Ability:用于對外部提供統(tǒng)一的數(shù)據(jù)訪問抽象。

Ability的生命周期主要用于Page實(shí)例的狀態(tài)機(jī)管理,系統(tǒng)管理或用戶操作等行為均會引起Page實(shí)例在其生命周期的不同狀態(tài)之間進(jìn)行轉(zhuǎn)換。Ability Class提供的回調(diào)機(jī)制能夠讓Page及時(shí)感知外界變化,從而正確地應(yīng)對狀態(tài)變化。

● Page Ability生命周期

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ability-page-lifecycle-0000000000029840

“跨設(shè)備遷移”的處理依賴Ability的生命周期管理來完成Page的狀態(tài)切換,同時(shí)Page在生命周期回調(diào)中處理數(shù)據(jù)的保存與恢復(fù)。

● onStart()

當(dāng)系統(tǒng)首次創(chuàng)建Page實(shí)例時(shí)觸發(fā)。應(yīng)用須重寫該方法,并在此初始化配置為展示AbilitySlice。Page在此后進(jìn)入INACTIVE狀態(tài),用戶不可交互。

● onActive()

當(dāng)Page從INACTIVE狀態(tài)切換到前臺時(shí)觸發(fā)。Page在此之后進(jìn)入ACTIVE狀態(tài),該狀態(tài)下,應(yīng)用與用戶處于可交互的狀態(tài)。

● onInactive()

當(dāng)Page即將進(jìn)入不可交互狀態(tài)時(shí)會被觸發(fā),Page在此之后進(jìn)入INACTIVE狀態(tài),應(yīng)用與用戶不可交互。

● onBackground()

當(dāng)Page不再對用戶可見時(shí)觸發(fā)。Page在此之后進(jìn)入BACKGROUND狀態(tài)。

● onForeground()

當(dāng)Page從BACKGROUND狀態(tài)重新回到前臺時(shí)觸發(fā)。Page在此之后回到INACTIVE狀態(tài)。

● onStop()當(dāng)系統(tǒng)將要銷毀Page時(shí)觸發(fā)。遷移流程圍繞Ability的生命周期,我們來看看業(yè)務(wù)“跨設(shè)備遷移”的具體流程。

業(yè)務(wù)“跨設(shè)備遷移”的本質(zhì)即通過分布式組網(wǎng)把一個(gè)設(shè)備的“Ability運(yùn)行狀態(tài)”遷移到另外一臺設(shè)備上。

程序中“跨設(shè)備遷移”通過調(diào)用Page Ability的遷移接口ContinueAbility,將設(shè)備A的業(yè)務(wù)無縫遷移到指定設(shè)備B中。其中,支持遷移的Page以及此Page所包含的所有AbilitySlice必須實(shí)現(xiàn)IAbilityContinuation接口。具體接口代碼如下:

public interface IAbilityContinuation { //是否可遷移 boolean onStartContinuation();

//保存數(shù)據(jù) boolean onSaveData(IntentParams var1);

//恢復(fù)數(shù)據(jù) boolean onRestoreData(IntentParams var1);

//遷移完成 void onCompleteContinuation(int var1);

default void onRemoteTerminated() { throw new RuntimeException(“Stub!”); }}

“跨設(shè)備遷移”關(guān)鍵步驟:

1設(shè)備A上的Page調(diào)用continueAbility請求遷移。2HarmonyOS處理遷移任務(wù),并回調(diào)設(shè)備A上Page的保存數(shù)據(jù)方法onSaveData,用于保存遷移必須的Page數(shù)據(jù)。3HarmonyOS將Page數(shù)據(jù)從設(shè)備A遷移到設(shè)備B。4HarmonyOS在設(shè)備B上啟動同一個(gè)Page,并回調(diào)onRestoreData恢復(fù)Page數(shù)據(jù)。

“跨設(shè)備遷移”數(shù)據(jù)流轉(zhuǎn)過程:1設(shè)備A上的Page請求遷移到設(shè)備B(調(diào)用continueAbility)后,HarmonyOS回調(diào)設(shè)備A上該P(yáng)age及其AbilitySlice棧中所有AbilitySlice實(shí)例的onStartContinuation()方法,以確認(rèn)當(dāng)前是否可以遷移。True代表可執(zhí)行遷移。

2若可執(zhí)行遷移,則HarmonyOS回調(diào)設(shè)備A上Page及其AbilitySlice棧中所有AbilitySlice實(shí)例的onSaveData()方法,由該P(yáng)age保存必須傳遞到接收端設(shè)備B的Page狀態(tài)數(shù)據(jù)。3若數(shù)據(jù)保存成功,則分布式調(diào)度系統(tǒng)通過RPC通信,在設(shè)備B上啟動同一個(gè)Page,并恢復(fù)對應(yīng)的AbilitySlice棧,然后回調(diào)設(shè)備B上該P(yáng)age的onRestoreData()方法,傳遞此前保存的數(shù)據(jù);

此后設(shè)備B上此Page從onStart()開始其生命周期回調(diào)。4HarmonyOS回調(diào)設(shè)備A上Page及其AbilitySlice棧中所有AbilitySlice實(shí)例的onCompleteContinuation()方法,通知設(shè)備A遷移結(jié)果即數(shù)據(jù)恢復(fù)成功與否。

了解完具體流程,下面我們給大家推薦一個(gè)HarmonyOS“跨設(shè)備遷移”動手實(shí)踐的Demo。

HarmonyOS“跨設(shè)備遷移”動手實(shí)例

我們?yōu)榇蠹規(guī)硪粋€(gè)辦公場景下“基于分布式的協(xié)同郵件編輯”Demo,作為“跨設(shè)備遷移”應(yīng)用的開發(fā)實(shí)例。該實(shí)例通過模擬不同設(shè)備間協(xié)同的郵件內(nèi)容編輯來做一個(gè)“內(nèi)容”跨設(shè)備遷移的演示。目前該Demo已在HarmonyOS官網(wǎng)Codelabs中上線,感興趣的同學(xué)可以參考其具體流程,動手開發(fā)一個(gè)“跨設(shè)備遷移”郵箱Demo。

● 官網(wǎng)鏈接:

https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/Distributed-Mail

通過這一系列的解析,開發(fā)者們是不是對HarmonyOS“跨設(shè)備遷移”技術(shù)有了更深的了解,未來我們還將為大家?guī)砀郒armonyOS相關(guān)技術(shù)解讀,也歡迎大家后臺留言,告訴我們更多你想聽的技術(shù)內(nèi)容,我們將逐一為大家奉上~

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • PA
    PA
    +關(guān)注

    關(guān)注

    3

    文章

    252

    瀏覽量

    47345
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    2027

    瀏覽量

    32079

原文標(biāo)題:HarmonyOS “跨設(shè)備遷移”原理解析

文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

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

    HarmonyOS NEXT 原生應(yīng)用/元服務(wù)調(diào)試概述

    一、概述 DevEco Studio提供了豐富的HarmonyOS應(yīng)用/元服務(wù)調(diào)試能力,支持JS、ArkTS、C/C單語言調(diào)試和ArkTS/JS+C/C語言調(diào)試能力,并且支持三方庫源碼調(diào)試,幫助
    發(fā)表于 02-26 11:03

    AKI語言調(diào)用庫神助攻C/C++代碼遷移HarmonyOS NEXT

    /C++代碼快速遷移HarmonyOS NEXT。憑借卓越的兼容性,AKI已成為廠商與開發(fā)者打造鴻蒙原生應(yīng)用過程中廣泛使用的語言調(diào)用解決方案。 AKI是一款專為鴻蒙原生開發(fā)設(shè)計(jì)的FFI(外部函數(shù)接口
    發(fā)表于 01-02 17:08

    HarmonyOS Next 應(yīng)用元服務(wù)開發(fā)-應(yīng)用接續(xù)動態(tài)配置遷移快速啟動目標(biāo)應(yīng)用

    快速啟動目標(biāo)應(yīng)用,默認(rèn)情況下,發(fā)起遷移后不會立即拉起對端的目標(biāo)應(yīng)用,而是等待遷移數(shù)據(jù)從源端傳輸?shù)綄Χ撕蟛艜饝?yīng)用。若應(yīng)用希望在用戶發(fā)起接續(xù)后立即被拉起,減少等待時(shí)間,提升體驗(yàn),可以在
    發(fā)表于 12-31 09:58

    HarmonyOS Next 應(yīng)用元服務(wù)開發(fā)-應(yīng)用接續(xù)動態(tài)配置遷移保持遷移連續(xù)性

    保證遷移連續(xù)性,由于遷移加載時(shí),目標(biāo)端拉起的應(yīng)用可能執(zhí)行過自己的遷移狀態(tài)設(shè)置命令(如:冷啟動時(shí)目標(biāo)端在onCreate中設(shè)置了INACTIVE;熱啟動時(shí)對端已打開了不可遷移的頁面,
    發(fā)表于 12-30 10:30

    HarmonyOS開發(fā)指導(dǎo)類文檔更新速遞(上)

    、媒體相關(guān)能力新增、優(yōu)化文檔,方便開發(fā)者更加高效使用文檔。 ArkUI(方舟UI框架) ArkUI(方舟UI框架)是一個(gè)簡潔、高性能、支持設(shè)備的UI框架,提供了豐富的應(yīng)用界面開發(fā)所需能力。 · 新增使用彈窗: 介紹各類彈窗的使用場景與實(shí)現(xiàn)方法,重點(diǎn)說明自定義彈出框和各類
    的頭像 發(fā)表于 12-30 09:50 ?770次閱讀
    <b class='flag-5'>HarmonyOS</b>開發(fā)指導(dǎo)類文檔更新速遞(上)

    HarmonyOS Next 應(yīng)用元服務(wù)開發(fā)-應(yīng)用接續(xù)動態(tài)配置遷移按需退出

    按需退出,支持應(yīng)用動態(tài)選擇遷移成功后是否退出遷移源端應(yīng)用(默認(rèn)遷移成功后退出遷移源端應(yīng)用)。如果應(yīng)用不想讓系統(tǒng)自動退出遷移源端應(yīng)用,則可以設(shè)
    發(fā)表于 12-27 14:39

    HarmonyOS Next 應(yīng)用元服務(wù)開發(fā)-應(yīng)用接續(xù)動態(tài)配置遷移按需遷移頁面

    按需遷移頁面棧,支持應(yīng)用動態(tài)選擇是否進(jìn)行頁面棧恢復(fù)(默認(rèn)進(jìn)行頁面棧信息恢復(fù))。如果應(yīng)用不想使用系統(tǒng)默認(rèn)恢復(fù)的頁面棧,則可以設(shè)置不進(jìn)行頁面棧遷移,而需要在onWindowStageRestore設(shè)置
    發(fā)表于 12-26 15:23

    HarmonyOS Next 應(yīng)用元服務(wù)開發(fā)-應(yīng)用接續(xù)動態(tài)配置遷移

    支持同應(yīng)用中不同Ability遷移,一般情況下,遷移的雙端是同Ability之間,但有些應(yīng)用在不同設(shè)備類型下的同一個(gè)業(yè)務(wù)Abilit
    發(fā)表于 12-25 10:10

    HarmonyOS Next 應(yīng)用元服務(wù)開發(fā)-分布式數(shù)據(jù)對象遷移數(shù)據(jù)文件資產(chǎn)遷移

    使用分布式數(shù)據(jù)對象遷移數(shù)據(jù),當(dāng)需要遷移的數(shù)據(jù)較大(100KB以上)或需要遷移文件時(shí),可以使用分布式數(shù)據(jù)對象。原理與接口說明詳見分布式數(shù)據(jù)對象設(shè)備
    發(fā)表于 12-24 10:11

    HarmonyOS Next 應(yīng)用元服務(wù)開發(fā)-分布式數(shù)據(jù)對象遷移數(shù)據(jù)權(quán)限與基礎(chǔ)數(shù)據(jù)

    使用分布式數(shù)據(jù)對象遷移數(shù)據(jù),當(dāng)需要遷移的數(shù)據(jù)較大(100KB以上)或需要遷移文件時(shí),可以使用分布式數(shù)據(jù)對象。原理與接口說明詳見分布式數(shù)據(jù)對象設(shè)備
    發(fā)表于 12-24 09:40

    華為HarmonyOS NEXT 10月8日開啟公測

    華為宣布,萬眾矚目的HarmonyOS NEXT操作系統(tǒng)將于10月8日正式開啟公測,標(biāo)志著這一創(chuàng)新力作即將與廣大用戶見面。HarmonyOS NEXT作為華為自研操作系統(tǒng)的最新成果,不僅全面升級了系統(tǒng)內(nèi)核,實(shí)現(xiàn)了
    的頭像 發(fā)表于 09-24 15:41 ?1245次閱讀
    華為<b class='flag-5'>HarmonyOS</b> NEXT 10月8日開啟公測

    HarmonyOS NEXT Developer Beta1最新術(shù)語表

    。 ArkUI 方舟開發(fā)框架,是為HarmonyOS平臺開發(fā)極簡、高性能、設(shè)備應(yīng)用設(shè)計(jì)研發(fā)的UI開發(fā)框架,支撐開發(fā)者高效地構(gòu)建設(shè)備應(yīng)用U
    發(fā)表于 06-27 16:16

    國產(chǎn)系統(tǒng)重要突破!深開鴻KaihongOS率先連接HarmonyOS Next,實(shí)現(xiàn)生態(tài)互聯(lián)

    合作伙伴和OpenHarmony核心共建單位,其國產(chǎn)操作系統(tǒng)KaihongOS已經(jīng)成功與HarmonyOSNext實(shí)現(xiàn)了生態(tài)的互聯(lián)互通。作為基于OpenHarmon
    的頭像 發(fā)表于 06-25 11:24 ?999次閱讀
    國產(chǎn)系統(tǒng)重要突破!深開鴻KaihongOS率先連接<b class='flag-5'>HarmonyOS</b> Next,實(shí)現(xiàn)<b class='flag-5'>跨</b>生態(tài)互聯(lián)

    鴻蒙開發(fā):應(yīng)用組件設(shè)備交互(流轉(zhuǎn))【遷移

    遷移的核心任務(wù)是將應(yīng)用的當(dāng)前狀態(tài)(包括頁面控件、狀態(tài)變量等)無縫遷移到另一設(shè)備,從而在新設(shè)備上無縫接續(xù)應(yīng)用體驗(yàn)。這意味著用戶在一臺
    的頭像 發(fā)表于 06-11 17:10 ?1815次閱讀
    鴻蒙開發(fā):應(yīng)用組件<b class='flag-5'>跨</b><b class='flag-5'>設(shè)備</b>交互(流轉(zhuǎn))【<b class='flag-5'>跨</b>端<b class='flag-5'>遷移</b>】

    鴻蒙ArkTS聲明式開發(fā):平臺支持列表【分布式遷移標(biāo)識】 通用屬性

    組件的分布式遷移標(biāo)識,指明了該組件在分布式遷移場景下可以將特定狀態(tài)恢復(fù)到對端設(shè)備
    的頭像 發(fā)表于 06-07 21:15 ?573次閱讀