辛宝Otto

辛宝Otto 的玄酒清谈

北漂前端程序员儿 / 探索新事物 / Web Worker 主播之一/内向话痨
xiaoyuzhou
email

速通鸿蒙 - ets からバッテリー残量情報を確認するまで、api ドキュメント、コード構造

速通鸿蒙開発者文書 シリーズ:

  • [[速通鸿蒙 - ets からバッテリー残量情報を確認する方法から api 文書、コード構造]]

あなたが私と同じように鸿蒙の初心者であり、巨大で未知の知識体系に圧倒されている場合は、私のこのシリーズ文書を参考にしてください。私の考えに従えば、鸿蒙の知識体系を深く理解することができるはずです。

前提準備#

ここでの前提知識は、鸿蒙のデフォルトの hello world アプリをダウンロードして実行することです。この部分を理解していない場合は、後の部分を急いで見る必要はありません。

現在のスマートフォンのバッテリー残量は?#

非常にクラシックな質問をします:どうやって api を通じて現在のスマートフォンのバッテリー残量を確認するのですか?

なぜ私がこれをクラシックだと言うのか、それは典型的なシステム api であり、文書を参照しなければ見つけられないからです。そして、他の有用なデバイス情報と一緒に置かれています。私は uts を使用して android や ios を学ぶ際にもこれを共有しました。

まずは答えを明らかにします。鸿蒙文書 ohos.batteryInfo には具体的な api の使い方が記載されています。

import {batteryInfo} from '@kit.BasicServicesKit';

let batterySOCInfo: number = batteryInfo.batterySOC;
console.info("バッテリー残量情報は: " + batterySOCInfo);

以下は、具体的な使い方を迅速に観察できる完全なページ構造です。

// Index.ets  
import {batteryInfo} from '@kit.BasicServicesKit'  
  
@Entry  
@Component  
struct Index {  
  @State message: string = 'バッテリー残量を確認'  
  @State currentInfo: number = -1  
  
  build() {  
    Row() {  
      Column() {  
        Text('現在のバッテリー残量:'+ this.currentInfo+'%')  
        Button() {  
          Text(this.message)  
            .fontSize(30)  
            .fontWeight(FontWeight.Bold)  
        }  
        .type(ButtonType.Capsule)  
        .margin({  
          top: 20  
        })  
        .backgroundColor('#0D9FFB')  
        .width('40%')  
        .height('5%')   
        .onClick(() => {  
          let batterySOCInfo: number = batteryInfo.batterySOC  
          this.currentInfo = batterySOCInfo  
  
        })  
      }  
      .width('100%')  
    }  
    .height('100%')  
  }  
}

目的は達成されましたが、まだ終わりではありません。ついでに ets の api の書き方や文書構造を学びましょう。

コード構造#

ets は ts に非常に似ており、組み込みモジュール @kit.BasicServicesKit と具体的な api batteryInfo を参照しています。

ets ではこのような kit.xxx がたくさんあり、コード内の BasicServicesKit を ctrl クリックするとコードの定義、つまり d.ts を確認でき、他の kit もたくさん見ることができます。

image

@kit.xxxapi/kits/xxx/index.ts モジュールに対応すると理解できます。さらに進むと、コード内の import batteryInfo from '@ohos.batteryInfo'; が見えます。

文書を見ずに、元の定義を見るだけで十分です。d.ts を ai に渡すと、自動的に表を生成しました。

これは batteryInfo.d.ts の内容で、表に整理しました

結果は悪くありません。

文書構造#

文書の左側のサイドバーを観察すると、バッテリー情報文書は API参考 - システム - 基本機能 - BasicServicesKit - デバイス管理内部 にあります。サイドバーの上部には、メタサービスが利用可能かどうかのチェックボックスがあり、切り替え後に色が灰色にならないことから、メタサービスも使用可能であることがわかります。

モジュールの説明、使用説明があります。メタサービスのユーザーの場合、返される値は限られており、明示的にサポートされていない限り、メタサービスは利用できません。

UTS はどのように封装されているのか?#

uniapp の uts ユーザーであれば、鸿蒙の適応がどのように行われているかを引き続き観察できます。

uni-api のオープンソースリポジトリを開き、uni-api/uni_modules/uni-getbatteryinfo に移動します。

鸿蒙の api もこのように封装されています。引き入れた @ohos.batteryInfo です。

まとめ#

この小さなケーススタディを通じて、api の使用方法、読み方、uts 内での封装方法を説明しました。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。