【本文正在參與“有獎征文 | HarmonyOS征文大賽”活動】
HarmonyOS作業系統
??在介紹鴻蒙系統前,我們有必要了解下鴻蒙系統應運而生的時代背景,自中美貿易戰打響以來,我國在電子資訊技術領域中愈發覺需要“獨立”,也正是在這樣的環境下,中國企業華為被美國打擊的苦不堪言,

??猶記得美國曾揚言說到:華為終端設備存在通信安全的威脅,終端系統存在 ”后臺” ,真是全力對華為的設備進行打壓,我們總說一個人為達到某個目的 ”無所不用其級“ ,放在這件事情上來形容美國真是完美匹配,
??但這仍不是最致命的,美國甚至直接命令國家技術部門:產品部門和一切附有 “美國技術” 的企業禁止同華為合作,在這樣的絕境中,我們國家的華為受到了 “一萬點暴擊” ,但是,眾所周知,國人都有頑強的毅力,我們就是敢于在絕境中求生,2021年6月2日,華為正式公布了自己最新研發的作業系統—HarmonyOS,也就是鴻蒙,

??發布會上,令我印象最深刻的莫過于HarmonyOS萬物互聯、分布式的強大特性以及其Feature Ability(元服務)的用戶界面展現形式,這使得它與用戶的互動更加流暢、簡潔、方便,下面我們就來細品HarmonyOS的 “服務卡片” 功能,
原子化服務
??在此之前呢,我們不得不去了解下與 “服務卡片” 有著密切關系的原子化服務,原子化服務是由HarmonyOS 提供的一種面向未來的服務提供方式,它擁有獨立、非驅動、輕便(無需安裝)等特性,旨在為用戶提供一種效率極佳的服務方式,

??它具有隨處可見、跨設備、服務直達等特性:
(1)服務發現:原子化服務可在服務中心發現并使用,
(2)智能推薦:原子化服務可以基于合適場景被主動推薦給用戶使用;用戶可在服務中心和小藝建議中發現系統推薦的服務,
(3)服務卡片:支持用戶無需打開原子化服務便可獲取服務內重要資訊的展示和動態變化,如天氣、關鍵事務備忘、熱點新聞串列,
(4)支持跨設備分享:例如接入華為分享后,用戶可分享原子化服務給好友,好友確認后打開分享的服務,
(5)支持多端協同:例如手機用作檔案翻頁和批注,配合智慧屏顯示完成分布式辦公;手機作為手柄,與智慧屏配合玩游戲,
服務卡片

??相信不少朋友第一次聽到 “服務卡片” 這個詞匯,都會在想:這不就是我手機螢屏上的 “小組件” 嗎?哎!你還別說,它們之間還真有不同之處,但又有異曲同工之妙,
??首先呢,大家可以回想一下我們日常使用電子產品的操作習慣,我們在使用小組件的時候:比如在主螢屏上新添加一個 “照片” 的小組件,這個小組件可以實作不定期的自動更換、主題篩選、人物分類等等這些功能,那么如你恰巧看到了一張非常感興趣的照片,想要查看它,是不是需要點擊照片進入詳情查看呢?這樣的互動方式相信大家都非常了解,但是你是否思考過,它可以更加地 “人性化”,更加 ”懂你“ 呢?

??沒錯,這就是HarmonyOS,它做到了,在鴻蒙的設計中,服務卡片的引入是與以往EMUI最大的不同,在螢屏上我們只需要找到圖示下方有 “小橫線” 的app,當然,這些也正是那些支持HarmonyOS的app,我們只需要在圖示位置處,輕輕上劃,就能呼出相對應的應用卡片,這些卡片還可以實作自定義大小 、固定在主螢屏等功能,

??相較于封閉式的IOS系統來說,我個人認為就是把3DTouch功能變得不需要 ”3D“ 了,無需用力,僅需輕掃, 又更像是小組件的父類,承接其外,這樣的設計方式在使用上顯得尤為靈活,并不需要在特定的位置才能使用,可以這么說,只要你螢屏放得下,隨便你怎么用,

??開發者們可以為這些服務卡片 ”量體裁衣“,定制特有的功能,提高日常使用效率,在子選單能力的加持下,像我們日常使用的某寶支付,打開地鐵卡根本無需進入app,只要 “蹦” 出來一張小卡片方可實作功能,這是我們不得不驚嘆:這是多么快捷、高效的互動體驗啊!

??在服務卡片的開發程序中有三者參與,分別是卡片提供方、卡片使用方和卡片管理服務,它們之間相互作用,共同維持著便捷功能的實作,

HarmonyOS Developer中我們可以了解到這三者的分工:
· 提供方模塊
??提供卡片顯示內容的HarmonyOS應用或原子化服務,控制卡片的顯示內容、控制元件布局以及控制元件點擊事件,
卡片服務:
??由卡片提供方開發者實作,開發者實作onCreateForm、onUpdateForm和onDeleteForm處理創建卡片、更新卡片以及洗掉卡片等請求,提供相應的卡片服務,
通信適配層:
??由HarmonyOS SDK提供,負責與卡片管理服務通信,用于將卡片的更新資料主動推送到卡片管理服務,
卡片提供方實體管理:
??由卡片提供方開發者實作,負責對卡片管理服務分配的卡片實體進行持久化管理,
· 使用方模塊
??顯示卡片內容的宿主應用,控制卡片在宿主中展示的位置,
· 管理服務模塊
??用于管理系統中所添加卡片的常駐代理服務,包括卡片物件的管理與使用,以及卡片周期性重繪等,
在卡片使用方和提供方需要添加/洗掉/請求更新卡片時,卡片管理服務會拉起卡片提供方獲取卡片資訊,
通信適配層:
??負責與卡片使用方和提供方進行RPC通信,
周期性重繪:
??在卡片添加后,根據卡片的重繪策略啟動定時任務周期性觸發卡片的重繪,
卡片快取管理:
??在卡片添加到卡片管理服務后,對卡片的視圖資訊進行快取,以便下次獲取卡片時可以直接回傳快取資料,降低時延,
卡片生命周期管理:
??對于卡片切換到后臺或者被遮擋時,暫停卡片的重繪;以及卡片的升級/卸載場景下對卡片資料的更新和清理,
卡片使用方物件管理:
??對卡片使用方的RPC物件進行管理,用于使用方請求進行校驗以及對卡片更新后的回呼處理,
環境搭建
??有關JDK的環境配置,請參考博主前不久的文章,安裝好之后,我們到華為官網下載DevEco Studio(官方IDE),無需更改,選擇默認配置即可,由于沒有具體專案開發,此處不再放置原始碼,后續學習中將不斷更新,還請多多關注,下面實作華為穿戴設備—智能手表中 Hello World 的輸出,
新建專案:

下面請至少選擇一個型別:

進入之后顯示如下界面:

單擊運行顯示 Hello World:

簡單的鴻蒙版 Hello World 到這里就完成啦,還不趕快動手試試 ^ _^,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/292327.html
標籤:其他
