スポンサーリンク

2016年7月22日金曜日

Android アプリに Google アナリティクスを導入したら Wake Lock パーミッションが付いてしまった

Android アプリでユーザの動向を捉もうとアナリティクス(Google アナリティクス)を導入したところ、何故か Wake Lock パーミッション(アプリをスリープさせないパーミッション)が付いてしまいました。

このドキュメント によれば、non-Google Playアプリでデータの送信を効率化するために、オプションで WAKE_LOCK を有効にすることができる、とあります。non-Google Playアプリではアナリティクスのデータをバックグラウンドで送信するのに、プロセスをスリープさせないようにした方が効率的だということのようです。

Google Play アプリであればこれは全く必要ありません。それに「オプション」と書いてあるくせに、手順通りにやると、明示的に指示していないにも係わらず、勝手に WAKE_LOCK が有効になってしまいます。多分どこかのライブラリが有効化してしまっているのでしょう。

2016年7月20日水曜日

Android カスタムレイアウトの Single Choice ListView を作る方法

Android で Single Choice の ListView を作る場合、simple_list_item_single_choice.xml という単純なレイアウトが用意されています。これは TextView + RadioButton というシンプルなものです。(昔は TextView が二段になった simple_list_item_2_single_choice.xml というのもあった筈ですが、何故か今のSDKでは使えなくなっています。) しかしカスタムレイアウトで Single Choice をやろうとすると結構面倒です。多くの人が同じ苦労を繰り返さないよう、ここにメモを残しておこうと思います。

2016年7月18日月曜日

Android から FloatMath クラスが消えた

Android SDK の FloatMath クラスは、Java の Math クラスの代替えです。Math クラスは多くのメソッドが double ベースで実装されているのに対し、FloatMath は float ベースで実装されているので、より高速に処理することができる、と多くの所で解説されています。ゲームなどはほんとんどの場合 float 精度で十分なので重宝していました。

2016年6月16日木曜日

Android アプリのリリースで zipalign エラー

Androidアプリをデベロッパーコンソールにアップロードしようとしたらこんなエラーが出てしまいました。



あれっ?また何かやらかしてしまったかなとちょっと焦りました。今まで見たことのないエラーです。zipalignがどうのこうのと言っています。

2016年6月14日火曜日

Emacs fill-paragraph を便利にする

Emacs の fill-paragraph コマンドはパラグラフ全体を適切な位置で改行して整形してくれます。地味なコマンドですが、文章を書いていて最もよく使うコマンドの一つです。通常は M-q にバインドされています。なので少し文章を書くと、反射的に M-q を叩く習慣が身についています。

2016年5月27日金曜日

ベテルギウスが爆発する?

オリオン座のアルファ星(一番明るい星)はベテルギウスと呼ばれ、全天の中で最も明るい星の一つであり、冬の大三角を構成する星の一つでもあります。

このベテルギウスが今にも爆発するのではないかと最近ネット上で騒がれています。しかしベテルギウスが星の一生を終えて超新星爆発間近などというのは何年も前から言われていることで、ちょっと天文に詳しい人にとっては半ば常識的な話です。今更騒ぐほどの事でもありません。特に新しい兆候が見つかったという事でもないようです。

2016年5月24日火曜日

Cyclomatic Complexity (循環的複雑度)とは何か?

Android Studio(IntelliJ IDEA)のインスペクション機能は、ありとあらゆる方法でコードの問題点を指摘してくれる神機能です。このインスペクションでメソッドが複雑過ぎると警告が出ることがよくあります。この時 cyclomatic complexity が10を越えている、などと言われます。この cyclomaic complexity とは何なのか調べてみました。