DevEco Studio端云協同開發之云數據庫體驗
在??自定義HamronyOS啟動頁組件??一文中封裝了啟動頁組件,本節將結合端云協同開發,將啟動頁需要的參數保存到云數據庫中,實現根據特定節氣顯示不同的啟動頁背景圖。
一、環境
- ??DevEco Studio 3.1 Beta1(V3.1.0.200)??
- ??觸覺智能IDO-EVB3568-V1開發板??
- ??自定義teui組件庫??
- ??端云協同開發應用創建??——??視頻演示【HarmonyOS端云協同開發云函數體驗】??
二、云數據庫
云數據庫(Cloud DB)是Serverless服務提供的能力之一,是AppGallery Connect平臺解決方案的一部分,是端云協同的數據庫產品,支持數據在端云、多端之間無縫同步,并為應用提供離線支持,以幫助開發者快速構建端云、多端協同應用,開發者可以聚集于應用本身業務,極大提升開發者開發效率,更多請至??華為App Gallery Connect云數據庫??了解。
三、端云協同開發云數據庫
DevEco Studio 3.1 Beta1提供了端云協同開發,可以通過云側CloudProgram項目創建云數據庫對象類型、存儲區、配置權限,端側引入相關的云數據庫文件即可進行云數據庫數據操作,應用開發流程如下圖所示:
1、云側CloudProgram工程云數據庫配置
(1)創建對象類型
云數據庫采用存儲區、對象類型和對象三級結構基于對象模型的數據庫。對象類型是用于定義存儲對象的集合,不同對象類型對應的不同數據結構。
在云側CloudProgram工程clouddb目錄下clouddb目錄右鍵??New > Cloud DB Object Type?
?創建對象類型,輸入對象類型名稱,DevEco Studio會自動創建初始對象類型JSON文件。
在對象類型JSON文件中,可以配置字段、索引以及角色于權限,表3-1為數據類型JSON文件屬性簡單介紹。
表3-1 數據類型JSON文件屬性(更多描述參見官方文檔)
參數 | 說明 |
fields | 數據表字段集,配置屬性參見表3-2 |
indexes | 數據表索引,配置屬性參見表3-3 |
permissions | 操作數據表角色及對應權限,配置屬性參見表3-4 |
objectTypeName | 數據表名稱 |
表3-2 數據表字段(更多描述參見官方文檔)
參數 | 說明 |
fieldName | 字段名稱 |
fieldType | 字段數據類型 當前支持:String, Boolean, Byte, Shor, Integer, Long, Float, Double, ByteArray, Text, Date, IntAutoIncrement, LongAutoIncrement |
belongPrimaryKey | 字段是否為主鍵 |
notNull | 字段值是否為空 |
isNeedEncrypt | 字段是否需要加密 |
表3-3 數據表索引(更多描述參見官方文檔)。
參數 | 說明 |
indexName | 索引名稱 |
indexList | 索引包含的字段 |
表3-4 操作數據表角色及權限(更多描述參見官方文檔)。
參數 | 說明 |
World | 所有用戶,默認最多僅可擁有Read權限 |
Authenticated | AppGallery Connect登錄的認證用戶 |
Creator | 數據創建用戶 |
Administrator | 應用開發者 |
(2)創建數據條目
創建完對象類型,可以通過為對象類型添加數據條目,來預置數據庫內容,支持手動創建和自動生成數據條目JSON文件。
- 手動創建數據條目文件:在clouddb目錄下dataentry目錄右鍵New > Cloud DB Data Entry創建數據條目JSON文件,輸入數據條目名稱。
- 自動生成數據條目文件:在對象類型JSON文件右鍵Generate Data Entry輸入數據條目自定義名稱。
無論選擇哪種創建數據條目的方法,DevEco Studio會自動初始化已配置的對象類型,并賦初始值,同時配置數據條目所在存儲區名稱,如代碼中的cloudDBZoneName,可自定義。
(3)部署云數據庫
在DevEco Studio還未實現端云協同開發之前,要實現云側數據庫需要在網頁端配置。當前開發者只需要在DevEco Studio云側工程中配置好云數據庫信息后,右鍵clouddb目錄選擇Deploy Cloud DB將云數據庫需要的資源統一部署到AGC控制臺,Event Log會顯示同步進度信息。部署完成后,可在AGC控制臺查看部署的云數據庫信息。
2、端側Application訪問云側數據庫業務實現
使用端云協同開發,將較于之前的操作會減少如配置開發環境agconnect-services.json文件引入,該文件在創建端云協同工程時會自動初始化到工程中,在entry/src/main/resources/rawfile中;同時會自動引入相關依賴文件,如database-ohos等。
除配置文件和依賴文件之外,還需要和之前的操作相同,導出JSON格式文件和JS格式文件并添加至本地開發環境中。
(1)添加對象類型文件
- 將導出的數據類型JSON文件內容拷貝到entry/src/main/ets/services/app-schema.json中,若無該文件則創建即可。
- 將導出的JS格式文件拷貝到entry/src/main/ets/services/目錄下。
(2)云數據庫操作
該文件僅作為示例應用獲取云數據庫數據,若需要更詳細的開發者可自定義封裝,其中異常并未作處理,開發者可根據自身業務做響應的處理。
(3)將云數據庫數據渲染到頁面
利用aboutToAppear()方法獲取云數據庫中的啟動頁信息。