一畳のくつろぎタイム

このブログでは紹介する商品画像をAmazonアソシエイトより借りています。画像やリンクにはアフィリエイト広告が含まれる事があります

2016年3月4日金曜日

(Android)メソッド名の取得

ライフサイクル系メソッドの動きを確認するために、ログをいれて動きを見ることをよくやるが、その場合にメソッド名を自分で書くのが非常にめんどくさい。

iOSならば__PRETTYFUNCTION__と入れるだけでメソッド名が出るので、重宝している。
NSLog(@"%s",__PRETTYFUNCTION__);

他のサイトを見てみると、スタックトレースから情報持ってくればいいとのこと。
但し、無駄な処理が多いので、動作確認用につかうぐらい。

StackTraceElement throwableStackTraceElement = new Throwable().getStackTrace()[0];
System.out.println(throwableStackTraceElement.getClassName() + "#" + throwableStackTraceElement.getMethodName() + "(" + throwableStackTraceElement.getLineNumber() + ")");

Android Studioを使っていて、structureのウインドウにメソッドの一覧やフィールドが表示されていたはずだが、確認できなくなった。

なんと中途半端に日本語化できるresources_jp.jarを使っている事が原因であった。
http://ogawa.s18.xrea.com/tdiary/20150911p01.html

CTRL+F12でも出せるようなので、日本語化するか、しないかはお好みで。