更新履歴

未分類‎ > ‎

アクティビティとインテント


アクティビティ

アクティビティは、1つの画面の処理内容をまとめた単位みたいなものです。
画面が切り替わるとき、アクティビティを切り替えています。切り替え後のアクティビティを
終了すると、呼び出し元のアクティビティが呼ばれます。

インテント

あるアクティビティから、他のアクティビティに移るとき、インテントという仕組みで切り替えます。
インテントには、「明示的なインテント」と「暗黙的なインテント」という2種類があります。
明示的なインテントとは、あるアクティビティから、他のアクティビティを直接選択するような
処理の時に使われます。
暗黙的なインテントは、あるアクティビティから、呼び出したいアクティビティの「情報」を
Android OSに渡して、Android OSが呼び出すアクティビティをリストアップしてくれる
処理の時に使われます。

明示的なインテントの例

1つ目のアクティビティから、ボタンクリックで2つ目のアクティビティに移り、2つ目のアクティビティで
ボタンクリックすると1つ目のアクティビティに戻る例です。

FirstActivity.java

package asobi.android.simple_content1;

import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class FirstActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout1);
        Button button = (Button)findViewById(R.id.button1);
        button.setOnClickListener(new ButtonClickListener());
    }
   
    /// ボタンクリック時の処理。Intentオブジェクトを生成して
    /// SecondActivityを呼び出している。
    class ButtonClickListener implements OnClickListener {

        public void onClick(View v) {
            Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
            startActivity(intent);
        }
    }
}

SecondActivity.java

package asobi.android.simple_content1;

import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class SecondActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout2);
        Button button = (Button)findViewById(R.id.button2);
        button.setOnClickListener(new ButtonClickListener());
    }
   
    class ButtonClickListener implements OnClickListener {
        public void onClick(View v) {
            finish();
        }
    }
   
}

暗黙的なインテントの例

工事中
サブページ (1): 値を渡す/受け取る
Comments