亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

軟總線是什么 剖析鴻蒙軟總線超詳細教程

華為麒麟 ? 來源:鴻蒙技術社區(qū) ? 作者:潤和軟件HiHope ? 2021-08-27 11:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

軟總線是什么?分布式軟總線是手機、平板、智能穿戴、智慧屏、車機等分布式設備的通信基座,為設備之間的互聯(lián)互通提供了統(tǒng)一的分布式通信能力。

本篇講到的知識點:

啟動遠程 FA(Feature Ability)

連接遠程 PA(Particle Ability),發(fā)送控制命令&遠端處理數(shù)據(jù)(場景 1:傳遞加法數(shù)據(jù),遠端計算后返回給客戶端。場景 2:傳遞數(shù)據(jù),遠端 Service 接收后更新遠端的 UI。)

FA 跨設備遷移(可回遷)

混合打包

其他奇怪的知識

技術要求和環(huán)境要求:

基本組件熟練使用,ServiceAbility,CommonEventManager(公共事件開發(fā))

兩臺 HarmonyOS 2.0 的真機 或 DevEco Studio 2.2 Beta1(分布式模擬器的自動開啟,可同時模擬運行兩臺設備,且自動組網(wǎng))。

獲取 DevEco Studio 2.2 Beta1:

https://developer.harmonyos.com/cn/develop/deveco-studio?utm_source=product&utm_medium=link&utm_campaign=DS&utm_content=2.1#download_beta

Service Ability:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ability-service-connecting-0000000000044469

公共事件開發(fā)指導:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ability-notification-fwk-common-event-0000000000029871

其他:

真機分布式通信要求:同一局域網(wǎng)內,登錄相同華為賬號,開啟藍牙(可行方案),這樣在設定-超級終端中附近我的設備即可查看到另外一臺設備。

分布式模擬器會自動組網(wǎng),不需要手動做其他操作。(設定的超級終端中看不出來已經(jīng)組網(wǎng)成功)

運行到真機上需要進行簽名,模擬器則不需要。

代碼下載

gitee HarmonySoftBus:

https://gitee.com/shmily_cl/HarmonySoftBus

github HarmonySoftBus:

https://github.com/cl18652469346/HarmonySoftBus

代碼結構:

adapter:DevicesListAdapter,用于向 ListContainer 控件中填充設備數(shù)據(jù)。

component:SelectDeviceDialog 封裝了設備選擇彈框。

proxy:定義了連接遠程和調用遠程 service(PA)的接口、實現(xiàn)類以及代理。

service:RemoteService 為被控制端 service,供手機端遠程調用。

申請權限

在 entrysrcmainconfig.json 中申請以下 4 個權限:

ohos.permission.DISTRIBUTED_DEVICE_STATE_CHANGE:用于允許監(jiān)聽分布式組網(wǎng)內的設備狀態(tài)變化。

ohos.permission.GET_DISTRIBUTED_DEVICE_INFO:用于允許獲取分布式組網(wǎng)內的設備列表和設備信息。

ohos.permission.GET_BUNDLE_INFO:用于查詢其他應用的信息。

ohos.permission.DISTRIBUTED_DATASYNC:用于允許不同設備間的數(shù)據(jù)交換。

此外,還需要在實現(xiàn) Ability 的代碼中顯式聲明需要使用多設備協(xié)同訪問的權限,示例代碼如下:

d76c9d46-00ee-11ec-9bcf-12bb97331649.png

獲取組網(wǎng)內在線的其他設備 DeviceInfo(Id&Name):

獲取自身設備的 Id:

d81adcee-00ee-11ec-9bcf-12bb97331649.png

啟動遠程 FA:

和普通畫面的啟動類似,withDeviceId(“”) 為本地畫面跳轉。

跨設備啟動需要攜帶遠程設備的 DeviceID,以及設置 “支持分布式調度系統(tǒng)中的多設備啟動”Flag。

連接遠程 PA,發(fā)送控制命令&遠端處理數(shù)據(jù)

第一步:客戶端創(chuàng)建遠程連接代理類

代碼如下:

public class MyRemoteProxy implements IRemoteBroker {

/**

* 遠端響應成功的標識

*/

public static final int ERR_OK = 0;

private static final String TAG = MyRemoteProxy.class.getSimpleName();

private final IRemoteObject remote;

public MyRemoteProxy(IRemoteObject remote) {

this.remote = remote;

}

@Override

public IRemoteObject asObject() {

return remote;

}

// 攜帶數(shù)據(jù)向遠端Sevice發(fā)送請求

public int senDataToRemote(int requestType, Map paramMap) {

MessageParcel data = MessageParcel.obtain();

MessageParcel reply = MessageParcel.obtain();

MessageOption option = new MessageOption(MessageOption.TF_SYNC);

int ec = 1;

int result = -1;

try {

if (paramMap.get(“inputString”) instanceof String) {

String inputString = (String) paramMap.get(“inputString”);

data.writeInt(requestType);

data.writeString(inputString);

remote.sendRequest(requestType, data, reply, option);

}

ec = reply.readInt();

if (ec != ERR_OK) {

LogUtils.error(TAG, “RemoteException:”);

} else {

if (requestType == ConnectManagerIml.REQUEST_PLUS) {

result = reply.readInt(); // 返回成功后拿到遠端計算的結果。

}

}

} catch (RemoteException e) {

LogUtils.error(TAG, “RemoteException:”);

} finally {

ec = ERR_OK;

if (result != -1) {

ec = result;

}

data.reclaim();

reply.reclaim();

}

return ec;

}

}

①實現(xiàn) IRemoteBroker 接口,asObject 返回遠程 RemoteObject 對象。

②創(chuàng)建構造方法(參數(shù)為 connectAbility 成功時回調方法 onAbilityConnectDone 中的遠程操作對象)。

③封裝向遠端發(fā)送請求的方法,便于后續(xù)進行控制(本例中是簡單的加法請求)。

d87da608-00ee-11ec-9bcf-12bb97331649.png

MessageOption.TF_SYNC 代表同步,意味著會在 sendRequest 時阻塞等待來自遠端 Service 的返回。

遠端 Service 返回值是 reply,reply.readInt() 默認會返回 0,代表請求成功。若是想攜帶其他返回值,需要在遠端 Service 中進行處理,下一步會講到。

第二步:遠端 Service 中,創(chuàng)建 RemoteObject 并處理請求

代碼如下:

public class MyRemote extends RemoteObject implements IRemoteBroker {

private MyRemote() {

super(“===MyService_Remote”);

}

@Override

public IRemoteObject asObject() {

return this;

}

@Override

public boolean onRemoteRequest(int code, MessageParcel data, MessageParcel reply, MessageOption option) {

LogUtils.info(TAG, “===onRemoteRequest.。。。。?!保?

int requestType = data.readInt();

String inputString = “”;

if (code == REQUEST_SEND_DATA) {

inputString = data.readString();

publishInput(requestType, inputString);

} else if (code == REQUEST_PLUS) {

int a = data.readInt();

int b = data.readInt();

reply.writeInt(ERR_OK);

reply.writeInt(a + b);

publishPlusResult(requestType, String.valueOf(a + b));

}

return true;

}

}

@Overrideprotected IRemoteObject onConnect(Intent intent) {

super.onConnect(intent);

return remote.asObject();

}

onRemoteRequest 接收來自 sendRequest(requestType,data,reply,option);傳遞過來的請求類型,數(shù)據(jù),返回值,請求類型。

一般不需要處理 reply,客戶端 reply.readInt() 也會拿到 0(表示請求成功),若是需要在遠端接收到請求后,需要額外返回數(shù)據(jù)給客戶端,則需要進行 write 操作。

第三步:連接遠端 Service

代碼如下圖:

d8a30600-00ee-11ec-9bcf-12bb97331649.png

重點都標記了下,這塊沒啥好講的,ServiceAbility 的基本連接操作。

第四步:發(fā)送命令,遠端 Service 處理數(shù)據(jù)(返回數(shù)據(jù)、更新 UI)

場景 1:傳遞加法數(shù)據(jù),遠端計算后返回給客戶端。

da01ebd8-00ee-11ec-9bcf-12bb97331649.png

場景 2:傳遞數(shù)據(jù),遠端 Service 接收后更新遠端的 UI。

da8d6a82-00ee-11ec-9bcf-12bb97331649.png

遠端 Service 在 onRemoteRequest 中處理更新 UI 的請求,遠端利用公共事件,進行 UI 的更新。(意味著也就可以控制音樂的播放,暫停等等)

dab68322-00ee-11ec-9bcf-12bb97331649.png

FA 跨設備遷移(可回遷)

跨端遷移開發(fā)指導:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/hop-cross-device-migration-guidelines-0000001146058939

目的:實現(xiàn)正在編輯的頁面,流轉的另外一臺設備,利用分布式的能力提高用戶的體驗。

步驟一

想要遷移的 Ability 以及其下所有的 AbilitySlice 都必須需要實現(xiàn)一個接口:IAbilityContinuation。

坑點 1:哪怕你知識想將 Ability 其中一個 Slice 進行遷移,也必須將 Ability 的所有的 slice 都要實現(xiàn)該接口。

onStartContinuation FA 請求遷移后,系統(tǒng)首先回調此方法,開發(fā)者可以在此回調中決策當前是否可以執(zhí)行遷移,比如,彈框讓用戶確認是否開始遷移。

onSaveData(IntentParams saveData)如果 onStartContinuation() 返回 true,則系統(tǒng)回調此方法,開發(fā)者在此回調中保存必須傳遞到目標端設備上,用于恢復 FA 狀態(tài)的數(shù)據(jù)。

onRestoreData(IntentParams restoreData)發(fā)起端設備上 FA 完成保存數(shù)據(jù)后,系統(tǒng)在目標端設備上回調此方法,開發(fā)者在此回調中接受用于恢復 FA 狀態(tài)的數(shù)據(jù)。

onCompleteContinuation(int result)目標端設備上恢復數(shù)據(jù)一旦完成,系統(tǒng)就會在發(fā)起端設備上回調 FA 的此方法,以便通知應用遷移流程已結束。

坑點 2:不要忘記 return true;Ability 中也要。

坑點 3:onRestoreData 進行 UI 的恢復時,需要切換到 UI 線程,否則。。。(沒報錯 Log)

步驟二

可回遷的遷移:

db9260fe-00ee-11ec-9bcf-12bb97331649.png

回遷(若是已經(jīng)回遷了,再進行回遷,會報錯。先 try-catch 了):

dbe903c8-00ee-11ec-9bcf-12bb97331649.png

混合打包

目前鴻蒙上的應用有以下三種:

直接運行的安卓應用。

使用 DevEco Studio 編寫的鴻蒙應用。

已有開發(fā)好的安卓應用,想擁有鴻蒙的一些特性,從而進行混合打包。apk 邏輯無需變化,即可擁有鴻蒙特性,例如服務卡片。

如何進行混合打包?篇幅原因,將會在另外一篇中詳細介紹。請移步:安卓應用如何混合打包擁有鴻蒙的卡片服務?

https://developer.huawei.com/consumer/cn/blog/topic/03637432111020021

奇怪的知識

針對:分布式數(shù)據(jù)服務開發(fā)指導。

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/database-mdds-guidelines-0000001113961404

①設計字段

單版本分布式數(shù)據(jù)庫的介紹比較簡單。存儲 key-value,value 若是復雜點沒介紹。若想 value 中存儲很多其他數(shù)據(jù),可進行以下操作。

dc018dee-00ee-11ec-9bcf-12bb97331649.png

以上時創(chuàng)建單版本分布式數(shù)據(jù)庫時,設置 Schema 對象,從而設計了數(shù)據(jù)庫中的字段。

②數(shù)據(jù)存儲

dc2e3254-00ee-11ec-9bcf-12bb97331649.png

存入的時候,需要以 json 的格式進行寫入。

③查詢

dc549cdc-00ee-11ec-9bcf-12bb97331649.png

坑點:下次查詢時,需要 query.reset();

編輯:jq

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

    關注

    10

    文章

    3007

    瀏覽量

    91118
  • 分布式
    +關注

    關注

    1

    文章

    1049

    瀏覽量

    76275
  • 代碼
    +關注

    關注

    30

    文章

    4929

    瀏覽量

    72779
  • 模擬器
    +關注

    關注

    2

    文章

    979

    瀏覽量

    45291
  • 鴻蒙
    +關注

    關注

    60

    文章

    2768

    瀏覽量

    45185
  • HiHope
    +關注

    關注

    0

    文章

    63

    瀏覽量

    4011

原文標題:鴻蒙軟總線,超詳細教程來啦!

文章出處:【微信號:Huawei_Kirin,微信公眾號:華為麒麟】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    國際亮相浙江開源鴻蒙生態(tài)發(fā)展大會

    2025年10月16日,由浙江省經(jīng)信廳主辦的首屆浙江開源鴻蒙生態(tài)發(fā)展大會在溫州國際云軟件谷成功舉辦。作為鴻蒙生態(tài)核心共建者,中國際受邀參會,與浙江省政產(chǎn)學研用各界精英,聚焦開源鴻蒙
    的頭像 發(fā)表于 10-18 15:51 ?751次閱讀

    國際攜手愛聚科技完成義烏鴻蒙生態(tài)合作簽約

    10月15日,中國際科技服務有限公司(以下簡稱“中國際”)聯(lián)合上海愛聚網(wǎng)絡科技有限公司(以下簡稱“愛聚科技”),與義烏市文化旅游發(fā)展有限公司正式簽署義烏全域鴻蒙生態(tài)智慧文旅合作協(xié)議。依托中
    的頭像 發(fā)表于 10-16 11:11 ?547次閱讀

    通動力助陣2025鴻蒙生態(tài)大會多場分論壇成功舉辦

    8月30—31日,在鴻蒙生態(tài)大會2025期間,通動力攜子公司鴻湖萬聯(lián)、通教育通過多場活動和分論壇,圍繞技術賦能、行業(yè)落地及生態(tài)協(xié)同等維度,展示了諸多創(chuàng)新產(chǎn)品與服務,彰顯了作為鴻蒙
    的頭像 發(fā)表于 09-04 09:22 ?533次閱讀

    國際鴻蒙生態(tài)“應用+智慧場景”的創(chuàng)新實踐

    8月31日,2025鴻蒙生態(tài)大會在深圳福田會展中心精彩繼續(xù)。應用的繁榮是鴻蒙生態(tài)發(fā)展壯大的基石,中國際已支撐各行業(yè)800款應用完成鴻蒙
    的頭像 發(fā)表于 09-03 17:01 ?719次閱讀

    國際亮相2025鴻蒙生態(tài)大會

    全球各地的3000余名行業(yè)專家、企業(yè)家、開發(fā)者、生態(tài)伙伴代表以及政府領導,共同見證與分享鴻蒙生態(tài)在實際場景中的深度落地。中國際聯(lián)合深開鴻、中國際教育集團,在大會現(xiàn)場展示了多款鴻蒙
    的頭像 發(fā)表于 09-01 11:50 ?541次閱讀

    通動力亮相2025鴻蒙生態(tài)大會

    8月29日,由全球智慧物聯(lián)網(wǎng)聯(lián)盟(GIIC)主辦、鴻蒙生態(tài)服務(深圳)有限公司承辦的“鴻蒙生態(tài)大會2025”在深圳召開。作為鴻蒙生態(tài)建設先鋒企業(yè),通動力攜子公司鴻湖萬聯(lián)、
    的頭像 發(fā)表于 09-01 11:26 ?498次閱讀

    國際助力打造甘肅省首個鴻蒙生態(tài)智慧文旅平臺

    近日,中國際科技服務有限公司(以下簡稱“中國際”)聯(lián)合上海愛聚網(wǎng)絡科技有限公司(以下簡稱“愛聚科技”),與甘肅省武威市文體廣電和旅游局正式簽署華為鴻蒙生態(tài)智慧文旅合作框架協(xié)議,共同啟動「樂游武威
    的頭像 發(fā)表于 07-25 14:28 ?593次閱讀

    通動力聯(lián)合華為云舉辦2025云動鴻蒙協(xié)同峰會

    近日,通動力聯(lián)合華為云主辦的“2025云動鴻蒙協(xié)同峰會”在昆明順利舉行。期間,生態(tài)伙伴齊聚一堂,共同見證通動力與華為云“同舟共濟”戰(zhàn)略合作八周年,并正式啟動“云動鴻蒙計劃2.0”。
    的頭像 發(fā)表于 07-11 11:08 ?1280次閱讀

    國際攜手產(chǎn)業(yè)伙伴共譜鴻蒙生態(tài)新篇章

    近日,中國際科技服務有限公司(以下簡稱中國際)作為組長單位,策劃組織的“GIIC聯(lián)盟鴻蒙生態(tài)推委會產(chǎn)業(yè)發(fā)展組2025年啟動會”在聯(lián)盟總部深圳福田保稅區(qū)深港國際科技園成功召開。
    的頭像 發(fā)表于 02-27 14:18 ?938次閱讀

    WRABS20M恢復橋手冊

    電子發(fā)燒友網(wǎng)站提供《WRABS20M恢復橋手冊.pdf》資料免費下載
    發(fā)表于 01-09 13:39 ?0次下載

    國際榮獲鴻蒙生態(tài)開發(fā)服務商卓越獎

    近日,2024年鴻蒙生態(tài)型服務商年終總結會議在云南昆明盛大召開,中國際應邀出席,與上百家開發(fā)服務商、培訓服務商及鴻蒙生態(tài)行業(yè)伙伴齊聚一堂,共同分享HarmonyOS行業(yè)解決方案的創(chuàng)新實踐,探討企業(yè)
    的頭像 發(fā)表于 12-27 16:35 ?1010次閱讀

    通動力出席原生鴻蒙使能徐州專場推介會

    近日,由通動力、鴻蒙生態(tài)服務(深圳)有限公司、徐州報業(yè)傳媒集團聯(lián)合華為開發(fā)者聯(lián)盟舉辦的“鴻蒙啟智·漢韻徐州:原生鴻蒙使能徐州專場推介會”隆重召開。會上,
    的頭像 發(fā)表于 12-10 09:42 ?995次閱讀

    通動力攜子公司鴻湖萬聯(lián)、通教育助陣首屆鴻蒙生態(tài)大會成功舉辦

    11月23日·中國深圳,首屆鴻蒙生態(tài)大會上,通動力及通動力子公司鴻湖萬聯(lián)作為全球智慧物聯(lián)網(wǎng)聯(lián)盟(GIIC)理事單位、鴻蒙生態(tài)服務(深圳)有限公司戰(zhàn)略合作伙伴,聯(lián)合
    的頭像 發(fā)表于 11-29 10:25 ?962次閱讀
    <b class='flag-5'>軟</b>通動力攜子公司鴻湖萬聯(lián)、<b class='flag-5'>軟</b>通教育助陣首屆<b class='flag-5'>鴻蒙</b>生態(tài)大會成功舉辦

    國際攜手深開鴻亮相首屆鴻蒙生態(tài)大會

    近日,由鴻蒙生態(tài)服務(深圳)有限公司承辦的全球智慧物聯(lián)網(wǎng)聯(lián)盟(GIIC)第二次會員大會暨“新生態(tài)·新機遇”鴻蒙生態(tài)大會在深圳盛大召開,中國際科技服務有限公司(簡稱“中國際”)攜手深
    的頭像 發(fā)表于 11-26 14:16 ?940次閱讀

    通動力為鴻蒙生態(tài)大步向前注入了新動能

    近日,首屆鴻蒙生態(tài)大會上,通動力及子公司鴻湖萬聯(lián)作為全球智慧物聯(lián)網(wǎng)聯(lián)盟(GIIC)理事單位、鴻蒙生態(tài)服務(深圳)有限公司戰(zhàn)略合作伙伴,聯(lián)合通教育深度參與了大會多項重磅活動。此次盛會
    的頭像 發(fā)表于 11-24 11:16 ?1235次閱讀