第4回 Androidの肝,アクティビティ … サンプルアプリの動作確認

Android開発に関するメモランダム

カテゴリー: IDE  閲覧数:494 配信日:2012-01-23 00:00


アクティビティ
・Androidの画面に相当し,ユーザが操作する画面と操作に対する処理を行う
・画面を持つアプリは,必ずアクティビティを持つ

同じ画面に相当するウィンドウとの違い
・状況に応じて分岐する遷移状態を持つ
・インスタンスの保存・復帰する仕組みを持つ
・Android OSのタイミングで,強制終了・再起動される

サンプルアプリを修正
・アクティビティの動きを確認するために,Dalvik Debug Monitor(以下,ddms)を利用
・ddmsは,SDKフォルダ以下のToolsフォルダに収録されているので,ダブルクリックで起動(Windowsは,ddms.bat)
▼D:/Android/android-sdk/tools/ddms.bat

ddms
・名前の通りアプリのデバッグに活用できる
・ソースコードに,以下のコードを追加すると,ddmsのログウィンドウにデバッグメッセージを表示
Log.d( "SkeletonActivity", "onPause" );

Eclipseを起動して,パッケージエクスプローラーのSkeletonActivityからSkeletonActivity.javaを選択して,コード修正
//Logクラスをインポートしないとエラーとなるので,以下のクラスをインポート
import android.util.Log;

@Override
protected void onResume() {
  super.onResume();
Log.d( "SkeletonActivity", "onResume" );//ddmsのログウィンドウにデバッグメッセージを表示
}

@Override
protected void onPause() {
  super.onPause();
Log.d( "SkeletonActivity", "onPause" );//ddmsのログウィンドウにデバッグメッセージを表示
}

起動
・パッケージ・エクスプローラーから「SkeletonActivity」を選択して,[実行]メニューの[実行]を選択
・[次を実行]ダイアログが表示されるので,一覧から[Android Application]を選択して[OK]をクリック

エラー
・contains error(s)と表示されたら、コードに誤りがある
・修正後、再度実行

ddmで確認
・「onResume」と「onPause」が、右下ウインドウに表示されることを確認

ddmメッセージをフィルター
・SkeletonActivityが出力したメッセージを探すのが面倒なので,メッセージをフィルターする機能を使って,表示メッセージを絞り込む
・フィルターの追加は,画面左下ログペインの「+」をクリック
・[by Log Tag]には,コードで指定したTagを指定する
・ここでは、連載通り、「Filter Name」と[by Log Tag]に「SkeletonActivity」と入力

ddmsを使って動きを確認
・「onResume」…「SkeletonAPP」が最前面に表示されている状態
・「onPause」…「SkeletonAPP」が最前面に表示されていない(裏に回っている)状態。最前面にはメニューなど別の画面が表示されている状態
・実際にエミュレーターを動かしながら、ddmメッセージが、「onResume」から「onPause」等へ切り替わるタイミングを確認していく
※アクティビティが裏にあり「onPause」の状態で,他のアプリから大量のメモリが要求されると,Android OSが背面のアクティビティを強制終了する可能性がある。強制終了したアクティビティが復帰の時は「onResume」からではなく「onCreate」からとなり,一から起動された場合と同じ遷移になる。これは,アプリを開発するうえでは,大きなポイントになる

リソース管理のコツは?
アプリによって,リソース管理方法は異なる
<例>
・1画面,1アクティビティとする
・強制終了される前提でリソースを扱う
・アクティビティを跨いでリソースを使用しない

週間人気ページランキング / 5-12 → 5-18
順位 ページタイトル抜粋 アクセス数
アクセスが、ありませんでした! 0
2024/5/19 1:01 更新
指定期間人気ページランキング / 1970-1-1 → 2024-5-18
順位 ページタイトル抜粋 アクセス数
アクセスが、ありませんでした! 0
2024/5/19 1:01 更新