いつも悩ましく思ってた、AndroidのButtonのOnClickListenerをどこに実装するか?
昔はAndroidのアプリを作ってた時は、Activityにimplements OnClickListenerしていた。
たぶん、Win32APIのメッセージループを連想してそうしてたのかな。
最近になって、サンプル眺めてると引数に無名クラスを渡すケースが
多いなぁと思って、どうするのが一般的なのか調べてみた。
Android - 美しいOnClickListenerの実装方法(を教えてください) - Qiita
http://qiita.com/t2low/items/8ac683c7ebf4b6dd1b41
自分で調べたわけではなく、すでに記事があったので参考に。
結局、他所から参照される余地をなくす、ミスを減らすという点で
引数に無名クラスを渡すケースが有利とのこと。なるほど。
個人的には、一つの関数の行数が多くなるから…と思って
嫌なんだけどなぁと思うんだけどね。
と思ってたら、もっと良い方法が先ほどのページに書いてあって、
Butter Kninfeなどを使うとアノテーションでOnClickの指定ができる。
おぉ、こりゃ便利。例えば、こんな感じ。
毎度忘れるのでメモ
Android Studio ショートカットキーリスト for Mac - Qiita
http://qiita.com/Tazake/items/5c725a8b68d13271d43d
ネットで調べてるといろいろと書かれていて,「それ違うだろ!」って突っ込みたくなるような
ことまで書いている人がいて何か….
その中でよく見かけるのは,iOSは取得できないことはほとんどないのに,Androidは取得できないということ.
実際にiOSは開発したことがないので本当なのかどうかはさておき,たぶんそうだろうなと思った.
Androidの場合,さまざまな端末があって搭載しているGPSのチップもまちまちになってしまい,挙動が変わってくるんだろう.
(下手するとGPSの電源管理周りも違ってそう)
どう対処するかだけど,ハードウェアレベルの話まで絡んでくるのでどうしよもなさそう.
バックグラウンドで常に一定間隔でGPSの取得とかやっていれば,多少改善したりもするかもしれない.