PR

ダムのバッテリーウィジェット作りました

Android
この記事は約4分で読めます。
スポンサーリンク

Androidアプリ作成の学習も兼ねて、バッテリー残量をダムの水位で表す俺得ウィジェットを作りました。

開発環境はずいぶん前に作ったのですが、Android SDKの更新とかやったら新規プロジェクトが作れない謎な現象にはまってしまったので、構築しなおしました。
いつの間にか構築が簡単になっていて、DLして解凍して~って言う具合で構築はDLを含めても1時間くらいで出来るようになりました。昔構築した時はもう少しめんどくさかったイメージがあるんだけどなぁ。

開発環境構築にはこちらを参考にさせて頂きました。
http://note.chiebukuro.yahoo.co.jp/detail/n134579

さてウィジェットの作成ですが、ほぼネット上で作り方を解説しているものをコピペして作りましたw
ただ、参考にしたものはタスクキラーアプリやAndroidOSの動作?によりサービスが落ちたり、ウィジェットをゴミ箱に移動してもサービスが停止せずに動き続けていたりしたため、少し手直しはしました。

バッテリー残量は0 , 20 , 40 , 60 , 80 , 100の6段階を画像切り替えで表示しています。

100%充電状態の時は上の画像になります。水位はほんの少しだけ天端よりは低くなるようにしています。
昔から絵を書くのは苦手、センスなしなので適当に作りました。

PCで作ったものと実際スマホ実機で動かしたものでは色合いとかちょっと違ってて、うーんって言う感じですが、個人的には満足なので良い事にしました。

画像だけではさみしいので、ウィジェット上部に文字を表示するようにしています。

バッテリー残量を画面上部左端に配置
バッテリー状態を画面上部右端に配置
バッテリー温度を上記の1行下に配置

バッテリーの情報はBroadcastReceiverでIntent.ACTION_BATTERY_CHANGEDを受け取り表示を切り替えています。

現在表示しているのは上記で説明した3つ。スペース的にあまり文字をたくさん並べても見にくいかなぁと思ってこれだけにしています。

現状、表示している項目について説明します。

バッテリー残量(level)
EL 100.0m のように表示しています。ちなみに.oは固定で100の部分が0~100で変化します。

バッテリー状態(status)
BATTERY_STATUS_CHARGING(充電中)の場合 ・・・ 流入量増
BATTERY_STATUS_DISCHARGING(放電中?)の場合 ・・・ 放流中
BATTERY_STATUS_FULL(満充電)の場合 ・・・ 満水位
BATTERY_STATUS_NOT_CHARGING(未充電)の場合 ・・・ 放流中
その他 ・・・ 表示なし
としていますが、 BATTERY_STATUS_DISCHARGINGについては手持ちのスマホ(Xperia acro)では、一度も動いたことがありません。どういう時にこの状態になるのかがわかりません。ネットで調べてもイマイチわかりませんでした。

バッテリー温度(temperature)
水温 20.0℃のように表示しています。

バッテリー残量の画像切り替え
上で書いた通り6段階です。100は満水位(level = 100)の時しか表示されません。

個人的にはこれでいいかな~って思っていますが、4文字(表示幅の問題でこれ以上は厳しい)まででこっちの方がいいんじゃない?と言うフレーズがあれば、言ってください。特に充電中の流入量増って言う部分、水位上昇のが良いとかあれば。バッテリー残量が10を切った時は「渇水」とか表示してほしい(しかも赤文字)とかそう言うこともできます。

Androidのバッテリー情報はほかにも、
health(ヘルス) ・・・ GOOD , OVERHEAT , DEAD , OVER_VOLTAGE , その他
plugged(接続されているプラグ) ・・・ AC , USB
voltage(電圧) ・・・ mV
なんかも取得できます。でもこれらは情報として表示しても意味が無いと思ったので使いませんでした。

ダムクラスタの方で何人かインストールしてくれた人がいるようですが、手持ちのXperia acro(SO-02C)とGALAXY TAB 10.1 LTE(SC-01D)に入れてみた所、acroは思い通りの表示でしたがTABは少し堤体に文字が被ってしまうと言う表示上のズレがありました。まぁ読めないってこともないので、治し方もよくわかんないし、しばらく様子見です。

使ってみようと思う人がいれば、サーバーにアップしてあるので入れてみて下さい。(自己責任でお願いします。)
http://android.digiat.net/

 

2014/08/06追記
google playに公開しましたので、こちらからDLしてください。
https://play.google.com/store/apps/details?id=net.digiat.dam.widget

コメント

タイトルとURLをコピーしました