999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于鴻蒙的分布式創作播報應用研究

2022-08-08 15:24:28潘炳征PANBingzheng
價值工程 2022年23期
關鍵詞:數據庫設備

潘炳征PAN Bing-zheng

(廣西師范大學計算機科學與工程學院/軟件學院,桂林 541004)

0 引言

鴻蒙是基于微內核的全場景分布式操作系統[1]。物聯網設備的多樣性與現有操作系統特異性阻礙著設備間的有效協同,而鴻蒙從操作系統、設備通信及應用程序等方面進行了相應的統一,有效解決了物聯網設備之間互聯的問題。

鴻蒙響應物聯網時代的召喚,并非對標安卓與IOS[2],借助微內核、分布式等技術實現設備的全場景化,為用戶帶來一致、高效的體驗。

1 相關概念

1.1 程序包結構

鴻蒙應用程序包由一個或若干個HAP 與pack.info 構成,pack.info 用來描述每一HAP 的屬性。HAP 分為主HAP(簡稱Entry)與特征HAP(簡稱Feature),Entry 即針對特定設備的應用程序入口,Feature 即應用程序的動態特征模塊[3]。不同設備可根據不同的需求下載安裝不同的HAP,如此不必下載安裝整個應用程序包,節省設備的存儲空間。程序包結構如圖1 所示,該圖來源于鴻蒙開發者官網[3]。

圖1 鴻蒙應用程序包結構

1.2 Ability

Ability 是應用能力的抽象,類型分為FA 與PA 兩種。FA 即Page Ability,PA 包括Service Ability 與Data Ability。一個PageAbility 由一個或若干個AbilitySlice 構成,AbilitySlice 包含應用程序單個頁面及其所有控制邏輯[4]。

1.3 Intent

Intent 用于對象之間傳遞信息,可通過其指定啟動目標同時攜帶數據,由Operation 以及Parameters 構成[5]。常用于啟動與導航到Ability。

1.4 UI 框架

鴻蒙提供Java UI 框架與方舟開發框架。Java UI 提供細粒度的UI 編程接口,采用命令式編程規范,擁有最為豐富的API,使開發者更加靈活地進行鴻蒙應用開發。方舟開發框架提供高層UI 描述,采用聲明式編程規范,使開發更簡單,但其API 較為有限。鴻蒙生態尚屬于發展初期,組件相對缺乏,筆者認為一些簡單功能的實現較目前主流的框架更繁瑣。

1.5 分布式數據服務

分布式數據庫是一種NoSQL 數據庫,采用鍵值對的形式組織、索引與存儲數據。

單版本分布式數據庫,以單個鍵值對為單位的形式將數據保存在本地,有且僅有一個鍵,當一條數據在本地被修改時則會直接進行修改,同時將最新的數據同步至遠端設備。[6]

KvManagerConfig:用于配置KvManager 相關信息,包括應用與網絡狀態等。

KvManagerFactory:根據KvManagerConfig 創建分布式數據庫的KvManager。

Options:用于配置KvStore 相關信息,包括數據庫備份、加密與自動同步選項等。

KvManager:負責管理分布式數據庫,根據Options 對分布式數據庫KvStore 進行創建、打開、關閉與刪除操作。

KvStore:某一具體分布式數據庫,可對數據進行增加、刪除、查詢與修改。

五者之間關系如圖2。

圖2 分布式數據庫對象之間關系

分布式數據服務包括服務接口、服務組件、存儲組件、同步組件以及通信適配層。應用調用分布式數據服務接口進行數據庫操作,數據服務接口基于數據服務組件所提供的能力將數據保存至存儲組件,存儲組件通過調用同步組件進行同步數據,同步組件將數據發送至通信適配層以此實現遠端設備的數據同步;遠端設備利用同步組件從通信適配層接受數據,并同步至本端存儲組件,通過數據服務接口獲取數據并提供給本端應用使用[7]。數據分布式運作機制如圖3 所示,該圖來源于鴻蒙開發者官網[7]。

圖3 分布式運作機制

2 應用研究

應用基于Codelabs 中的分布式手寫板以及AI 能力的語音播報系統案例進行開發[7]。

主界面如圖4 所示,點擊不同的按鈕跳轉到不同的PageAbility。

圖4 主界面

2.1 頁面跳轉

PageAbility 之間的跳轉實現步驟如下:

①為組件設置點擊事件,后續操作在事件中編寫。②創建Intent 對象。③創建Operation 對象,設置與Intent對象相關的設備Id、包名以及Ability 名稱參數,調用build()方法完成創建。④將Operation 對象設置到步驟②所創建的Intent 對象。⑤MainAbilitySlice 調用startAbility()方法,參數為Intent 對象。

2.2 分布式畫板

實現分布式畫板需要在config.json 文件中配置多設備協同所要求的的四個權限。后續實現步驟如下。

2.2.1 初始化分布式數據庫

①創建分布式數據庫管理對象。首先在當前頁面上下文創建KvManagerConfig 對象,最后根據該對象創建KvManager 分布式數據庫管理器實例。②創建單版本分布式數據庫。首先創建Options 對象,其次將Options 對象設置相關的信息,最后基于Options 對象以及數據庫Id 標識符,KvManager 實例調用getKvStore()方法獲得與打開單版本分布式數據庫實例。③訂閱分布式數據變化。首先在客戶端實現KvStoreObserver 接口, 本例中即在WriteAbilitySlice 類中定義內部類及實現該接口;其次利用上述內部類創建KvStoreObserver 對象;最后基于KvStoreObserver 對象,單版本分布式數據庫實例調用subscribe()方法完成單版本分布式數據庫的數據變化訂閱。

2.2.2 初始化畫布

封裝好的DrawPoint 類,存放所有繪制點的基本信息與繪圖[8];drawPoints()方法將數據庫中的點數據在畫布上繪制。①初始畫布。首先獲取一種畫筆顏色,其次生成DrawPoint 類對象,將該對象添加到布局當中,最后調用drawPoints()方法進行繪圖。②設置DrawPoint 類對象的繪制圖形回調函數。首先將點數據利用GsonUtil 工具類轉換成Json 格式字符串,最后利用單版本分布式數據庫實例調用putString()方法將Json 字符串寫入數據庫。③設置同步撤回按鈕的點擊事件。首先獲取DrawPoint 類對象中的點數據;其次先移除點數據中的最后一個點,再從后往前遍歷所有點,將不屬于筆畫中的最后一個點進行移除,直到遇到筆畫中的最后一個點結束循環;最后將點數據重新設置到DrawPoint 類對象,更新單版本分布式數據庫實例。

2.2.3 設備連接

①在協同按鈕組件點擊事件中新建在線可同步設備選擇對話框。②在對話框的點擊事件中,根據所選設備Id啟動遠程界面。首先根據設備的數量生成Intent 對象數組;其次為每個Intent 對象設置是否是遠程、顏色以及數據庫標識符參數,再創建Operation 對象,同時將設備Id、包名、Ability 名稱以及多設備遠程啟動標識與Intent 對象相關聯;最后啟動遠程Ability。③在啟動遠程界面后,單版本數據庫實例調用sync()方法同步遠程數據庫。

2.3 文字播報

TTS 語音播報引擎由華為官方提供,該引擎基于華為智慧引擎,提供將文本進行語音播報的能力[9]。實現文字播報步驟如下。①創建TTS 客戶端。創建TtsListener 監聽器,重寫創建TTS 客戶端成功的回調函數。重寫方法如下,首先設置TtsParams 對象的設備Id,最后利用TtsParams 對象初始化TTS 客戶端。②轉換音頻并播報。在成功創建TTS 客戶端之后,調用speakText()方法將文本轉換成音頻并播放。

3 應用分析

3.1 寫一寫

在本地端點擊設備按鈕彈出設備選擇對話框,選擇設備之后將拉起遠程端。每一設備的筆跡都將同步,不同設備的筆跡顏色不盡相同,每一設備都可撤回筆跡。該功能可應用于如下場景。親子之間、伙伴之間協同學習娛樂;學校課堂上師生教學互動;公司會議上分享交流等等。

3.2 聽一聽

聽一聽界面如圖5 所示。

圖5 聽一聽

在文本框輸入文本內容后,點擊語音播報按鈕即可進行文字播報。該功能可應用如下場景。想聽某一段從其他應用復制的文本;知識點的溫故復習;啞人與他人之間的交流;未受過教育者學習漢語;視頻制作的簡易配音等等。

4 結語

本文僅從鴻蒙分布式以及AI 能力的簡單應用進行研究,而鴻蒙有眾多的能力與特性,其應用的場景廣泛,這需要廣大開發者積極探索。鴻蒙作為國產操作系統的希望,其誕生是突破國外科技封鎖的重要里程碑,其生態建設需要每一開發者的積極努力。

猜你喜歡
數據庫設備
諧響應分析在設備減振中的應用
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
如何在設備采購中節省成本
主站蜘蛛池模板: 中文字幕日韩视频欧美一区| 亚洲欧洲天堂色AV| 美女视频黄频a免费高清不卡| 韩日无码在线不卡| 国产日韩欧美精品区性色| 国产一区二区三区日韩精品| 国产三区二区| 日韩大片免费观看视频播放| 操操操综合网| 成人免费一级片| 国产精品无码在线看| 强乱中文字幕在线播放不卡| 国产精品亚洲一区二区三区z| 亚洲美女一级毛片| 伊人久久综在合线亚洲2019| 久久伊人久久亚洲综合| 91综合色区亚洲熟妇p| 99精品热视频这里只有精品7 | 亚洲日韩精品综合在线一区二区| 手机精品视频在线观看免费| 国产亚洲视频中文字幕视频| www精品久久| 欧美日韩国产综合视频在线观看| 青青热久麻豆精品视频在线观看| 午夜视频www| 72种姿势欧美久久久久大黄蕉| 国产乱子伦视频在线播放| 久久精品无码一区二区日韩免费| 91在线一9|永久视频在线| 十八禁美女裸体网站| 国产原创第一页在线观看| 毛片网站在线看| 国产成人精品18| 精品国产美女福到在线直播| 国产又粗又猛又爽| 国产午夜看片| 欧美日韩精品一区二区在线线| 中文字幕无码av专区久久 | 99国产在线视频| a色毛片免费视频| 婷婷中文在线| 精品一区二区无码av| 国产91av在线| 国产在线一区视频| 久久不卡精品| 色综合热无码热国产| a毛片在线播放| 99热这里只有成人精品国产| 白丝美女办公室高潮喷水视频| 精品福利国产| 亚洲色图欧美在线| 在线观看91精品国产剧情免费| 久久久久人妻一区精品色奶水| 国产精品自在在线午夜| 亚洲va欧美ⅴa国产va影院| 911亚洲精品| 亚洲乱亚洲乱妇24p| 婷婷综合亚洲| 色视频国产| 日本91视频| 久久久久青草线综合超碰| 欧美性猛交xxxx乱大交极品| 国外欧美一区另类中文字幕| 日本久久久久久免费网络| 国产又爽又黄无遮挡免费观看 | 日韩天堂网| 五月天久久婷婷| 韩日无码在线不卡| 四虎国产精品永久在线网址| 欧美人与动牲交a欧美精品| 先锋资源久久| 久久人搡人人玩人妻精品 | 国产不卡网| 中国国语毛片免费观看视频| 色网站免费在线观看| 天天爽免费视频| 欧美高清三区| 成年人免费国产视频| 77777亚洲午夜久久多人| 视频二区中文无码| 色哟哟国产精品| 国产欧美视频在线|