在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

DevEco Studio端云協同之云數據庫

ITMING ? 來源:ITMING ? 作者:ITMING ? 2023-02-23 14:29 ? 次閱讀

在自定義HamronyOS啟動頁組件一文中封裝了啟動頁組件,本節將結合端云協同開發,將啟動頁需要的參數保存到云數據庫中,實現根據特定節氣顯示不同的啟動頁背景圖。

1 環境

  • DevEco Studio 3.1 Beta1(V3.1.0.200)
  • 觸覺智能IDO-EVB3568-V1開發板
  • 自定義teui組件庫
  • 端云協同開發應用創建

2 云數據庫

云數據庫(Cloud DB)是Serverless服務提供的能力之一,是AppGallery Connect平臺解決方案的一部分,是端云協同的數據庫產品,支持數據在端云、多端之間無縫同步,并為應用提供離線支持,以幫助開發者快速構建端云、多端協同應用,開發者可以聚集于應用本身業務,極大提升開發者開發效率,更多請至華為App Gallery Connect云數據庫了解。

3 端云協同開發云數據庫

DevEco Studio 3.1 Beta1提供了端云協同開發,可以通過云側CloudProgram項目創建云數據庫對象類型、存儲區、配置權限,端側引入相關的云數據庫文件即可進行云數據庫數據操作,應用開發流程如下圖所示:

3.1 云側CloudProgram工程云數據庫配置

3.1.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 字段是否需要加密
"fields": [
    {
      "belongPrimaryKey": true,
      "fieldName": "id",
      "fieldType": "Integer",
      "isNeedEncrypt": false,
      "notNull": true
    },
    {
      "belongPrimaryKey": false,
      "fieldName": "timer",
      "fieldType": "Integer",
      "isNeedEncrypt": false,
      "notNull": false
    },
    {
      "belongPrimaryKey": false,
      "fieldName": "isLogo",
      "fieldType": "Boolean",
      "isNeedEncrypt": false,
      "notNull": false
    },
    {
      "belongPrimaryKey": false,
      "fieldName": "backgroundImg",
      "fieldType": "String",
      "isNeedEncrypt": false,
      "notNull": false
    },
    {
      "belongPrimaryKey": false,
      "fieldName": "companyName",
      "fieldType": "String",
      "isNeedEncrypt": false,
      "notNull": false
    },
    {
      "belongPrimaryKey": false,
      "fieldName": "mFontColor",
      "fieldType": "String",
      "isNeedEncrypt": false,
      "notNull": false
    },
    {
      "belongPrimaryKey": false,
      "fieldName": "status",
      "fieldType": "Integer",
      "isNeedEncrypt": false,
      "notNull": false
    },
    {
      "belongPrimaryKey": false,
      "fieldName": "createUser",
      "fieldType": "Integer",
      "isNeedEncrypt": false,
      "notNull": false
    },
    {
      "belongPrimaryKey": false,
      "fieldName": "createTime",
      "fieldType": "Date",
      "isNeedEncrypt": false,
      "notNull": false
    }
  ],

表3-3 數據表索引(更多描述參見官方文檔)

參數 說明
indexName 索引名稱
indexList 索引包含的字段
"indexes": [
    {
      "indexName": "IDX_202302221057",
      "indexList": [
        {
          "fieldName": "id",
          "sortType": "DESC"
        }
      ]
    }
  ],

表3-4 操作數據表角色及權限(更多描述參見官方文檔)

參數 說明
World 所有用戶,默認最多僅可擁有Read權限
Authenticated AppGallery Connect登錄的認證用戶
Creator 數據創建用戶
Administrator 應用開發者
"permissions": [
    {
      "rights": [
        "Read"
      ],
      "role": "World"
    },
    {
      "rights": [
        "Read",
        "Upsert"
      ],
      "role": "Authenticated"
    },
    {
      "rights": [
        "Read",
        "Upsert",
        "Delete"
      ],
      "role": "Creator"
    },
    {
      "rights": [
        "Read",
        "Upsert",
        "Delete"
      ],
      "role": "Administrator"
    }
  ]

3.1.2 創建數據條目

創建完對象類型,可以通過為對象類型添加數據條目,來預置數據庫內容,支持手動創建和自動生成數據條目JSON文件。

  • 手動創建數據條目文件:在clouddb目錄下dataentry目錄右鍵New > Cloud DB Data Entry創建數據條目JSON文件,輸入數據條目名稱。
  • 自動生成數據條目文件:在對象類型JSON文件右鍵Generate Data Entry輸入數據條目自定義名稱。

無論選擇哪種創建數據條目的方法,DevEco Studio會自動初始化已配置的對象類型,并賦初始值,同時配置數據條目所在存儲區名稱,如代碼中的cloudDBZoneName,可自定義。

{
  "cloudDBZoneName": "cloudDBZoneSplash",
  "objectTypeName": "splash",
  "objects": [
    {
      "id": 1,
      "timer": 3,
      "isLogo": false,
      "backgroundImg": "https://img1.baidu.com/it/u=1884825806,3687074543&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=889",
      "companyName": "xxxx有限公司",
      "mFontColor": "#F2F2F2",
      "status": 0,
      "createUser": 1,
      "createTime": 1677035025264
    },
    {
      "id": 2,
      "timer": 3,
      "isLogo": true,
      "backgroundImg": "https://img1.baidu.com/it/u=1884825806,3687074543&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=889",
      "companyName": "xxxx有限公司",
      "mFontColor": "#F2F2F",
      "status": 1,
      "createUser": 1,
      "createTime": 1677035025264
    }
  ]
}

3.1.3 部署云數據庫

在DevEco Studio還未實現端云協同開發之前,要實現云側數據庫需要在網頁端配置。當前開發者只需要在DevEco Studio云側工程中配置好云數據庫信息后,右鍵clouddb目錄選擇Deploy Cloud DB將云數據庫需要的資源統一部署到AGC控制臺,Event Log會顯示同步進度信息。部署完成后,可在AGC控制臺查看部署的云數據庫信息。

3.2 端側Application訪問云側數據庫業務實現

使用端云協同開發,將較于之前的操作會減少如配置開發環境agconnect-services.json文件引入,該文件在創建端云協同工程時會自動初始化到工程中,在entry/src/main/resources/rawfile中;同時會自動引入相關依賴文件,如database-ohos等。

除配置文件和依賴文件之外,還需要和之前的操作相同,導出JSON格式文件和JS格式文件并添加至本地開發環境中。

3.2.1 添加對象類型文件

  • 將導出的數據類型JSON文件內容拷貝到entry/src/main/ets/services/app-schema.json中,若無該文件則創建即可。
  • 將導出的JS格式文件拷貝到entry/src/main/ets/services/目錄下。

3.2.2 云數據庫操作

該文件僅作為示例應用獲取云數據庫數據,若需要更詳細的開發者可自定義封裝,其中異常并未作處理,開發者可根據自身業務做響應的處理。

// entry/src/main/ets/services/CloudDBService.ts
// @ts-ignore
import * as schema from './app-schema.json';
import { splash } from './splash';
import {
    AGConnectCloudDB,
    CloudDBZoneConfig,
    CloudDBZone,
    CloudDBZoneQuery
} from '@hw-agconnect/database-ohos';

import { AGCRoutePolicy } from '@hw-agconnect/core-ohos';

import { getAGConnect } from './AgcConfig';

export class CloudDBService {

    private static readonly ZONE_NAME = "cloudDBZoneSplash";

    private static init(context: any): Promise

3.2.3 將云數據庫數據渲染到頁面

利用aboutToAppear()方法獲取云數據庫中的啟動頁信息。

import { CloudDBService as CloudDB } from '../services/CloudDBService';
import { SplashPage } from '@tetcl/teui';
@Entry
@Component
struct Splash {

  @State result: SplashObj = new SplashObj(5);
  @State isSkip: boolean = false;
  
  onSkipt() {
    // 跳轉頁面
  }
  
  build() {
    Column() {
      if (this.isSkip) {
        SplashPage({ mSplash: {
          timer: this.result.timer,
          isLogo: this.result.isLogo,
          backgroundImg: this.result.backgroundImg,
          companyName: this.result.companyName,
          mFontColor: this.result.mFontColor
        }, skip: this.onSkip })
      }
    }
    .width('100%')
    .height('100%')
  }
  
  aboutToAppear() {
    // 若受網絡印象獲取數據時間過長,此處可以自定義一個數據加載動畫
    CloudDB.query(getContext(this)).then(ret => {
      this.isSkip = true;
      this.result = ret;
    })
  }
}

3.3 在開發板預覽效果

審核編輯 黃宇

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

    關注

    0

    文章

    65

    瀏覽量

    4627
  • 云數據庫
    +關注

    關注

    0

    文章

    30

    瀏覽量

    2027
  • DevEco Studio
    +關注

    關注

    0

    文章

    28

    瀏覽量

    1218
  • HarmonyOS3
    +關注

    關注

    0

    文章

    37

    瀏覽量

    1144
收藏 人收藏

    評論

    相關推薦

    數據庫SQL Server 2008 R2版推出OSS版本數據

    摘要: 日前,阿里數據庫SQL Server 2008 R2版開放了新的數據功能,用戶只需把本地數據庫的備份文件上傳到阿里
    發表于 01-17 11:10

    阿里數據庫備份DBS商業化發布,數據庫實時備份到OSS

    摘要: 數據庫備份DBS作為一款阿里產品,專注于阿里范疇數據庫的一站式保護,已于2018年5月17日正式商業化發布。數據庫備份DBS已于
    發表于 05-30 17:49

    DevEco Studio 3.1 Beta新特性知多少

    協同開發 DevEco Studio提供的一體化開發功能,支持側、
    發表于 04-23 11:06

    HarmonyOS元服務一體化開發快速入門(下)

    服務(認證服務、函數、存儲)最新版本HarmonyOS SDK,同時會自動集成一體化登錄組件的最新SDK。 ** 3. 側工程自
    發表于 06-15 15:52

    鴻蒙原生應用/元服務開發-新版本一體化模板體驗反饋

    Ability模板即可。 三、體驗 新增: 最新一體化新增“數據庫一體組件”, 版本
    發表于 12-05 14:57

    數據庫是未來的數據庫商業的成功,卻是技術的倒退

    在越來越多的會議、媒體、文章、報道上看到一種說法:“未來的數據庫數據庫的時代,數據庫廠商終將取代傳統
    的頭像 發表于 10-14 15:51 ?2236次閱讀
    <b class='flag-5'>云</b><b class='flag-5'>數據庫</b>是未來的<b class='flag-5'>數據庫</b>商業的成功,卻是技術的倒退

    數據庫和自建數據庫的區別及應用

    數據庫是指優化和部署在云端的數據庫,阿里云和騰訊都提供數據庫,
    的頭像 發表于 11-20 16:26 ?4797次閱讀
    <b class='flag-5'>云</b><b class='flag-5'>數據庫</b>和自建<b class='flag-5'>數據庫</b>的區別及應用

    騰訊數據庫生態經 騰訊數據庫生態戰略

    數據庫是最重要的基礎服務之一,已經成為服務商的核心競爭力之一,屬于兵家必爭之地。廠商要想取得成功,數據庫之爭不容有失,一個典型的例子,
    發表于 12-30 11:24 ?573次閱讀

    華為數據庫-RDS for MySQL數據庫

    華為數據庫-RDS for MySQL數據庫 華為數據庫作為華為的一款
    的頭像 發表于 10-27 11:06 ?1677次閱讀

    華為數據庫\-GaussDB for MySQL數據庫

    華為數據庫-GaussDB for MySQL數據庫 GaussDB是華為自主研發的一款高性能關系型數據庫,它完全兼容了MySQL,而且
    的頭像 發表于 10-27 14:56 ?1427次閱讀

    數據庫已成趨勢,華為數據庫與傳統數據庫對比解析

    ,并不適合海量數據存儲,并且裝載的速度慢。舉個例子,當傳統索引需要重新創建,加載的性能就會大幅度下降。為了解決此類問題,華為數據庫應運而生。 與傳統數據庫不同的是,華為
    的頭像 發表于 12-27 16:52 ?1208次閱讀
    <b class='flag-5'>數據庫</b>上<b class='flag-5'>云</b>已成趨勢,華為<b class='flag-5'>云</b><b class='flag-5'>數據庫</b>與傳統<b class='flag-5'>數據庫</b>對比解析

    數據庫和普通數據庫區別?|PetaExpress云端數據庫

    數據庫和普通數據庫區別? 一、數據庫和普通數據庫的特點 1、
    的頭像 發表于 08-01 17:13 ?1287次閱讀

    Looker Studio連接器:一個連接器從多個數據庫應用獲取數據

    本地數據連接器 通過 Skyvia Agent 應用程序輕松將 Looker Studio(前身為 Google Data Studio)連接到本地數據庫。無需將
    的頭像 發表于 01-03 09:07 ?374次閱讀
    Looker <b class='flag-5'>Studio</b>連接器:一個連接器從多個<b class='flag-5'>數據庫</b>和<b class='flag-5'>云</b>應用獲取<b class='flag-5'>數據</b>

    數據庫是哪種數據庫類型?

    數據庫是一種部署在虛擬計算環境中的數據庫,它融合了計算的彈性和可擴展性,為用戶提供高效、靈活的數據庫服務。
    的頭像 發表于 01-07 10:22 ?317次閱讀

    分布式數據庫有哪些類型

    分布式數據庫有哪些類型?分布式數據庫主要類型包括:關系型分布式數據庫、非關系型分布式數據庫
    的頭像 發表于 01-15 09:43 ?295次閱讀
    主站蜘蛛池模板: 亚洲精品亚洲人成人网 | 性欧美bbbbbb| 日韩电影天堂网 | 一区二区三区高清不卡 | 欧美一级欧美三级在线 | 小泽玛利亚在线观看123 | 婷婷色影院 | 欧美一级在线全免费 | 狠狠色伊人亚洲综合第8页 狠狠色依依成人婷婷九月 狠狠色影院 | 久久在精品线影院精品国产 | 4338×亚洲全国最大色成网站 | 狠狠色色综合网站 | 亚洲成成品网站有线 | 国产色秀视频在线观看 | 女人被免费网站视频在线 | 欧美成人亚洲欧美成人 | 天天操天天舔 | 免费看大尺度视频在线观看 | 一区二区三区免费视频播放器 | 国产xxxx极品bbw视色 | 欧美极品 | 天堂网最新| 午夜短视频 | 成人免费播放视频777777 | 女人十六毛片 | 国产资源视频在线观看 | 国产亚洲一区二区三区在线 | 国产精品xxxav免费视频 | 免费黄视频在线观看 | xx性欧美 | 国产精品三级a三级三级午夜 | 日本免费精品视频 | 51国产| 色九| 欧美午夜视频一区二区 | 在线视频黄 | 中国一级特黄真人毛片免费看 | 综合网伊人 | 精品久久久久久中文字幕欧美 | 婷婷开心六月久久综合丁香 | 日本精品卡一卡2卡3卡四卡三卡 |