一介の開発者の戯言

※2011/09/08更新
※2011/09/05更新
※2011/09/02更新
※2011/08/05更新
なんとなくwidgetを作ってみたくなったのでとりあえずディスクの使用量を表示するwidgetを作ってみました。
確認可能な範囲では問題なく動作しています。
メモリの総量を調べる方法がどうしてもわからなかったので/proc/meminfoを見るようにしました。
容量を表示させるだけではつまらないのでパーセント表記も追加したりして少し混みあったデザインになっています。
・横2縦1マス固定
・SDカード似のデザインを含む6つのデザイン
・メインメモリ・内蔵メモリ・SDカード・CPU周波数・カスタムの5種類中3種類のグラフを表示可能
・カスタム設定で端末にあったマウントポイントを指定できます
・更新間隔は秒単位で指定可能です
・画面がオフの時にはタイマーも含めて停止する省電力設計(確認用にスリープ時にも動作するオプションを追加)
・使用率80%以上で黄色、90%以上で赤のグラフになります。(CPU周波数表示を除く)


DiskFreeWidgetホームページ(2011/09/08 バージョン1.23)
不具合や要望があればコメント下さい。


ウィジェット自体をクリックすると強制的に更新動作をします。
グラフが出ないときはクリックしてみてください。
タブレット系の端末だと表示が小さく感じるので何とかしたいと思っています。

動作確認端末
Xperia X10i(ThGo2 V2.1)
HTC EVO 4G
HTC DesireHD(2.3)
Archos5IT
Ramos W7

※半分ぐらいの端末でappWidgetの設定画面からsetResultでRESULT_OKを返した時にappWidget側でActionが受信されないのでpendingIntent.send()で強制的に送信するようにしました。

2011/08/05 HTC EVO 4G(au版)で再起動すると枠しか描画されない不具合を修正しました。
2011/09/08 各種設定やCPUの履歴をDBで管理するように変更しましたが、DBへのアクセスは負荷が高くCPUを食い過ぎるので極力メモリ上で保持して、失った場合にのみDBから読み込むようにしました

現状の私の知識ではAlarmをうまくキャンセル出来ないのでAlarmはリピートを使わずにキャンセルしなくても次から作らないようにすることで解決しています。
完全に殺されてしまう場合もあるのでロック解除時に送信されるACTION_USER_PRESENTを受信するようにしてそこで起きるようにしてあります。

コメント

コメントを受け付けておりません。