基本的な動きの流れが分かったのでメモメモ。
SDKに付いてくるサンプルプログラムを見てみると、必ずインポートしてるライブラリがあります。
import android.app.Activity;
そして、どのアプリケーションも必ず同じ始まり方をしているようです。
@Override
public void onCreate(Bundle savedInstanceState) {…}
なんじゃらホイって調べると、Androidアプリケーションの基本的な流れが詳しく解説してあるページが見つかります。↓
androidパッケージが一覧になっているサイト(AndroidDevelopers)で捜すと、
android.app.Activity Class Overviewが見つかります。
XMLタグの種類も書かれています。
@ITでは流れが分かりやすく解説してあるサイトが見つかりました。
Androidアプリ作成の基本“Activity”とは何か?
非常に分かりやすいサンプルが置いてあるので貼らせていただきますm。(コピペじゃないよ!)
package com.example.android.lifecycle;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
public class ActivityLifecycle extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Toast.makeText(this, "onCreate()", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStart() {
super.onStart();
Toast.makeText(this, "onStart()", Toast.LENGTH_SHORT).show();
}
@Override
protected void onRestart() {
super.onRestart();
Toast.makeText(this, "onRestart()", Toast.LENGTH_SHORT).show();
}
@Override
protected void onResume() {
super.onResume();
Toast.makeText(this, "onResume()", Toast.LENGTH_SHORT).show();
}
@Override
protected void onPause() {
super.onPause();
Toast.makeText(this, "onPause()", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStop() {
super.onStop();
Toast.makeText(this, "onStop()", Toast.LENGTH_SHORT).show();
}
@Override
protected void onDestroy() {
super.onDestroy();
Toast.makeText(this, "onDestroy()", Toast.LENGTH_SHORT).show();
}
}
他のClassを見てみると、ほとんどの動作がオーバーライドされていて、基本動作は全てイベントドリブンな事も分かりました。
①基本的なフローをオーバーライド
②中でオブジェクトを作成・設定
③オブジェクトの中でさらにオーバーライド
みたいな感じで出来そう。
onCreate自体どうやって呼ばれてるのとか凄く気になる。。。