SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

速習! Androidアプリケーション開発

レイアウトの作成手順をマスターする!
~速習! Androidアプリケーション開発(3)~

第3回 レイアウトの作成

  • X ポスト
  • このエントリーをはてなブックマークに追加

登録画面のレイアウト作成

 次は「登録画面」を作成していきます。対応するアクティビティが存在しないので、新たに作成します。アクティビティを追加する際に必要なステップは、次の3つです。

  1. XMLでレイアウトを作成する
  2. ソースを作成する
  3. AndroidManifest.xmlにアクティビティの定義を追加する。

 それでは、順番に見ていきましょう。

(1)XMLでレイアウトの作成

 まず、XMLでのレイアウト作成です。「res/layout」配下に「regist.xml」というファイルを作成し、TableLayout上にTableRow(行)を追加、TableRowにビューを追加してレイアウトを作成していきます。レイアウトファイルの一部を下記に示しますので、続きは完成イメージやサンプルソースを参考にしながらチャレンジしてみてください。

regist.xml(一部抜粋)
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1"
android:shrinkColumns="1">
<!-- 名前 -->
<TableRow
	android:layout_width="fill_parent"
	android:layout_height="wrap_content">
	<TextView
		android:text="@string/person_name"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content" />
	<EditText
		android:id="@+id/personNameText"
		android:layout_span="2"
		android:hint="@string/required"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content" />
</TableRow>
:
:中略
:
</TableLayout>
登録画面の完成イメージ
登録画面の完成イメージ

 なお、画面に表示している文字列(名前、会社等)はXMLに直接定義しても良いのですが、国際化を考えた場合にはリソースファイル(res/values/string.xml)に定義する必要がありますので、今回もstring.xmlに下記のように文字列を定義しておきます。

strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">BizCard</string>
<string name="person_name">名前</string>
<string name="company_name">会社</string>
<string name="organization_name">組織</string>
<string name="position_name">役職</string>
<string name="zip_code">郵便番号</string>
<string name="address">住所</string>
<string name="tel1">電話1</string>
<string name="tel2">電話2</string>
<string name="mail">メール</string>
<string name="required">必須</string>
<string name="map">地図</string>
<string name="map_satellite">衛星写真</string>
<string name="current_location_on">現在地を中央に表示</string>
<string name="current_location_off">現在地を中央に表示</string>
</resources>

(2)ソースを作成する

 次にソースファイルを作成します。ここでは、ファイル名は「RegistActivity.java」にします。smple.bizcardの配下に作成します。単にXMLからレイアウトを作成するだけの状態にしておきます。

RegistActivity.java
/**
 * 登録アクティビティ
 */
public class RegistActivity extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// 自動生成されたR.javaの定数を指定してXMLからレイアウトを生成
		setContentView(R.layout.regist);
	}
}

(3)AndroidManifest.xmlに定義を追加

 最後に、AndroidManifest.xmlに定義を追加します。AndroidManifest.xmlを開き、ListActivityの下に下記の定義を追加します。なお、本来はandroid.intent.action.MAINの定義は不要ですが、今回はあえて入れておきます。

AndroidManifest.xmlの下部に追記
<!-- 登録アクティビティの定義 -->
<activity android:name=".RegistActivity"
      android:label="@string/app_name">
          
<!-- インテントのフィルタ設定 -->
<intent-filter>
<!-- アクティビティをアプリケーションのメイン(開始画面) -->
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>

 さて、これで変更は終了です。しかし、まだ一覧画面からの遷移を実装していないため、このままでは登録画面の確認ができません。ここで、本来は不要なandroid.intent.action.MAINを定義しておいた事が効いてきます。

 Eclipseの起動設定を開き、Launch(下図の1)を選択すると、プルダウン(下図の2)から起動するアクティビティを選ぶことができます。android.intent.action.MAINを指定しておいたので、RegistActivityが選択できるようになっています。RegistActivityを選択して起動すると、作成したレイアウトが確認できます。

起動設定画面。[Launch]を選択し、プルダウンから起動するアクティビティを選択
起動設定画面。[Launch]を選択し、プルダウンから起動するアクティビティを選択

次のページ
参照画面のレイアウト作成

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
速習! Androidアプリケーション開発連載記事一覧

もっと読む

この記事の著者

横井 朗(ヨコイ アキラ)

株式会社ビーブレイクシステムズにて業務システムのパッケージソフト(MA-EYES)の製品開発から導入までを手掛けるとともに、オープンソースソフトウェア(ExCella)の開発リーダも務める。オープンソース関連について多くの執筆経験を持つ。  

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4670 2009/12/17 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング