OnClickListenerをどこに実装するか?

いつも悩ましく思ってた、AndroidのButtonのOnClickListenerをどこに実装するか?

昔はAndroidのアプリを作ってた時は、Activityにimplements OnClickListenerしていた。
たぶん、Win32APIのメッセージループを連想してそうしてたのかな。

最近になって、サンプル眺めてると引数に無名クラスを渡すケースが
多いなぁと思って、どうするのが一般的なのか調べてみた。

Android - 美しいOnClickListenerの実装方法(を教えてください) - Qiita
http://qiita.com/t2low/items/8ac683c7ebf4b6dd1b41

自分で調べたわけではなく、すでに記事があったので参考に。
結局、他所から参照される余地をなくす、ミスを減らすという点で
引数に無名クラスを渡すケースが有利とのこと。なるほど。

個人的には、一つの関数の行数が多くなるから…と思って
嫌なんだけどなぁと思うんだけどね。

と思ってたら、もっと良い方法が先ほどのページに書いてあって、
Butter Kninfeなどを使うとアノテーションでOnClickの指定ができる。
おぉ、こりゃ便利。例えば、こんな感じ。

1  @InjectView(R.id.button_login)
2  Button login_button_;
3
4  @OnClick(R.id.button_login)
5  void onClickLoginButton() {
6    String user  = text_user_.toString();
7    String pass  = text_pass_.toString();
8    ....
Posted at : 2015-02-22 16:01:30 / Category : android

Android Studioのショートカットキーリスト

毎度忘れるのでメモ

Android Studio ショートカットキーリスト for Mac - Qiita
http://qiita.com/Tazake/items/5c725a8b68d13271d43d

Posted at : 2015-02-22 15:49:26 / Category : android

AndroidのGPSの取得頻度

ネットで調べてるといろいろと書かれていて,「それ違うだろ!」って突っ込みたくなるような
ことまで書いている人がいて何か….

その中でよく見かけるのは,iOSは取得できないことはほとんどないのに,Androidは取得できないということ.
実際にiOSは開発したことがないので本当なのかどうかはさておき,たぶんそうだろうなと思った.
Androidの場合,さまざまな端末があって搭載しているGPSのチップもまちまちになってしまい,挙動が変わってくるんだろう.
(下手するとGPSの電源管理周りも違ってそう)

どう対処するかだけど,ハードウェアレベルの話まで絡んでくるのでどうしよもなさそう.
バックグラウンドで常に一定間隔でGPSの取得とかやっていれば,多少改善したりもするかもしれない.

Posted at : 2014-07-13 08:37:30 / Category : android