2013年4月25日木曜日

[Android] 続・データ通信接続状態の監視

昨日の調べ物の続き。
やはりREAD_PHONE_STATEはいただけない。
ということで、ConnectivityManagerを使って監視ができないか調査しました。

ConnectivityManager | Android Developers
http://developer.android.com/reference/android/net/ConnectivityManager.html

TelephonyManagerのように、定期的にイベントを返してくれるメソッドは無さそうな感じなので、自分でポーリングしてみることに。
5秒に1回ConnectivityManagerのgetAllNetworkInfo()を呼んでみました。うん、取れますね。

実際に機能として組み込む際はこんなに情報要らないのでgetActiveNetworkInfo()でも良さそうな気がします。
ConnectivityManagerならパーミッションも「ACCESS_NETWORK_STATE」で済みますしね。

↓サンプルはこちらです
https://www.box.com/s/5g9mi6w82k6u88k07ars

2013年4月24日水曜日

[Android] データ通信接続状態の監視

 同僚から「ネットワークの接続状態が変化したことを知る方法を知らないか」と聞かれたので、このあたりのクラスが使えるんじゃないか、ということでConnectivityManagerを伝えました。

ConnectivityManager | Android Developers
http://developer.android.com/reference/android/net/ConnectivityManager.html

自分としては試したことのないクラスだったので、勉強がてら調べて見ることにしました。すると、ConnectivityManagerではなくて、TelephonyManagerで状態変化の監視ができるらしいことがわかりました。

TelephonyManager | Android Developers
http://developer.android.com/reference/android/telephony/TelephonyManager.html

listen()というメソッドを使うことで、いろいろな状況の変化をイベントとして受け取れるようになります。とりあえず、同僚の求めているものとしては十分そう。ManifestにREAD_PHONE_STATEのパーミッションを書かないといけないのが、ちょっとあれですが。

↓サンプルコードはこちらです。
https://www.box.com/s/4ppsdxj33nhehu69hlk9

2013年4月12日金曜日

[Android] フォントを変更してみた

以下のサイトを参考にさせていただいて、Androidアプリで表示するフォントを変更するサンプルアプリを作ってみた。

オリジナルフォントを設定する方法– Android
team-hiroq http://team-hiroq.com/blog/android/android_use_original_font.html

スクリーンショット

簡単にできるんですね。

そのときのコードはこちら。
https://www.box.com/s/1j629iw82vcm61n0uytc
※サンプルにフォントファイルは含まれていません。