精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

ArkTS元服務與關系型數據庫—計步卡片

數據庫 其他數據庫
這里主要講解一下ArKTS開發服務卡片,Codelabs開發的是JS服務卡片,還有在把這個JS卡片改為用ArkTS過程中。

想了解更多關于開源的內容,請訪問:

51CTO 開源基礎軟件社區

https://ost.51cto.com

前言

本篇帖子是參考Codelab基于Stage模型JS服務卡片,使用最新ArkTS元服務開發的,實現帶有卡片的計步應用,用于介紹卡片的開發及生命周期實現。需要完成以下功能:

  1. 消息通知欄,通知用戶今天所行走步數(行走步數是模擬的)。
  2. 元服務卡片,在桌面上添加2x2或2x4規格元服務卡片,能看到步數變化,也能看到當天所行走的進度。
  3. 關系型數據庫,用于查詢,添加用戶行走的數據。

ArkTS元服務與關系型數據庫-計步卡片-開源基礎軟件社區

知識點

  • 消息通知:提供通知管理的能力,包括發布、取消發布通知,創建、獲取、移除通知通道,訂閱、取消訂閱通知,獲取通知的使能狀態、角標使能狀態,獲取通知的相關信息等。
  • 關系型數據庫:關系型數據庫基于SQLite組件提供了一套完整的對本地數據庫進行管理的機制,對外提供了一系列的增、刪、改、查等接口,也可以直接運行用戶輸入的SQL語句來滿足復雜的場景需要。
  • 元服務卡片開發:卡片是一種界面展示形式,可以將應用的重要信息或操作前置到卡片,以達到服務直達、減少體驗層級的目的。
  • 卡片提供方:顯示卡片內容,控制卡片布局以及控件點擊事件。
  • 卡片使用方:顯示卡片內容的宿主應用,控制卡片在宿主中展示的位置。
  • 卡片管理服務:用于管理系統中所添加卡片的常駐代理服務,包括卡片對象的管理與使用,以及卡片周期性刷新等。
  • 軟件要求
  • DevEco Studio版本:DevEco Studio 3.1 Release及以上版本。
  • HarmonyOS SDK版本:API version 9及以上版本。
  • 硬件要求
  • 設備類型:華為手機3.1系統或運行在DevEco Studio上的遠程模擬器API9。
  • HarmonyOS系統:3.1.0 DeveloperRelease及以上版本。

講解

卡片更新邏輯和Codelabs是一樣的,詳情可以移步到Stage模型卡片(ArkTS)細看, 這里主要講解一下ArKTS開發服務卡片,Codelabs開發的是JS服務卡片,還有在把這個JS卡片改為用ArkTS過程中,需要注意的地方:

使用關系型數據庫時,Codelabs與使用最新版本API不同之處:

Codelabs源碼:

await DataRdb.getRdbStore(context, CommonConstants.RDB_STORE_CONFIG)
        .then((rdbStore: DataRdb.RdbStore) => {

本項目源碼:

await DataRdb.getRdbStore(context, CommonConstants.RDB_STORE_CONFIG)
        .then((rdbStore) => {

使用Chart組件和Polyline組件:
在JS服務卡片可以使用Chart組件來生成曲線圖表:

<chart type="line" id="Chart" datasets="{{ datasets }}" options="{{ options }}"></chart>

在ArkTS服務卡片,使用不了Chart組件,用Polyline組件來代替:

Polyline().width('100%').height('100%').points(this.setPolyLine(this.datasets))

默認EntryAbility.ts和EntryFormAbility.ts兩個文件的后輟都是ts的,其他文件后輟是ets的,當想在這兩個文件import其它文件時,提示以下信息,于是我把這兩個文件后輟都改為ets了。

Importing ArkTS files to JS and TS files is not allowed. <etsLint>

服務卡片如何接收更新數據,卡片頁面如何接收,后臺如何更新。
卡片頁面如何接收,比如步數參數如何定義:

let storage = new LocalStorage();

@Entry(storage)
@Component
struct WidgetCard {
  @LocalStorageProp('steps') steps: number = 0;
  ......

后臺如何更新:

// 創建卡片
    let formData: FormData = new FormData();
    formData.percent = 0;
    formData.steps = 0;
    return FormBindingData.createFormBindingData(formData);
    // 更新卡片
    FormProvider.updateForm(formData.formId, FormBindingData.createFormBindingData(formData))

2x2卡片界面部分代碼:

Stack() {
      Image($r("app.media.icon_2x2_card_background"))
        .width(this.FULL_WIDTH_PERCENT)
        .height(this.FULL_HEIGHT_PERCENT)
        .objectFit(ImageFit.Cover)

      Progress({ value: this.percent, total: 100, type: ProgressType.Ring }).width(100).height(100)
        .color(Color.White)           // 進度條前景色為灰色
        .style({ strokeWidth: 12})    // 設置strokeWidth進度條寬度為12vp
      Column() {
        Text('步數')
          .fontSize(10)
          .fontColor($r('app.color.text_font_color'))
        Text(this.steps.toString())
          .fontSize(26)
          .fontColor($r('app.color.text_font_color'))
        Text('步')
          .fontSize(10)
          .fontColor($r('app.color.text_font_color'))
      }
      .width(this.FULL_WIDTH_PERCENT)
      .height(this.FULL_HEIGHT_PERCENT)
      .alignItems(HorizontalAlign.Center)
      .justifyContent(FlexAlign.Center)
      .padding($r('app.float.column_padding'))
    }
    .width(this.FULL_WIDTH_PERCENT)
    .height(this.FULL_HEIGHT_PERCENT)
    .onClick(() => {
      postCardAction(this, {
        "action": "router",
        "abilityName": "EntryAbility",
        "params": {
          "message": "add detail"
        }
      });
    })

2x4卡片界面部分代碼:

Stack() {
      Image($r("app.media.icon_2x4_card_background"))
        .width(this.FULL_WIDTH_PERCENT)
        .height(this.FULL_HEIGHT_PERCENT)
        .objectFit(ImageFit.Cover)
      Row() {
        Column() {
          Text(`今天走了 ${this.mileage} 米`)
            .fontSize(16)
            .fontWeight(400)
            .opacity(0.9)
            .fontColor($r('app.color.text_font_color'))
          Row(){
            Text(this.steps.toString())
              .fontSize(40)
              .fontWeight(700)
              .fontColor($r('app.color.text_font_color'))
            Text('步')
              .fontSize(16)
              .fontWeight(400)
              .opacity(0.9)
              .fontColor($r('app.color.text_font_color'))
              .margin({left: 5, bottom: -10})
          }
          .margin({top: 10, bottom: 10})
          Text(`${this.percent}%`)
            .fontSize(16)
            .fontWeight(400)
            .fontColor($r('app.color.text_font_color'))
          Progress({ value: this.percent, total: 100, type: ProgressType.Linear })
            .color('#FFFFFF')
            .backgroundColor('#40FFFFFF')
            .style({ strokeWidth: 6})
            .margin({top: 4})
        }
        .width('50%')
        .height(this.FULL_HEIGHT_PERCENT)
        .alignItems(HorizontalAlign.Start)
        .justifyContent(FlexAlign.Center)
        .padding($r('app.float.column_padding'))
        Column() {
          Polyline()
            .width('100%').height('100%')
            .points(this.setPolyLine(this.datasets))
            .strokeDashOffset(-50)
            .fillOpacity(0)
            .strokeOpacity(0.5)
            .stroke(Color.White)
            .strokeWidth(3)
              // 設置折線拐角處為圓弧
            .strokeLineJoin(LineJoinStyle.Round)
              // 設置折線兩端為半圓
            .strokeLineCap(LineCapStyle.Round)
        }
        .width('50%')
      }

    }
    .width(this.FULL_WIDTH_PERCENT)
    .height(this.FULL_HEIGHT_PERCENT)

總結

通過學習Cabelabs案例,我們可以快速學到實踐知識,通過查看文檔指南,我們可以了解到更細的知識點,當我們腦子里有了一個應用的模型,所以通過Codelabs相似案例知識點,加上查看文檔指南、API參考,平常多看和參加學堂視頻課程,有了一定的知識量,做項目或回答一些問題,就是這么簡單了。

文章相關附件可以點擊下面的原文鏈接前往下載:

 https://ost.51cto.com/resource/2750。

想了解更多關于開源的內容,請訪問:

51CTO 開源基礎軟件社區

https://ost.51cto.com

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2018-07-18 09:16:39

關系型非關系型數據庫

2021-09-06 10:24:12

鴻蒙HarmonyOS應用

2011-05-12 09:51:26

2013-01-25 15:19:42

大數據關系型數據庫

2017-03-17 14:44:04

關系型數據庫原理

2010-12-10 10:17:21

關系型數據庫

2022-06-13 08:30:01

數據庫管理系統

2022-05-27 07:37:38

關系型數據庫Spanner

2018-01-29 12:56:27

數據庫關系型數據庫NewSQL

2013-04-26 16:18:29

大數據全球技術峰會

2022-12-27 08:38:45

關系型數據庫設計

2023-05-22 16:10:51

動態共享包數據庫

2021-01-26 13:31:48

數據庫關系型數據庫冗余

2016-08-23 14:25:19

MySQL約束數據庫

2021-07-28 14:40:57

鴻蒙HarmonyOS應用

2023-05-20 08:11:55

2022-07-27 08:32:01

數據庫MySQL

2022-09-05 17:52:44

數據庫技術

2015-03-30 10:16:22

2018-03-26 12:58:52

數據庫OracleMySQL
點贊
收藏

51CTO技術棧公眾號

亚洲一区在线观看视频| 激情综合一区二区三区| 亚洲欧美精品一区| 中文字幕第17页| 欧美一卡二卡| 久久理论电影网| 成人夜晚看av| 欧美一级片免费在线观看| 欧美日韩中字| 日韩美女一区二区三区四区| 男人天堂成人在线| 欧美色图天堂| 国产精品麻豆网站| 精品乱子伦一区二区三区| 中文字幕日韩三级| 1000部精品久久久久久久久| 正在播放欧美一区| 国产精品手机在线观看| 99精品美女视频在线观看热舞| 激情成人在线视频| 手机在线视频你懂的| 日本人妖在线| 成人小视频免费观看| 国产精品中文在线| 国内精品福利视频| 国产精品豆花视频| 色噜噜久久综合伊人一本| 亚洲狠狠婷婷综合久久久久图片| 欧美三级一区| 欧美日韩日日摸| 无码日韩人妻精品久久蜜桃| a'aaa级片在线观看| 国产精品久久久久久久久免费樱桃| 国模精品娜娜一二三区| av中文字幕观看| 老司机精品视频在线| 2019中文字幕在线免费观看| 免费在线观看黄视频| 欧美国产一级| 最好看的2019年中文视频| 日韩av在线看免费观看| 国内精品麻豆美女在线播放视频| 91精品国产综合久久久久久漫画| 在线观看免费黄网站| 韩国成人在线| 欧美专区亚洲专区| 青青青国产在线视频| 深夜成人在线| 精品国产户外野外| 俄罗斯av网站| 无遮挡在线观看| 欧美视频裸体精品| 日本久久久精品视频| 松下纱荣子在线观看| 亚洲国产成人av好男人在线观看| 一本大道东京热无码aⅴ| av片在线观看永久免费| 亚洲色图丝袜美腿| 992tv快乐视频| 日韩电影免费观看| 亚洲电影一区二区三区| 国产免费黄色小视频| 爱啪啪综合导航| 调教+趴+乳夹+国产+精品| 国产女大学生av| 午夜伦理福利在线| 欧美综合久久久| 中文字幕亚洲欧洲| 综合中文字幕| 日韩电影免费观看在线观看| 公侵犯人妻一区二区三区| 国产欧美日韩一区二区三区四区| 国产丝袜一区二区三区| 亚洲理论片在线观看| 日韩精品首页| 久久999免费视频| 日韩在线视频免费播放| 久久先锋影音| 91九色国产视频| 免费观看毛片网站| 久久精品视频网| 亚洲人成网站在线播放2019| 91在线中文| 欧美日韩精品在线| 污污视频网站免费观看| 成人综合日日夜夜| 亚洲成人a**站| 午夜在线观看一区| 你懂的网址国产 欧美| 97超级碰碰碰久久久| 欧美视频xxxx| 成人夜色视频网站在线观看| 久久99精品久久久久久秒播放器| 国产精品麻豆一区二区三区| 悠悠色在线精品| 777米奇影视第四色| 国产视频一区二区在线播放| 亚洲国产日韩欧美在线99| 免费视频91蜜桃| 韩国久久久久| 国产精品九九久久久久久久| 亚洲av少妇一区二区在线观看| 久久日韩粉嫩一区二区三区| 中文字幕在线观看一区二区三区| 国产高清中文字幕在线| 欧美久久久久久蜜桃| www.88av| 你懂的成人av| 国产精品精品久久久久久| 秋霞网一区二区| 亚洲日本乱码在线观看| 欧美国产日韩在线播放| 精品资源在线| 久久这里只有精品99| 四虎精品永久在线| 高清在线成人网| 亚洲一区三区在线观看| 亚洲精品国产精品国产| 日韩欧美色综合| 我要看黄色一级片| 日本系列欧美系列| 久久精品国产美女| 欧美黄色视屏| 日韩欧美综合在线| 久久爱一区二区| 日本 国产 欧美色综合| 欧美精品一区二区三区在线看午夜 | 亚洲毛片网站| 99电影网电视剧在线观看| 中文字幕在线免费| 欧洲精品视频在线观看| 国精产品一区二区三区| 9色国产精品| 国产精品sss| 影音先锋男人资源在线| 欧美一级黄色片| 欧美乱大交做爰xxxⅹ小说| 肉丝袜脚交视频一区二区| 欧美国产综合视频| 一区二区乱码| 亚洲老司机av| 亚洲GV成人无码久久精品| 99久久精品国产一区| 国产免费裸体视频| 一区中文字幕| 欧美国产中文字幕| 亚洲男人天堂久久| 亚欧色一区w666天堂| 无码av免费精品一区二区三区| 国产尤物精品| 国产高清精品一区二区| av手机免费在线观看| 亚洲成人精品久久久| 精品无码人妻一区二区三区品| 国产精品99久久久久久久女警| 99re8这里只有精品| 国产精品777777在线播放| 欧美成人免费视频| 亚洲女同志亚洲女同女播放| 五月婷婷综合激情| 不卡一区二区在线观看| 久久综合九色综合欧美狠狠| 五月天亚洲综合情| www.久久久.com| 欧美精品videosex极品1| 色屁屁草草影院ccyycom| 欧美午夜影院在线视频| 我想看黄色大片| 国产一区在线精品| 国产日韩欧美精品在线观看| 亚洲免费成人av在线| 国产精品精品视频一区二区三区| 日本不卡三区| 日韩一级大片在线| www.com国产| 国产精品三级久久久久三级| 污免费在线观看| 日韩天堂av| 亚洲精品成人自拍| 在线综合色站| 日韩av男人的天堂| 免费高清完整在线观看| 亚洲精品一区二区三区蜜桃下载| 精品人妻一区二区三区免费看| 国产精品网站导航| xxxxwww一片| 久久精品中文| 自拍偷拍视频在线| 日韩精品导航| 91免费国产网站| 午夜影院一区| 色综合久久天天综线观看| 黄色在线视频观看网站| 日韩欧美在线影院| 亚洲av无码精品一区二区| 亚洲最新视频在线播放| 黄大色黄女片18免费| 99久久久精品| 6080国产精品| 日韩中文字幕麻豆| 成人免费网站入口| 四虎国产精品免费观看 | 教室别恋欧美无删减版| 97超碰人人看人人| 日本美女久久| 97精品在线观看| 成人在线app| 亚洲视频免费一区| 黄色片一区二区| 777xxx欧美| 国产男人搡女人免费视频| 亚洲国产精品自拍| 亚洲天堂黄色片| 国产精品久久久久久久久免费丝袜| 少妇饥渴放荡91麻豆| 国产精品一级黄| 国产色视频在线播放| 麻豆亚洲精品| 大陆极品少妇内射aaaaa| 欧美在线高清| 四虎免费在线观看视频| 欧美偷拍自拍| 日韩av电影免费播放| 亚洲自拍都市欧美小说| 韩国精品一区二区三区六区色诱| 日韩精品一区二区三区中文在线| 国产综合香蕉五月婷在线| 怡红院成人在线| 欧美怡春院一区二区三区| 多野结衣av一区| 国内精品久久久久久久久| 亚洲第一图区| 欧美精品午夜视频| 91精品国产91久久久久久青草| 久久精品国产69国产精品亚洲| h视频在线观看免费| 国产亚洲人成网站在线观看| 欧美色18zzzzxxxxx| 亚洲欧美激情另类校园| 你懂的在线观看视频网站| 日韩高清a**址| 天堂√在线中文官网在线| 亚洲国产精品人久久电影| 性一交一乱一伧老太| 精品久久一区二区三区| 亚洲第一视频在线| 亚洲成人久久电影| 天天干天天舔天天射| 欧美va亚洲va香蕉在线| 亚洲精品免费在线观看视频| 亚洲成人精品视频在线观看| 亚州视频一区二区三区| 亚洲男人天堂2024| 97在线观看免费观看高清 | 亚洲av无一区二区三区| 国产精品久久久久久久久免费桃花| 日本黄区免费视频观看| 日韩美女精品在线| 久久久久久久久久91| 午夜日韩在线电影| 亚洲精品男人的天堂| 91久久人澡人人添人人爽欧美| 99久久久无码国产精品免费蜜柚 | 91热视频在线观看| 国产不卡在线一区| 亚洲熟女乱综合一区二区三区| 久久伊99综合婷婷久久伊| 色婷婷av777| 国产精品久久夜| 国产探花在线播放| 欧美日韩国产在线播放| www.av88| 日韩一区二区免费在线电影| 少妇精品高潮欲妇又嫩中文字幕 | 制服.丝袜.亚洲.另类.中文| 丰满少妇一级片| 国产一区二区三区毛片| 岛国中文字幕在线| 茄子视频成人在线| 宅男噜噜噜66国产精品免费| 国产精品亚洲一区| 欧美自拍偷拍| 日本男女交配视频| 丝袜a∨在线一区二区三区不卡| 手机av在线免费| 不卡免费追剧大全电视剧网站| 久久午夜福利电影| 亚洲综合成人在线| 艳妇乳肉豪妇荡乳av无码福利| 日韩欧美第一区| yw视频在线观看| 97在线视频免费看| 天天综合在线观看| 久久久久久高清| 一本一本久久a久久综合精品| a级黄色一级片| 国产一区二区h| 国产真实乱人偷精品人妻| 亚洲一区二区三区四区在线观看 | 欧美激情一区二区| 国产大片中文字幕| 8x8x8国产精品| 精品久久久久一区二区三区| 欧美第一黄网免费网站| 精品久久在线| 日本不卡一区| 亚洲久久一区| 男人添女人荫蒂国产| 国产精品毛片久久久久久| 国产精品久久久久久久久久精爆| 日韩精品专区在线影院重磅| 午夜视频在线| 日本不卡高字幕在线2019| 成人性生交大片免费看中文视频 | 欧美一卡二卡三卡| 成人av一区| 国产精品wwww| 亚洲免费福利一区| 狠狠97人人婷婷五月| 国产精品一区久久久久| 国产精品综合激情| 欧美三级电影网站| 麻豆导航在线观看| 欧美一区二区.| 国产精品qvod| 男女私大尺度视频| 高清shemale亚洲人妖| 国产大片免费看| 欧美高清dvd| 素人av在线| 国产美女久久精品| 色综合狠狠操| 亚洲久久中文字幕| 中文字幕在线不卡视频| 国产亚洲久一区二区| 亚洲欧美精品中文字幕在线| 成人免费影院| 欧美一区二区三区精美影视| 亚洲神马久久| 亚洲精品视频大全| 欧美色videos| 国产在线你懂得| 国产精品视频导航| 91精品蜜臀一区二区三区在线| 亚洲自拍第三页| 夜夜嗨av一区二区三区网页 | 久久久久久久久久网| a级高清视频欧美日韩| 毛片在线免费视频| 亚洲人在线视频| 精品欧美日韩精品| 在线精品日韩| 国产成人鲁色资源国产91色综| 青娱乐91视频| 日韩av在线电影网| 电影一区二区三| 亚洲制服欧美久久| 国产一区二区三区精品视频| 免费中文字幕在线观看| 亚洲高清在线观看| 欧美日韩电影免费看| 中文字幕日韩一区二区三区不卡 | 在线 丝袜 欧美 日韩 制服| 欧美午夜xxx| 日本高清视频在线播放| 99久久无色码| 亚洲专区欧美专区| 99自拍偷拍视频| 精品国产麻豆免费人成网站| 黄在线观看免费网站ktv| 日本一区二区三区www| 久久国产精品免费| 久久无码精品丰满人妻| 亚洲欧美另类中文字幕| 欧美日韩视频免费看| 成人免费a级片| 久久久精品日韩欧美| 国产强伦人妻毛片| 77777亚洲午夜久久多人| 成人影视亚洲图片在线| 蜜桃视频无码区在线观看| 欧美丝袜一区二区三区| 国产在线观看av| 久久综合一区二区三区| 精东粉嫩av免费一区二区三区| 日本少妇全体裸体洗澡| 色七七影院综合| 日韩超碰人人爽人人做人人添| 国产一级片自拍| 精品露脸国产偷人在视频| 精品国产丝袜高跟鞋| 欧美高清性xxxxhd| 国产成人综合亚洲网站| 日批视频免费观看| 性欧美在线看片a免费观看| 欧美xxav| 白白色免费视频| 亚洲国产精久久久久久| 亚洲午夜剧场| 日韩视频免费在线播放|