Galaxy TabにはイオンSIMプランAを差して使っているのですが、3G通信をONにしていると他で言われているとおり結構な速度で電池が減ります。
battery useで見てみると、3GのCell StandbyがDisplayよりも電池を食っていると言うひどい状態です。
なので、最初は家に帰ると3G回線はオフするってのを手動でやっていました。
しかしこれが結構めんどくさい。
Android マーケットでそのような機能を探してみたんですが、機内モードとWiFiが別のボタンになっているようなwidgetはありますが、一気にやってくれるものは見つからず。。
# 後で友人にLlamaってのがいいんじゃないかと教えてもらいました。
まぁ、無いなら無いで作ってみようと思いたちました。
<できたアプリ>
<作成の工程>
1. widgetを作ってみる(30分)
一応widgetの形にはなったんですが、いかんせんandroidのリソース管理やイベント通知の方法などの下調べなしにコードをいじったのもあって、widgetのタッチイベントがうまくいかず。(嫌になって)もう遅い時間だったので続きは後日に。
2. とりあえずアプリ(30分)
まずはアプリで良いので、やりたい事が可能かを試してみました。
方法は強引ですが、以下のやり方で一応やりたい動作はできました。
if ( airplaneモードはON? ) {
wifiをONに
airplaneモードをOFFに (≒3G ON)
} else {
airplaneモードをONに (≒3G OFF)
wifiをOFFに
}3. リソース作成 (60分)
うまく動いたので、嬉しくなってiconの画像を準備。この時はまだwidget化する気だったので、ちゃんとON/OFFがわかるものも用意した。
4. 動いたら満足しちゃった
アプリ用のアイコンを設定したら、割とそれっぽいのと、手法はともかくやりたかった設定変更は出来たので、(widget化が邪魔臭く)満足しました。
5. 今後
ひとまずアプリになっちゃっているのをwidget化したい。
切替判定がairplaneモードだけだが、他の設定も見て想定外の状態だとアラートでお知らせとかも必要かな。。
Android マーケットに上げてみようかなぁ。(気が向けば)
思ったこと。
やっぱり横着せずにOSやフレームワークの仕組みくらいはざっと調べてから作るべきですね。あとリソースの概念はiPhoneのが好みかな、まあjavaとobjective-cの違いなのかも知れませんが。。
# あっ、プロフィールでiOSアプリ開発って書いてるのに、初の開発系の投稿がandroidだ・・・(^^;;
0 件のコメント:
コメントを投稿