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

IntentとActivity (1/6)

作成:2010-05-17 13:25
更新:2010-05-17 13:26

■Intentを使いActivityを起動する

Androidは、マルチタスクです。複数のアプリケーションを同時にいくつも起動し動かすことができます。この特性を活かすために考え出されたのが「インテント」というものです。

インテントは、外部からActivityを起動するための仕組みです。これは「Intent」というクラスとして用意されています。Intentインスタンスを用意し実行することで、プログラム内から別のActivityを起動することができるのです。

このIntentによる起動には「明示的」「暗黙的」なものがあります。まずは、一般的なアプリケーションを起動するのに用いられる「暗黙的Intent」から使ってみましょう。

暗黙的というのは、特定のActivityを示さず、「こういうときに起動するやつを動かして」というものです。例えば、パソコンでも、イメージファイルやWebのリンクなどをダブルクリックして開くと、自動的にそれを処理するアプリケーションが起動して開きますね? あれは、別に「JPEGファイルを開くから、フォトショップを起動して」ということをユーザーが指定しているわけではなく、OS自身に「JPEGを編集するときはフォトショップを使おう」という情報が保管されているわけです。

同様に、Androidでも、特定のデータをIntentで開こうとすると、それを扱うためのActivityが自動的に選ばれ起動します。これが、暗黙的Intentです。

では、実際に暗黙的Intentを使って、Activityを起動してみましょう。まずは、簡単なレイアウトをmain.xmlに用意します。ここでは、1つのボタンを表示するだけのごく簡単なアプリケーションを考えてみましょう。

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

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

●プログラム・リスト●

※main.xmlのソースコード


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
<Button
	android:text="@string/btn_label"
	android:id="@+id/button"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	/>
</LinearLayout>


※strings.xmlのソースコード


<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">This is Intent Test.</string>
    <string name="app_name">AndroidApp</string>
    <string name="btn_label">Click</string>
</resources>
※関連コンテンツ

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