速通鸿蒙開発者文書 シリーズ:
- [[速通鸿蒙 - 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 もたくさん見ることができます。
@kit.xxx
は api/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 内での封装方法を説明しました。