libro
www.tuyano.com
Google androidプログラミング入門

IntentとActivity (2/6)

作成:2010-05-17 13:27
更新:2010-05-17 14:04

■Intentの基本的な使い方

では、実際の処理を行うSampleApp.javaを作成してみましょう。下のリスト欄にソースコードを掲載しておきます。

ここでは、ボタンにsetOnClickListenerメソッドでOnClickListenerを設定しています。これは、「MyClickAdapter」というクラスとして定義してあります。ここでのonClickメソッドで、Intentの実行をしています。

ここでは、http://apple.com/jp/というアドレスにアクセスする要求をIntentで行っています。これは、まず最初に「Uri」というクラスのインスタンスとしてアクセス先のアドレスを用意しています。
Uri uri = Uri.parse("http://apple.com/jp/");
このUriインスタンスは、Uriクラスの「parse」メソッドを使って作成することができます。このように、引数にアドレスをテキストとして渡すことで、そのアドレスのUriインスタンスが作成されます。続いて、このインスタンスを引数に指定して、Intentを作成します。
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
Intentの作成は、このように第1引数に「アクションの指定」を行います。これはIntentのクラスフィールドを使って指定をします。ここでは、Intent.ACTION_VIEWというように指定をしていますが、これは画面への表示アクションを示すものです。Activityを実行して画面にヒョ持させる場合は、これを指定しておけばよいでしょう。

また第2引数には、アクセスするアドレスを示すUriを指定してあります。これは、そのIntentが起動する際に必要となる情報をインスタンスとして渡すものです。
startActivity(intent);
最後に、「startActivity」を呼び出し、指定のアクティブティを実行します。引数には、作成したIntentインスタンスを渡します。これで、そのIntentが実行され、実行内容に対応するActivityが起動するようになります。ここではWebのアドレスを指定しましたので、Webブラウザが起動してくれるでしょう。

Webブラウザ以外にも、Uriに指定するテキストをいろいろと変えることで、さまざまなものを起動することができます。主なものを以下にあげておきましょう。

"gao: 経度, 緯度" ――GoogleMapアプリケーションで指定の場所を開きます。
"mailto: メールアドレス" ――メールソフトで新規メールを開きます。
"tel: 電話番号" ――電話をかけるアプリケーションを開きます(または通話開始します)。
"market://q?=検索するジャンルなど" ――Androidマーケットで指定のものを検索し表示します。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

package jp.tuyano;

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

public class SampleApp extends Activity {
	
	@Override
	public void onCreate(Bundle icicle) {
		super.onCreate(icicle);
		setContentView(R.layout.main);
		Button button = (Button)this.findViewById(R.id.button);
		button.setOnClickListener(new MyClickAdapter());
	}

	class MyClickAdapter implements OnClickListener {

		@Override
		public void onClick(View v) {
			Uri uri = Uri.parse("http://apple.com/jp/");
			Intent intent = new Intent(Intent.ACTION_VIEW,uri);
			startActivity(intent);
		}
	}

}

※関連コンテンツ

「Google androidプログラミング入門」に戻る