yuu_nkjm blog
2011-01-14(Fri) [長年日記] 編集
[Java] JVM上で実行している箇所(ソースコード内の行数)の表示
現在どのソースコードの何行目にいるかを取得したいことがある.log4jの機能を使って,ログファイルに書き出すような方法も考えられるが,文字列として取得したい場合などは他の方法が必要.そんなとき,Thread.currentThread().getStackTrace(),もしくはException.getStackTrace()を使う.
メソッドの呼び出し元を調べたい時にも使える.
Threadクラス
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
出力例↓
java.lang.Thread.getStackTrace(Thread.java:1436)
info.nkjm.yuu.java.Hoge.start(Hoge.java:23)
info.nkjm.yuu.java.Hoge.main(Hoge.java:16)
Exceptionクラス
StackTraceElement[] stackTraceElements = new Exception().getStackTrace();
出力例↓
info.nkjm.yuu.java.Hoge.start(Hoge.java:23)
info.nkjm.yuu.java.Hoge.main(Hoge.java:16)
[ツッコミを入れる]
2011-01-13(Thu) [長年日記] 編集
[Java][リフレクション][例外] Methodクラスのinvokeメソッドにより呼び出した先で起こった例外の出力
Method method;
try{
method.invoke();
catch (InvocationTargetException e) {
e.printStackTrace();
e.getCause().printStackTrace();
}
リフレクションでMethod#invoke()を使って呼び出した先のメソッドで発生した例外は,java.lang.reflect.InvocationTargetExceptionとして投げられる.この例外eから実際に発生した例外を取得するには,e.getCause()とする.
[ツッコミを入れる]
2011-01-12(Wed) [長年日記] 編集
[Android][Eclipse] EclipseでAndroidアプリケーションを開発する
星の数ほど似た記事はあるが,自分のメモ用に.
ダウンロード
- Android SDKをダウンロードする.Android DevelopersのDonwloadから,android-sdkをダウンロード.解凍して,好きな場所に設置する.
Eclipseの設定
- Eclipse用のpluginをインストールする.Eclipseのヘルプ→ソフトウェアのインストールを選択する.URLをhttps://dl-ssl.google.com/android/eclipse/とする.名前は,Android Pluginあたりで.パッケージは全てを選択する.Eclipseを再起動する.
- Android Pluginの設定をする.ウィンドウ→設定→Androidとして,SDKロケーションに,SDKをおいたパスを設定する.
- ウィンドウよりAndroid SDKおよびADVマネージャを起動する.
- Installed Packageを選択し,Update Allを選択する.必要なAPI類をインストールする."SDK Platform Android xx, API"は最新のもの以外は必要ないので,あとはリジェクトにした.
AVDの設定
- Virtual Devicesより,新規を選択.適当な名前をつける.ターゲットは必要なAPIを指定する.SDカードのサイズは適当に.SkinはDefault(HVGA).ハードウェアもデフォルトとする.Create AVDをクリック.
- Virtual Devicesから先ほど作成したAVDを選択し,開始をクリック.
- ユーザのホームディレクトリ以外にavdのプロファイルが出来ると,起動に失敗するようだ.".android/avd/"ディレクトリがユーザのホームディレクトリにないとだめみたいなので,移動するかシンボリックリンクを張る.この現象は,Windowsのシステム回りのディレクトリ(デスクトップディレクトリ,ユーザのホームディレクトリ)を変更していると起こるそうだ.
- Android SDKおよびADVマネージャを再起動する.
- Virtual Devicesから先ほど作成したAVDを選択し,開始をクリック.今度は起動する.
Androidプロジェクトの作成
- ファイル→新規作成→Android→Androidプロジェクトを選択する.アプリケーション名,パッケージ名,Min SDK versionは適当.Create Activityにチェックを入れる.名前は適当でOK.完了を押すとプロジェクトが作成される.
- AndroidManifest.xmlを編集する.アプリケーションタブを選び,Debbagableをtrueにする.
Androidプロジェクトの実行
- 自動で生成されたActivityクラスをextendsしたJavaファイルを選択し,実行→デバッグの実行構成を選択.Androidアプリケーションを選択し,右クリックして新規作成する.
- Eclipseをcleanコマンドつきで再起動する.
- Androidプロジェクトをプロジェクトの項で指定する.実行を押す.
[ツッコミを入れる]