ActivityとIntent

2022/10/13:内容が古いので、あまり参考にしないでください。特にコード例はそのまま使わない方がいいです。

Activity(アクティビティ)

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

Intent(インテント)

あるアクティビティから、他のアクティビティに移るとき、インテントという仕組みで切り替えます。インテントには、「明示的なインテント」と「暗黙的なインテント」という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 AppCompatActivity {

/** 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 AppCompatActivity {

/** 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();

}

}

}

暗黙的なインテントの例

工事中