国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

原子化服務的官方解析來啦~

話說科技 ? 來源:話說科技 ? 作者:話說科技 ? 2021-08-30 14:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一直關注我們的小伙伴們肯定聽說過“原子化服務”了,可能有些小伙伴還聽說過“元服務”。元服務,其實就是原子化服務。那么原子化服務到底是什么,權威的官方解析來啦~

一、原子化服務是什么?

我們日常生活中已經習慣了應用的概念,而原子化服務是HarmonyOS面向未來提供的一種用戶程序形態(tài)。為什么需要一種新的用戶程序形態(tài)呢?

傳統(tǒng)的應用是以設備為中心,使用前必須手動安裝應用,這樣導致應用像生了根一樣,牢牢的固定在某個設備上。而在萬物互聯(lián)的時代,人均持有設備量不斷攀升,設備和場景的多樣性,每個設備都需要獨立開發(fā)一個應用,先安裝后使用、不同設備的能力不兼容等傳統(tǒng)應用的短板逐步暴露出來。在此背景下,應用提供方和用戶都迫切需要一種新的服務提供方式,使應用開發(fā)更簡單、服務(如聽音樂、打車等)的獲取和使用更便捷,原子化服務也就此誕生。

那么原子化服務到底是什么呢?

原子化服務是HarmonyOS提供的一種面向未來的服務方式,是有獨立入口的(用戶可通過點擊方式直接觸發(fā))、免安裝的(無需顯式安裝,由系統(tǒng)后臺安裝后即可使用)、可為用戶提供一個或多個便捷服務的用戶應用程序形態(tài)。

例如:傳統(tǒng)方式的購物應用,在按照原子化服務理念調整設計后,可以由多個服務直達、免安裝的原子化服務實現,比如“商品瀏覽”、“購物車”、“支付”等。

a08b87d6277f9e2f355f02f4abbeee2db999f37f.jpeg?token=c7b5622f1db475a8c7d3afcfd6eb5149

帶您體驗原子化服務

下面讓我?guī)w驗一下原子化服務,幫助大家更好地了解原子化服務到底是什么樣的。

2.1多種入口

我們可以通過多種方式發(fā)現原子化服務:

一種為NFC標簽,另一種為多功能碼。NFC標簽為物理打印標簽,支持手機碰一碰使用相應服務。多功能碼可以為物理打印的標簽,支持手機碰一碰及掃一掃使用相應服務,也可以為屏幕上呈現的電子標簽,支持掃一掃。多功能碼有兩種樣式,分別用于跨設備體驗和三方服務。

2.用戶也可以在設備的服務中心、桌面等地方發(fā)現并管理原子化服務。

342ac65c10385343a407f8f3219db777c88088ab.jpeg?token=10192c9918635900bf27601b7d1814e1

3.原子化服務可以基于合適場景被主動推薦給用戶使用;用戶也可以在服務中心和小藝建議中發(fā)現系統(tǒng)推薦的服務。

說明:“小藝”是語音助手在華為設備中的名字。小藝可以回答用戶的問題、控制家居設備、執(zhí)行用戶的日常任務等;而且,小藝可以通過不同設備感知用戶的使用場景,推薦用戶可能需要的服務。

2.2服務卡片

與傳統(tǒng)應用不同,原子化服務在設備桌面沒有應用圖標,是通過服務卡片的形式將重要信息展示在服務中心或者桌面。用戶點擊服務卡片,即可進入原子化服務的服務界面。

服務卡片的核心理念在于提供用戶容易使用且一目了然的信息內容,將智慧化能力融入到服務卡片的體驗中供用戶選擇使用,同時滿足在不同終端設備上的展示和自適應。

91529822720e0cf3b346671cb3c8f516bf09aa3f.jpeg?token=991d23a1cbcf02cc1d8100b39752cbb1

值得注意的是,原子化服務和HarmonyOS應用都支持服務卡片。對于原子化服務,服務卡片是必選的,每個原子化服務至少有一個服務卡片。而對于HarmonyOS應用,服務卡片是可選配置。

說明:HarmonyOS應用,即運行在HarmonyOS系統(tǒng)上且具備HarmonyOS特性的應用。

2.3服務流轉

原子化服務支持運行在1+8+N設備上。

“1”代表手機

“8”代表平板、智慧屏、音箱、眼鏡、手表、車機、耳機、PC

“N”代表運動健康、智能家居、智慧出行、智慧辦公、影音娛樂等場景延伸的泛IoT設備。

原子化服務的流轉能力打破設備界限,多設備聯(lián)動,使原子化服務可分可合、可流轉,實現如郵件跨設備編輯、多設備協(xié)同健身、多屏游戲等分布式業(yè)務。

原子化服務的流轉觸發(fā)方式有兩種:系統(tǒng)推薦流轉和用戶手動流轉。

①系統(tǒng)推薦流轉:用戶使用原子化服務時,如果所處環(huán)境中存在使用體驗更優(yōu)的可選設備,則系統(tǒng)自動為用戶推薦該設備,用戶可確認是否啟動流轉。

0e2442a7d933c895851c71da629d74f98302004c.jpeg?token=3abd355c7b7c5d69cbcb582bd8ab0cf5

②用戶手動流轉:用戶可以手動選擇合適的設備進行流轉。用戶點擊圖標后,會調起系統(tǒng)提供的流轉面板。面板中會展示出原子化服務的信息及可流轉的設備,引導用戶進行后續(xù)的流轉操作。

d62a6059252dd42a06f852bbb4b55cbcc8eab840.jpeg?token=006080ac711106e33c2f58197f32b4d8

2.4服務分享

原子化服務所提供的便捷服務,可以通過接入華為分享實現近距離快速分享,使便捷服務可以精準快速的推送至接收方,降低用戶觸達服務的成本,提升用戶體驗。相比于傳統(tǒng)的社交軟件分享,分享雙方無需建立好友關系,接收方無需提前安裝承載服務的安裝包,即可享受原生的服務體驗。

用戶可在原子化服務內選擇分享,打開“華為分享”開關后,將原子化服務分享給附近同樣打開了“華為分享”開關的好友,好友點擊確認后直接啟動服務。下圖是通過“華為分享”分享購物類原子化服務的典型場景。

a1ec08fa513d269737873e24ef75b5f24216d88e.jpeg?token=99d81e60e047ddcf8dccfc57a71477d9

原子化服務的優(yōu)勢在哪里?

3.1一次開發(fā),多端部署

對于開發(fā)者而言,原子化服務只需開發(fā)一次,便可以部署在各種HarmonyOS終端上,大大降低了開發(fā)成本。

對于傳統(tǒng)的APP軟件開發(fā)者來說,一個繞不開的煩惱就是同一個APP需要分別針對不同的設備進行適配。比如程序員在手機上開發(fā)了一款應用,針對手表需要重新適配、發(fā)布到手表的應用市場;針對大屏適配后,再發(fā)布到大屏的應用市場,嚴重影響了應用的開發(fā)效率和變現能力。

HarmonyOS在架構設計之初,就提出了一次構建支持多端部署的架構設計原則。HarmonyOS通過提供用戶程序框架、Ability框架以及UI框架,能夠保證開發(fā)的應用在多終端運行時保證一致性。多終端軟件平臺API具備一致性,確保用戶程序的運行兼容性。如此一來,開發(fā)者僅需為不同形態(tài)的設備配置不同參數,IDE就能夠自動生成支持多設備分發(fā)的APP包。APP包上架應用市場后,應用市場會自動按照設備類型進行HAP包的拆分、組裝和分發(fā),進而端到端實現了一次開發(fā),支持多端部署的設計。

9922720e0cf3d7ca287823454c91b9006a63a98a.jpeg?token=84c3ef3abe1bdd88318918f86e7da4d6

具體流程如下:

1. 開發(fā)階段,IDE基于包格式編譯打包支持多設備的應用包。

2. 上架到應用市場。

3. 在云側對App進行拆包,部署到CDN(Content Delivery Network,內容分發(fā)網絡),包信息同步到服務分發(fā)中心。

4. 端側運行過程中,根據自身設備類型獲取相應的HAP及整體摘要信息。

3.2免安裝,秒級打開

消費者不感知安裝過程和卸載過程,體驗全新升級。

HarmonyOS 原子化服務是輕量化服務的新物種,它提供了全新的服務和交互方式。用戶在使用原子化服務時,如果服務未部署,系統(tǒng)將通過云端自動部署服務,部署成功后即可使用對應服務。例如,在服務中心點擊服務卡片,原子化服務通過免安裝能力完成部署和運行,實現服務直達的業(yè)務體驗。無須用戶跳轉到傳統(tǒng)的應用分發(fā)市場,搜索下載目標應用,使得在設備上部署應用更加快速。

隨著分布式場景生態(tài)的豐富,原子化服務要始終以人為中心,在不同設備間流轉。當用戶走到大屏設備前,手機上的視頻電話可以流轉到大屏溝通,當用戶走到電腦前,手機和電腦可以協(xié)同辦公,原子化服務能夠在不干擾用戶的情況下完成了自動部署,同時,系統(tǒng)會智能地清理已部署的低頻服務。

這就是原子化服務的免安裝能力,一方面提升開發(fā)者上架應用的分發(fā)效率和轉化率,一方面提升消費者的服務體驗,減少安裝過程對用戶的干擾。

3.3以人為中心,分布式流轉

分布式流轉是實現原子化服務以人為中心的核心技術。

隨著5G和IoT設備的發(fā)展,個人擁有了多個智能設備也逐步成為主流場景。手機、筆記本、PAD、電視、運動手表、耳機、冰箱、抽油煙機、智能門鎖等這類智能設備在搭載HarmonyOS系統(tǒng)后,通過分布式軟總線連接起來,就可以形成一個超級的終端。不同的設備之間,通過重新業(yè)務組合,可以形成新的用戶體驗。

例如:用戶坐在書桌前用手機觀看視頻,又希望轉移到客廳,坐在沙發(fā)上用大屏繼續(xù)視頻的觀看。業(yè)界大多采用投屏的方案實現,如DLNA、Cast+等。而原子化服務采用的分布式組件流轉的技術,簡單來講,就是HarmonyOS系統(tǒng)管理著原子化服務進程實體的上下文環(huán)境(打開的文件句柄,硬件,運行狀態(tài)),并對上下文數據進行跨設備的備份、傳輸和恢復。如下圖示意:

4a36acaf2edda3ccaaf36c1cbb673e08213f920b.jpeg?token=9010e43cb0dd2e6a6fa1348249396844

對于用戶來說,流轉操作應當是便捷的,高效的,無副作用的。用戶可以進行反復流轉,應用實體能夠始終維持其狀態(tài)。為了保證用戶交互的一致性,流轉的入口由系統(tǒng)統(tǒng)一提供。對于應用程序的一致性,由開發(fā)者維護。例如:當應用從手機遷移到大屏之后,其控件、樣式、布局等方面應當盡可能保持一致。但“一致”不意味著“一樣”:針對手機,平板電腦或者大屏各自屏幕的特征,其用戶界面應當做好相應的適配。

3.4對比App Clips和小程序,有什么優(yōu)勢?

App Clips和小程序本質上都是針對服務線上化、交易閉環(huán)的場景在定義產品,天然追求隨處可及和服務直達的特性。原子化服務與之相比,有以下優(yōu)勢:

1. 原子化服務是面向未來超級終端的服務形態(tài),覆蓋更廣泛的IoT設備,具備1+8+N設備兼容的API接口,這也是原子化服務相比APP Clips和小程序更具競爭力的根基。

2. 原子化服務是基于分布式全場景體驗目標而設計的,也是與App Clips和小程序在設計理念上的最大不同。HarmonyOS提供了超強的分布式能力,能夠讓開發(fā)者快速實現一個分布式業(yè)務。

3. 原子化服務有服務中心、碰一碰、掃一掃、卡片分享、流轉業(yè)務觸發(fā)等相比App Clips和小程序更為豐富的入口, 支持服務快速直達。

如何開發(fā)原子化服務?

相信很多的開發(fā)者小伙伴們更為關注的是如何開發(fā)原子化服務,下面我們就來介紹。

4.1總體開發(fā)要求

1. 原子化服務的所有HAP包均需要滿足免安裝要求。

2. 免安裝的HAP包不能超過10MB。

3. 原子化服務升級時,新版本也要保持免安裝屬性。

4. 目前支持免安裝的HAP的設備類型有:手機、平板、智慧屏、智能穿戴,版本均需要在HarmonyOS 2版本及以上。

5. 原子化服務如果要在服務中心露出,則需要滿足:

該服務對應的HAP包需要包含FA,且指定唯一的一個“MainAbility”作為用戶操作入口。

需要配置一個小尺寸服務卡片(2*2規(guī)格),以及配置基礎信息:如圖標、名稱、描述、快照等。

原子化服務的詳細設計說明,可以參考官網:

https://developer.harmonyos.com/cn/docs/design/des-guides/service-overview-0000001139795693

4.2開發(fā)工具

HUAWEI DevEco Studio(以下簡稱DevEco Studio)是基于IntelliJ IDEA Community開源版本打造,面向華為終端全場景多設備的一站式集成開發(fā)環(huán)境(IDE),為開發(fā)者提供工程模板創(chuàng)建、開發(fā)、編譯、調試、發(fā)布等E2E的HarmonyOS應用開發(fā)服務。

DevEco Studio下載鏈接:

https://developer.harmonyos.com/cn/develop/deveco-studio#download

我們使用DevEco Studio工具來開發(fā)原子化服務。該工具的詳細使用說明,可以參考官網:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/tools_overview-0000001053582387

4.3開發(fā)過程及注意點

1. 創(chuàng)建工程

(1) 運行DevEco Studio工具,在菜單欄選擇File > New > New Project。

(2) 根據工程創(chuàng)建向導,選擇需要的Ability工程模板,然后點擊Next。

(3) 配置工程的基本信息。

11385343fbf2b2116058070a790e62310dd78e9c.jpeg?token=5cd39fd3857042446ecbfc30c2990963

Project Name:工程的名稱,可以自定義。

Project Type:工程的類型,Service表示原子化服務,Application表示傳統(tǒng)方式的需要安裝的應用。因為要創(chuàng)建原子化服務工程,這里選擇Service。

Device Type:根據需要選擇該工程支持的設備類型。支持多選。

注:如果勾選了TV,則下面的“Show in Service Center”會消失。

Show in Service Center:是否在服務中心露出。開啟此開關,則默認創(chuàng)建一張小尺寸(2x2)服務卡片和快照。

(4) 點擊Finish,工具會自動生成示例代碼和相關資源,等待工程創(chuàng)建完成。

2. 工程配置

(1) config.json配置文件

每個HAP的根目錄下都存在一個config.json配置文件,文件內容主要涵蓋以下三個方面:

應用的全局配置信息,包含應用的包名、生產廠商、版本號等基本信息。

應用在具體設備上的配置信息,包含應用的備份恢復、網絡安全等能力。

HAP包的配置信息,包含每個Ability必須定義的基本屬性(如包名、類名、類型以及Ability提供的能力),以及應用訪問系統(tǒng)或其他應用受保護部分所需的權限等。

工程創(chuàng)建完成之后,config.json文件默認包含以下配置內容。

① 免安裝配置信息

"distro": { "deliveryWithInstall": true, "moduleName": "entry", "moduleType": "entry", "installationFree": true }

installationFree為true表示該HAP是免安裝的。

② 服務卡片配置信息

由于創(chuàng)建工程時開啟了Show in Service Center開關,所以默認配置了此信息。

"abilities": [

{

"skills": [

...

],

"name": "com.example.atomicservicedemo.MainAbility",

"icon": "$media:icon",

"description": "$string:mainability_description",

"formsEnabled": true,

"label": "$string:app_name",

"type": "page",

"forms": [

{

"jsComponentName": "widget",

"isDefault": true,

"scheduledUpdateTime": "10:30",

"defaultDimension": "2*2",

"name": "widget",

"description": "$string:widget_description",

"colorMode": "auto",

"type": "JS",

"supportDimensions": [

"2*2"

],

"updateEnabled": true,

"updateDuration": 1

}

],

"launchType": "standard"

}

]

config.json文件的詳細說明,可以參考官網:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/basic-config-file-elements-0000000000034463

快照

創(chuàng)建工程時,如果開啟了Show in Service Center開關,工程創(chuàng)建完成后會在工程目錄下自動生成快照(EntryCard)文件夾。如下圖所示:

2934349b033b5bb5120ba0f7895dd230b700bc77.jpeg?token=6ec5c1b857ef20fd405f72432e0d5efb

此文件夾下默認生成了一張2x2(小尺寸)的快照(一張png格式的圖片)。開發(fā)者可以將其替換為事先設計好的2x2快照,樣式上應與對應的服務卡片保持一致:將新的快照拷貝到上圖目錄下,刪除默認圖片,新圖片命名遵循格式“服務卡片名-2x2.png”。

說明:“服務卡片名”可以查看config.json文件的forms數組中的“name”字段。

3. 開發(fā)原子化服務

之前的推文中,我們已經介紹過服務卡片的開發(fā),此處不再贅述,點擊下方文字即可。

一文看懂HarmonyOS服務卡片運行原理和開發(fā)方法

我們重點介紹一下如何將原子化服務接入到華為分享。

JAVA工程為例,開發(fā)步驟如下:

① 新建兩個idl文件,用于和華為分享進行跨進程通信

IHwShareCallback.idl文件:

interface com.huawei.hwshare.third.IHwShareCallback {

[oneway] void notifyState([in] int state);

}

IHwShareService.idl文件:

sequenceable ohos.interwork.utils.PacMapEx;

interface com.huawei.hwshare.third.IHwShareCallback;

interface com.huawei.hwshare.third.IHwShareService {

int startAuth([in] String appId, [in] IHwShareCallback callback);

int shareFaInfo([in] PacMapEx pacMapEx);

}

開發(fā)者只需將.idl文件保存至DevEco Studio項目的src/目錄內,工具則會在構建應用時,在項目的generated/目錄中生成IRemoteObject接口文件、Stub文件、Proxy文件。IHwShareCallback.idl文件和IHwShareService.idl文件會生成對應的IHwShareCallback.java和IHwShareService.java。

② 新建一個管理類“ShareAtomicServiceManager.java”,用于管理與華為分享的跨進程通信。

這里對外暴露一個接口:

public void shareFaInfo(String appId, PacMapEx pacMap) {

if (mContext == null) {

return;

}

mAppId = appId;

mSharePacMap = pacMap;

mHandler.removeTask(mTask);

shareFaInfo();

bindShareService();

}

appId是應用在應用市場的唯一標識,在創(chuàng)建項目時生成。

pacMap是需要傳遞給華為分享的信息。

shareFaInfo()用于分享FA信息到華為分享應用中,代碼如下:

private void shareFaInfo() {

if (mShareService == null) {

return;

}

if (mHasPermission) {

HiLog.info(LABEL_LOG, LOG_FORMAT, TAG, "start shareFaInfo.");

try {

mShareService.shareFaInfo(mSharePacMap);

mSharePacMap = null;

} catch (RemoteException e) {

HiLog.error(LABEL_LOG, LOG_FORMAT, TAG, "shareFaInfo error.");

}

}

// 不使用時斷開

mHandler.postTask(mTask, UNBIND_TIME);

}

其中,mTask用于執(zhí)行斷連的操作:

private final Runnable mTask = () -> {

if (mContext != null && mShareService != null) {

mContext.disconnectAbility(mConnection);

mHasPermission = false;

mShareService = null;

}

};

另外,綁定華為分享服務的代碼如下:

private void bindShareService() {

if (mShareService != null) {

// 保證僅連一次。

return;

}

HiLog.info(LABEL_LOG, LOG_FORMAT, TAG, "start bindShareService.");

Operation operation = new Intent.OperationBuilder().withBundleName(SHARE_PKG_NAME)

.withAction(SHARE_ACTION).withFlags(Intent.FLAG_NOT_OHOS_COMPONENT).build();

Intent intent = new Intent();

intent.setOperation(operation);

mContext.connectAbility(intent, mConnection);

其中,mConnection的定義如下:

// 管理與華為分享的連接 private final IAbilityConnection mConnection = new IAbilityConnection() {@Override public void onAbilityConnectDone(ElementName elementName,IRemoteObjectiRemoteObject,int i) {HiLog.error(LABEL_LOG, LOG_FORMAT,TAG,"onAbilityConnectDonesuccess."); mHandler.postTask(()->{mShareService = new HwShareServiceProxy(iRemoteObject); try {mShareService.startAuth(mAppId, mFaCallback); } catch (RemoteException e) {HiLog.error(LABEL_LOG,LOG_FORMAT,TAG,"startAuth error."); }});} @Override public void on AbilityDisconnectDone(ElementName elementName, int i) {HiLog.info(LABEL_LOG,LOG_FORMAT,TAG,"onAbilityDisconnectDone."); mHandler.postTask(()->{mShareService=null;mHasPermission=false;});}};

mShareService.startAuth(mAppId, mFaCallback)是對appId進行驗證,驗證成功之后會通過mFaCallback回調。

mFaCallback的代碼如下:

private final HwShareCallbackStub mFaCallback = new HwShareCallbackStub("HwShareCallbackStub") {

@Override

public void notifyState(int state) throws RemoteException {

mHandler.postTask(()->{

HiLog.info(LABEL_LOG, LOG_FORMAT, TAG, "notifyState: " + state);

if (state == 0) {

mHasPermission = true;

if (mSharePacMap != null) {

shareFaInfo();

}

}

});

}

};

state為0時表示認證通過,可以進行分享。

③ 在MainAbilitySlice.java中,調用連接華為分享的接口:

ShareAtomicServiceManager.getInstance(this).shareFaInfo("629005930163350400", getPacMap());

"629005930163350400"是appId,每個應用不一樣,需要替換成應用自己的appId。getPacMap是獲取需要分享的內容封裝方法。

private PacMapEx getPacMap() {

PacMapEx pacMap = new PacMapEx();

pacMap.putObjectValue(ShareAtomicServiceManager.SHARING_FA_TYPE, 0);

pacMap.putObjectValue(ShareAtomicServiceManager.HM_BUNDLE_NAME, getBundleName());

pacMap.putObjectValue(ShareAtomicServiceManager.SHARING_EXTRA_INFO, "原子化服務分享額外內容");

pacMap.putObjectValue(ShareAtomicServiceManager.HM_ABILITY_NAME, MainAbility.class.getName());

pacMap.putObjectValue(ShareAtomicServiceManager.SHARING_CONTENT_INFO, "原子化服務通過華為分享的內容");

byte[] sharedContentImg = getResourceBytes(ResourceTable.Media_share_conteng_img);

pacMap.putObjectValue(ShareAtomicServiceManager.SHARING_THUMB_DATA, sharedContentImg);

byte[] iconImg = getResourceBytes(ResourceTable.Media_icon);

pacMap.putObjectValue(ShareAtomicServiceManager.HM_FA_ICON, iconImg);

pacMap.putObjectValue(ShareAtomicServiceManager.HM_FA_NAME, getString(ResourceTable.String_app_name));

return pacMap;

}

其中,常量的定義如下:

public static final String HM_FA_ICON = "ohos_fa_icon";

public static final String HM_FA_NAME = "ohos_fa_name";

public static final String HM_ABILITY_NAME = "ohos_ability_name";

public static final String HM_BUNDLE_NAME = "ohos_bundle_name";

public static final String SHARING_FA_TYPE = "sharing_fa_type";

public static final String SHARING_THUMB_DATA = "sharing_fa_thumb_data";

public static final String SHARING_CONTENT_INFO = "sharing_fa_content_info";

public static final String SHARING_EXTRA_INFO = "sharing_fa_extra_info";

常量含義說明如下:

54fbb2fb43166d220a831911f5ad0efe9252d2d2.jpeg?token=b58c2e7a2e0ac4894571dbe296ab147c

對于圖片資源的解析可以參考如下:

private byte[] getResourceBytes(int resId) {

InputStream resource = null;

ByteArrayOutputStream outStream = null;

try {

resource = getResourceManager().getResource(resId);

outStream = new ByteArrayOutputStream();

byte[] buffer = new byte[1024];

int len;

while ((len = resource.read(buffer)) != -1) {

outStream.write(buffer, 0, len);

}

outStream.close();

resource.close();

return outStream.toByteArray();

} catch (IOException e) {

HiLog.error(TAG, "get resource occurs io exception!");

} catch (NotExistException e) {

HiLog.error(TAG, "it dose not exist!");

} finally {

if (resource != null) {

try {

resource.close();

} catch (IOException e) {

HiLog.error(TAG, "close input stream occurs io exception!");

}

}

if (outStream != null) {

try {

resource.close();

} catch (IOException e) {

HiLog.error(TAG, "close output stream occurs io exception!");

}

}

}

return null;

}

大家也可以參考官網上接入華為分享的開發(fā)指導:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/huawei-share-service-sharing-guidelines-0000001141302387

運行工程

在虛擬機或者真機運行創(chuàng)建的工程之后,會顯示原子化服務的主界面(即服務界面)。但是在桌面找不到原子化服務圖標,因為原子化服務在桌面是沒有icon的。可以在服務中心通過搜索原子化服務的名稱找到該原子化服務,將其服務卡片添加到桌面。

原子化服務接入華為分享的運行結果,需要準備兩臺HarmonyOS手機,且其系統(tǒng)軟件版本不低于HarmonyOS 2。

503d269759ee3d6dad833094f0986a2b4e4ade44.jpeg?token=1b89c7f10d57161e08bf69104efa2655

以上就是本期原子化服務的介紹了,你get到了嗎?期待更多的開發(fā)者小伙伴們加入我們,開啟您的原子化服務開發(fā)之旅哦~

fqj

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

    關注

    2

    文章

    455

    瀏覽量

    34852
  • HarmonyOS
    +關注

    關注

    80

    文章

    2153

    瀏覽量

    36037
  • 原子化服務
    +關注

    關注

    0

    文章

    31

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    原子鐘與CPT原子鐘有哪些區(qū)別呢

    在物理學的世界中,精密的時間測量是至關重要的。這就需要一個高度準確且穩(wěn)定的時間標準,這就是原子鐘。今天我們將探討兩種重要的原子鐘:銣原子鐘和CPT原子鐘,以及它們之間的主要區(qū)別。首先,
    的頭像 發(fā)表于 02-12 17:26 ?6794次閱讀
    銣<b class='flag-5'>原子</b>鐘與CPT<b class='flag-5'>原子</b>鐘有哪些區(qū)別呢

    模塊高精度銣原子鐘存在的意義

    在時頻計量領域,銣原子鐘以其穩(wěn)定性和可靠性成為通信、導航、科研等領域的核心設備。西安同步電子科技有限公司的SYN3306型高性能銣原子鐘,通過將10MHz輸出設計為模塊結構,實現了從“單一功能設備
    的頭像 發(fā)表于 01-21 19:09 ?109次閱讀

    時間基準的核心力量:低相噪銣原子振蕩時鐘的多領域應用解析

    關鍵詞:銣原子鐘、銣原子振蕩器、銣原子時鐘、低相噪銣原子鐘 在數字浪潮席卷全球的今天,時間頻率的精準度已成為衡量科技實力的核心指標之一。西
    發(fā)表于 01-16 10:20

    原子級潔凈的半導體工藝核心是什么

    原子級潔凈的半導體工藝核心在于通過多維度技術協(xié)同,實現材料去除精度控制在埃米(?)量級,同時確保表面無殘留、無損傷。以下是關鍵要素的系統(tǒng)性解析:一、原子層級精準刻蝕選擇性化學腐蝕利用氟基氣體(如CF?、C?F?)與硅基材料的特異
    的頭像 發(fā)表于 01-04 11:39 ?254次閱讀
    <b class='flag-5'>原子</b>級潔凈的半導體工藝核心是什么

    芯片原子鐘應用哪些領域

    在現代科技的快速發(fā)展中,時間精度的重要性日益凸顯。無論是通信、導航,還是科學研究,精準的時間同步都是不可或缺的。而芯片原子鐘作為一種高精度計時設備,正以其小型、低功耗和高穩(wěn)定性的特點,逐漸成為多個
    的頭像 發(fā)表于 12-18 15:42 ?487次閱讀
    芯片<b class='flag-5'>原子</b>鐘應用哪些領域

    精準計時的工業(yè)基石——高精度銣原子頻率標準深度應用解析原子頻率標準

    在數字時代的精密協(xié)作體系中,時間頻率的同步精度直接決定著工業(yè)生產、科學研究與公共服務的運行質量。西安同步電子科技有限公司自主研發(fā)的SYN3102型銣原子頻率標準,以銣原子量子躍遷的天然穩(wěn)定性為核心將
    的頭像 發(fā)表于 11-10 17:44 ?1401次閱讀
    精準計時的工業(yè)基石——高精度銣<b class='flag-5'>原子</b>頻率標準深度應用<b class='flag-5'>解析</b> 銣<b class='flag-5'>原子</b>頻率標準

    發(fā)布元服務配置本地基礎信息(應用名稱、圖標)

    您可以添加元服務支持的語言,并配置對應語言的本地信息。 例如,當您設置簡體中文為默認語言,并且只配置中文的本地信息,那么元服務在所有設置的發(fā)布國家或地區(qū)的信息都將顯示中文。如果您還
    發(fā)表于 10-24 17:42

    【今晚7點半】正點原子 x STM32:智能加速邊緣AI應用開發(fā)!今晚正點原子B站直播間等你

    。本次直播正點原子將與ST一起,聚焦STM32N6微控制器與STM32MP2多核處理器,深入解析其核心架構與AI算力表現,全面展示其在智能家居以及機器人等領域的應用實踐。 本次直播由正點原子與合作伙伴
    發(fā)表于 09-25 14:14

    【內測活動同步開啟】這么小?這么強?新一代大模型MCP開發(fā)板來啦

    【內測活動同步開啟】這么小?這么強?新一代大模型MCP開發(fā)板來啦! 聆思全新一代六合一芯片「LS26系列」,搭載WIFI / BLE & BT / NPU,與「小聆AI」強強聯(lián)合
    發(fā)表于 09-25 11:47

    什么是服務器虛擬?一文讀懂原理、優(yōu)勢與實戰(zhàn)部署

    什么是服務器虛擬?當企業(yè)服務器CPU利用率長期低于15%,卻仍需不斷采購新硬件應對業(yè)務增長時,一場基礎設施領域的革命早已悄然發(fā)生——服務器虛擬
    的頭像 發(fā)表于 08-25 10:52 ?1188次閱讀
    什么是<b class='flag-5'>服務</b>器虛擬<b class='flag-5'>化</b>?一文讀懂原理、優(yōu)勢與實戰(zhàn)部署

    蔡司X-ray無損檢測服務費用解析

    蔡司X-ray射線無損檢測機作為工業(yè)檢測領域的精密設備,其代測量服務費用受多重因素影響。本文蔡司官方授權代理-廣東三本測量結合官方服務方案與行業(yè)應用案例,
    的頭像 發(fā)表于 08-02 11:48 ?1057次閱讀
    蔡司X-ray無損檢測<b class='flag-5'>服務</b>費用<b class='flag-5'>解析</b>

    正點原子Z20 ZYNQ 開發(fā)板發(fā)布!板載FMC LPC、LVDS LCD和WIFI&amp;藍牙等接口,資料豐富!

    正點原子Z20 ZYNQ 開發(fā)板發(fā)布!板載FMC LPC、LVDS LCD和WIFI&amp;藍牙等接口,資料豐富! 正點原子新品Z20 ZYNQ開發(fā)板來啦!核心板全工業(yè)級設計,主控
    發(fā)表于 05-30 16:55

    正點原子Linux系列全新視頻教程來啦!手把手教你MP257開發(fā)板,讓您輕松入門!

    正點原子Linux系列全新視頻教程來啦!手把手教你MP257開發(fā)板,讓您輕松入門! 一、視頻觀看 正點原子手把手教你學STM32MP257-第1期:https://www.bilibili.com/video/BV1UtEiz
    發(fā)表于 05-16 10:42

    小智AI語音助手調試成功,母親節(jié)祝福語演示來啦

    昨天收到了五一節(jié)官方寄來的獎品小智AI套件,感覺真的挺不錯的,這一次只是采用了自帶的套件搭建環(huán)境,后續(xù)可以用更大的屏幕進行移植,還是可以實現的。 套件盒子: 包含的套件模塊:ESP32S3主控
    發(fā)表于 05-12 22:02

    OpenHarmony應用開發(fā)精品課程第七期來啦

    OpenHarmony應用開發(fā)精品課程第七期來啦
    的頭像 發(fā)表于 04-15 14:15 ?705次閱讀
    OpenHarmony應用開發(fā)精品課程第七期<b class='flag-5'>來啦</b>