電池残量を知る


20130513battery_manager_sample1

電池残量を知るには、BroadcastReceiver を使用する
電池の状態が変化すると、BroadcastReceiver#onReceive に Intent で通知される。
Intent の内容は BatteryManager.EXTRA_xxx で定義されている。
電池残量は、Intent#getIntExtra( BatteryManager.EXTRA_LEVEL ) で取得できる。

ソースコードは code.google にて公開しています。

参考
バッテリーの情報(Battery information)を取得するには – 逆引きAndroid入門


Android Studio


20130517android_stadio

昨日の Google I/O で Android Studio が発表されました。
従来の Eclipse に代わり、IntelliJ + Gradle をベースとした IDE です。
Twitter では、基調講演の最中に、インストール合戦が始まりました。
私も参戦しました。

Android 公式サイト から、ダウンロードします。
インストールします。
ネットから色々ファイルを持ってくるので、のんびり待ちます。
インストールが終わったら、スケルトンを作ってみます。。
特に問題なく動きました。


Google I/O 2013 基調講演


20130516google_io_2

Google I/O 2013 が開催中です。
YouTube で生中継されています。
日本時間の16日1時より基調講演が始まりました。
全世界で 100万人が見ていたらしいです。
私も徹夜して見ていました。

全般的な印象として、Android の比重が減り、Chrome の比重が増えたかんじです。
昨年は、Google Q や Google Grass のデモがあり、見ていて楽しかったですが。
今年は、その種のサプライズがなく、 少し物足りなかったです。

Android 関係のトピックスは。
(1) 出荷数が9億台になった。
(2) Google Play からダウンロード数が480億になった。
(3) Android Studio が発表された。
従来の Eclipse に代わり、IntelliJ + Gradle をベースとした IDE が提供されました。
Twitter では、基調講演の最中に、インストール合戦 が始まっていました。
(4) Google Play Services が強化された。
Location API を使うと、ユーザが、車に乗っているか、自転車に乗っているか、歩いているかが、分かるようです。
Google Cloud Messaging では、下り方向の Push 配信に加えて、上り方向の メッセージ送信が可能になりました。
(5) Google Play Developer Console が強化された。
Beta Testing が可能になりました。
翻訳業者と提携した有償翻訳のサービスが始まりました。

関連
Google I/O 2012 基調講演

参考
「Google I/O」開催、Androidの新機能、新サービスも発表
Google I/O 2013–注目の発表内容などまとめてチェック
とっても地味だった今年のGoogle I/Oキーノート–主役はデータをサービスに変えるアルゴリズムとAPI
Google I/O 1日目まとめ(Android関連)


秒針だけのアナログ時計


20130514analog_clock_3

秒針だけのアナログ時計と時分秒のデジタル時計を作りました。
アナログ時計に秒針を追加する をベースにしました。

標準のアナログ時計では、文字盤、時針、分針の3つの画像を組み合わせています。

今回は、Canvas内に矩形を描画することで、文字盤を表現しています。
秒針は、文字盤の色を変えることで、表現しています。

ソースコードは code.google に置いています。


アナログ時計に秒針を追加する


20130513analog_clock_2

標準のアナログ時計 AnalogClock に、秒針を追加する

Android には、毎分0秒ちょうど を通知する仕組み ACTION_TIME_TICK が用意されています。
標準のアナログ時計は、これを受け取って、分を刻んでいます。

Android には、秒単位を通知する仕組みはありません。
標準の デジタル時計 では、Handler#postAtTime を使って、アプリ内で秒を生成しています。

今回は、両方を組み合わせています。
デジタル時計と同様に、アプリ内で秒を生成しています。
これは、システム時計とは1秒以下のずれがあります。
ACTION_TIME_TICK を受け取ると、このずれを補正します。

ソースコードは code.google に置いています。


PreferenceFragment


20130513preference_fragment_sample_120130513preference_fragment_sample_2

PreferenceFragment を利用した設定画面のサンプルコードです。

下記のXML要素を使用しています。
PreferenceScreen
PreferenceCategory
CheckBoxPreference
EditTextPreference
ListPreference
RingtonePreference

API 11 と API 14 にて、XML要素が追加されています。
MultiSelectListPreference
SwitchPreference
TwoStatePreference

ソースコードは Google code に置いています。

API 11 から PreferenceActivity のいくつかのメソッドが非推奨になりました。
代わりに PreferenceFragment を使用することが推奨されています。
素直に PreferenceActivity を PreferenceFragment に置き換えればよいようです。

関連
PreferenceActivity
・PreferenceFragment

参考
トグルスイッチを設定画面(Preference)で利用する – techbooster
MultiSelectListPreference example – stackoverflow


PreferenceActivity


20130511preference_activity_sample_1 20130511preference_activity_sample_2

PreferenceActivity を利用した設定画面のサンプルコードです。

下記のXML要素を使用しています。
PreferenceScreen
PreferenceCategory
CheckBoxPreference
EditTextPreference
ListPreference
RingtonePreference

ソースコードは Google code に置いています。

API11 から PreferenceActivity のいくつかのメソッドが非推奨になりました。
対応策は2つあります。
(1) @SuppressWarnings(“deprecation”) を使用する。
(2) PreferenceFragment を使用する。

関連
・PreferenceActivity
PreferenceFragment

参考
Android アプリ設定画面を作成する – yan note
設定画面を作る(PreferenceActivity )
Supported Values for @SuppressWarnings


NFC 神経衰弱 を公開しました


20120817 nfc concentration order

「NFC 神経衰弱」を Google Play に公開しました。

NFC 神経衰弱 は、昨年の夏に作って以来、永らく放置していました。
ネタとして使った写真ではマズイもので、公開できなかった。
AKB 神経衰弱 in アキバ大好き祭り

この連休中に 野毛山動物園 に行って写真を撮ってきました。
これで、晴れて日の目を見ることができました。
Android Application Award 2013 にも応募しました。
image_1image_3image_5image_7image_9

姉妹品に NFC神経衰弱「橙幻郷」版 があります。
「橙幻郷」版 との違いは。
(1) コンテンツをSDカードにコピーするようにした。
(2) コンテンツを任意に増やすことが出来るようにした。
詳しくは NFC神経衰弱の説明 をご覧ください。