« ヨーダの教え | トップページ | 朝起きたら雪だった »

2011年1月15日 (土)

初めてのアプリケーション

さて、ここのところご無沙汰でした。

これでも社会人なので昼間は会社に居ます。(必ずしも仕事をしているわけではないですが)
なので、平日はそうそう進捗はないです。

週末になって、とにかくアプリケーションと呼べるだけのものを作ろうということでまたEclipseに向かいました。初めてのアプリケーションのお題としては、とりあえず、自分が欲しいと思うもの、ということで、バッテリの充電忘れを教えてくれるアラームタイマということにしました。

初めてだし、どうせ周回遅れで始めたのでそれほど急ぐくともないでしょう。なので、それほど難しくないもの、しかし、それなりに実用になるもの。ということで決めたのですが、実用になる、という点でかなりの要素を取り入れなければいけませんね。

まず、設定の保存。PreferenceActivityなるものがあって、xmlにメニュー構成を書くとほとんどプログラミングなしで設定画面を作ってくれるのですが、問題は、設定できり機能にバリエーションが乏しいということですね。できれば、設定時刻を呼び出すダイアログもこれで作りたかったのですが、残念ながらTimePickerDialogのPreferenceは無いようです。

APIDEMOにはAdvancedなPerferenceの作り方のサンプルもあるのですが、なにやら、自動生成された画面のidを見つけ出して、自分でコールバックを設定するようです。ちょっと敷居が高いですね。こればかりにかかわっているわけにも行かないので別途値をセットするメンバを作る方針でとりあえずは行きたいと思います。

そして、バッテリが充電されているかのチェック。これはかなり例があるのでそれほど難しくはないでしょう。実際、BroadcastListnerを動かしてみましたが、ちゃんと取れました。onCreateでListenerを登録すれば、最初に現在の状態を返してくれるらしいので、アラームActivityの中でListenerを登録して、もらったBroadcastを判定するようにすれば、常に状態を保存しなくてもなんとかなりそうです。

あとは、アラームをセットする画面と、アラーム時刻になったらアラームを鳴らすアクティビティがあればアプリケーションとして成り立ちます。

アラームを鳴らすのはintentでアクティビティを呼び出せばできるでしょう。しかし、これだと、何かしているときにアラーム時刻がやってくると画面が突然変わります。サービスを使えば画面が変わることはないのでしょうが、今度は止めるのに手間どりそうです。充電中であったら鳴らさないのだし、とりあえず、Activityでやってみましょう。

という方針で作り始めました。とりえあず、アラーム音を選ぶRingtonePreferenceだけがある設定画面を作って、メインのActivityでmenuキーが押されたときに呼び出されるところまではできました。残念ながら、エミュレータのリングトーンは鳴りませんでしたが。

明日は、アラームをセットする処理を作って、スタブのアラームActivityを呼び出すようにすることにします。とりあえず、その辺りまでは行きたいですね。

« ヨーダの教え | トップページ | 朝起きたら雪だった »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/60027/50595822

この記事へのトラックバック一覧です: 初めてのアプリケーション:

« ヨーダの教え | トップページ | 朝起きたら雪だった »