androidでログを出力してデバッグ調査
ステップ実行できるとかはともかく
ライフサイクルとかで別の画面にいったあとに戻った場合の直後の処理を実行したいけど
onCreate?じゃないけどどこかわからないのでログで追跡するとか
また、定数の値や変数の値を確認する場合に使用する
実装例
package jp.mshige1979.app.sampleappactivity1; import android.content.Intent; import android.support.v4.view.MenuItemCompat; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.Window; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class MainActivity extends ActionBarActivity { private ListView listview; @Override protected void onCreate(Bundle savedInstanceState) { Log.d("activity", "onCreate"); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 表示用データ String[] list = {"aaaa", "bbbb", "cccc", "dddd"}; // 紐付け listview = (ListView)findViewById(R.id.listView); // ArrayAdapterへ設定 ArrayAdapter<String> adapter = new ArrayAdapter<String>( MainActivity.this, android.R.layout.simple_expandable_list_item_1, list); // リストビューへ設定 listview.setAdapter(adapter); // リストをクリック listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // リストビューの項目を取得 ListView listview = (ListView) parent; String item = (String)listview.getItemAtPosition(position); // インテントのインスタンス生成 Intent intent = new Intent(MainActivity.this, MainActivity2.class); // 値をセットする intent.putExtra("list_item", item); // 次画面のアクティビティ起動 startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { Log.d("activity", "onCreateOptionsMenu"); // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); // メニューボタンを追加 MenuItem item = menu.add("NEW"); item.setIcon(android.R.drawable.ic_input_add); MenuItem item2 = menu.add("DEL"); item2.setIcon(android.R.drawable.ic_menu_help); // メニューのイベント定義 item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { // インテントのインスタンス生成 Intent intent = new Intent(MainActivity.this, MainActivity2.class); // 次画面のアクティビティ起動 startActivity(intent); return false; } }); // 画面に表示する処理 MenuItemCompat.setShowAsAction(item, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM); MenuItemCompat.setShowAsAction(item2, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { Log.d("activity", "onOptionsItemSelected"); // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } @Override protected void onStart() { Log.d("activity", "onStart"); super.onStart(); } @Override protected void onResume() { Log.d("activity", "onResume"); super.onResume(); } @Override protected void onRestart() { Log.d("activity", "onRestart"); super.onRestart(); } }
※第一引数:なんかグループ指定したいタグとか
※第二引数:ログメッセージ
結果
※乱発したらあとで消すのが大変かも