色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取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

    瀏覽量

    4649
  • 云數據庫
    +關注

    關注

    0

    文章

    30

    瀏覽量

    2036
  • DevEco Studio
    +關注

    關注

    0

    文章

    29

    瀏覽量

    1249
  • HarmonyOS3
    +關注

    關注

    0

    文章

    37

    瀏覽量

    1168
收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    數據庫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 ?2270次閱讀
    <b class='flag-5'>云</b><b class='flag-5'>數據庫</b>是未來的<b class='flag-5'>數據庫</b>商業的成功,卻是技術的倒退

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

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

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

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

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

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

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

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

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

    ,并不適合海量數據存儲,并且裝載的速度慢。舉個例子,當傳統索引需要重新創建,加載的性能就會大幅度下降。為了解決此類問題,華為數據庫應運而生。 與傳統數據庫不同的是,華為
    的頭像 發表于 12-27 16:52 ?1246次閱讀
    <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 ?1312次閱讀

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

    本地數據連接器 通過 Skyvia Agent 應用程序輕松將 Looker Studio(前身為 Google Data Studio)連接到本地數據庫。無需將
    的頭像 發表于 01-03 09:07 ?432次閱讀
    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 ?348次閱讀

    分布式數據庫有哪些類型

    分布式數據庫有哪些類型?分布式數據庫主要類型包括:關系型分布式數據庫、非關系型分布式數據庫
    的頭像 發表于 01-15 09:43 ?327次閱讀
    主站蜘蛛池模板: 公交车被CAO到合不拢腿 | 国产精品久久久久久人妻精品流 | 国产亚洲精品久久久久久久 | 四虎永久精品视频在线 | 精品免费久久久久久成人影院 | 丰满人妻妇伦又伦精品APP国产 | 99久久99久久久精品久久 | 美女扒开尿孔 | 午夜伦理电影在线观免费 | 国语对白老女人8av 国语对白刺激真实精品 | 特级淫片大乳女子高清视频 | 超碰免费视频部落格 | 伊人综合在线22 | 人禽l交视频在线播放 视频 | 动态抽插图视频 | 色吧.com| 99视频免费在线 | 丰满女友bd高清在线观看 | 双腿打开揉弄高潮H苏安安秦慕深 | 日韩综合网 | 我与旗袍老师疯狂床震 | 国产精品俺来也在线观看 | 国产成人小视频在线观看 | 亚欧乱亚欧乱色视频 | 99热这里有精品 | 国产精品视频在线自在线 | 成人在线观看播放 | 一个人的视频在线观看免费观看 | 狠狠干.in| 忘忧草日本在线WWW日本 | 亚洲三级在线看 | 久久精品成人免费看 | 成人无码国产AV免费看直播 | 美女脱内衣裸身尿口露出来 | 疯狂第一次国语 | 蜜芽tv在线观看免费网站 | 4399日本电影完整版在线观看免费 | 男女XX00上下抽搐动态图 | 特级毛片全部免费播放免下载 | ca88亚洲城娱乐 | 欧美黄色精品 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品