2012年01月20日

[Android] ACTION_DATE_CHANGED について

ACTION_DATE_CHANGED は、日付が変わったときにブロードキャストされるIntentです。
Manifestにブロードキャストレシーバーを書き、<intent-filter>のactionとして"android.intent.action.DATE_CHANGED"を設定すれば受信出来ます。

これを受信するアプリの動作確認をするとき、どうするでしょうか。
おそらく端末の時間をいじって、23:59に設定する人が多いと思います(勘です)。
1分待てば受信できますからね。
ただ、このIntent、何故か端末の時間をいじると送信されないことがあるようです。
何故そうなるのかよくわかりません。

そのとき作っていたアプリもいくら日付をいじっても全然受信しませんでした。
もしや?と思い、"昼の11:59"に設定してみました。
1分待ってみると、Intentを受信しました。昼の12:00です。ACTION_DATE_CHANGEDでした。
どういことでしょうか。時間をいじり過ぎておかしくなってしまったのでしょうか。
僕がこの動作を確認したのはhtc Desire(海外モデル)とIS01です。他の端末でも起こるかもしれません。
頻繁に時間をいじっていたので、00:00に発行されるはずのIntentが遅れてたまたま12:00ちょうどに発行されたのでしょうか?
よくわかりません。
でも、今はちゃんと00:00に受信しています(少なくともDesireは)。
よくわかりません。

「わからない」ばかり書いたので、最後に少しは役に立つ(と思う)ことを。
このIntentは基本的に1日1回来るので、いろいろと便利に使えると思います。
ただ、これを契機に通信をするのは避けた方が良いです。
僕はそのときの想像が出来ていなかったので、ひどいことになりました。
アプリを使っている人たちが一斉にアクセスしてくるのです。恐ろしいですね…。
通信するにしても、Intent受信後すぐに通信するのではなく、ユーザーからのアクセスがバラけるように工夫すると良いと思います。
タグ:android
posted by t2low at 12:42| Android

2012年01月19日

[Android] jarsigner のバグ

仕事でPCを新しくして、Android開発環境も作り直しました。
数日して、apkを未署名で出力する機会があったのですが、そのときjarsignerを使った署名がまったくうまくいかず、しばらくハマっていました。

どうやらJDK7のjarsignerでは署名できないようです。
http://groups.google.com/group/android-developers/browse_thread/thread/38f3210c28324b93

うん、確かにJDK5かJDK6を使えと書いてあります。
http://developer.android.com/sdk/requirements.html

僕は職場の人に聞いてわかりましたが、知っている人がいなかったらもうしばらくハマっていたかもしれません。
ということで、備忘録的にメモ。
タグ:android
posted by t2low at 12:57| Android

2012年01月06日

新年の抱負

あけましておめでとうございます。

ということで、今年の抱負を考えました。

・プログラム(主にAndroid)の勉強をする
・英語の勉強をする

基本的に去年行っていたことを継続していきたいと考えています。

今年に入って、Androidのセキュリティーに関する本を買いました。
個人開発者もセキュリティーについて無知ではいけないようです。
今年はまずはセキュリティーについて勉強します。

また、英語学習用に電子辞書も購入しました。
スマートフォンがあれば、オンラインで検索はできるのですが、繋がらなかったり、遅かったり、アプリの切り替えが面倒だったりしたので。
機械を2つ(スマートフォンと電子辞書)持って翻訳するのが効率が良いのかはわかりませんが…。

どちらも「勉強する」だけでは、達成出来たかどうかの判定が出来ないので、もう少し具体的な目標も考えたいと思います。

今年もどうぞよろしくお願いします。
posted by t2low at 02:39| 日記