Android開発のお勉強

メニュー

E-Mail



Activityのライフサイクルを確認

 ActivityのメソッドをOverrideしてToastを表示することで、
 ライフサイクルを確認します。
 ブラウザが起動された場合、Activityがどの状態になるかを確認するため、
 レイアウトにボタンを配置して、ブラウザを起動する処理を実装します。
 
 確認した結果は、下記の通りです。
 ブラウザ起動時には、OnPauseまでかと思いましたが、OnStopも呼ばれました。
 
 起動時
  OnCreate → OnStart → OnResume
 ブラウザ起動
  OnPause → OnStop
 ブラウザを閉じる
  OnRestart → OnStart → OnResume
 ホームボタン押下
  OnPause → OnStop
 Activityを再度起動
  OnRestart → OnStart → OnResume
 Activityを閉じる
  OnPause → OnStop → onDestroy
 
● Activity


import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Toast.makeText(this, "OnCreate", Toast.LENGTH_LONG).show();

        Button btn = (Button)findViewById(R.id.button1);
        btn.setOnClickListener(new OnClickListener(){

            public void onClick(View v) {
                    String url = "http://www.google.co.jp";
                    Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(url));
                    startActivity(intent);
            }
        });
    }

    @Override
    public void onStart() {
        super.onStart();
        Toast.makeText(this, "OnStart", Toast.LENGTH_LONG).show();
    }

    @Override
    public void onResume() {
        super.onResume();
        Toast.makeText(this, "OnResume", Toast.LENGTH_LONG).show();
    }

    @Override
    public void onPause() {
        super.onPause();
        Toast.makeText(this, "onPause", Toast.LENGTH_LONG).show();
    }

    @Override
    public void onStop() {
        super.onStop();
        Toast.makeText(this, "onStop", Toast.LENGTH_LONG).show();
    }

    @Override
    public void onRestart() {
        super.onRestart();
        Toast.makeText(this, "onRestart", Toast.LENGTH_LONG).show();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        Toast.makeText(this, "onDestroy", Toast.LENGTH_LONG).show();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}




Copyright (C) Androidアプリ開発のお勉強. All Rights Reserved.