次のような画面を作成します。
「現在時刻を入力して下さい」というテキストと、テキストボックス、
「時」というテキスト、そして「あいさつ」というボタンで構成されています。
テキストボックスに入力してボタンを押すことで、入力内容に合わせた結果を表示する
振る舞いを実装して下さい。
結果の表示条件は次の通り。
・入力内容が"6"~"11"の場合、"おはようございます"と結果表示
・入力内容が"12"~"17"の場合、"こんにちは"と結果表示
・入力内容が"18"~"21"の場合、"こんばんは"と結果表示
・入力内容が上記以外の時間の場合、"睡眠中zzz"と結果表示
・入力内容が数値以外の場合、"へそまがり"と結果表示
それでは環境作り。
この間の練習問題で作ったプロジェクトに次のファイルを追加して下さい。
res/layout/main2.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="現在時刻を入力して下さい" /> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" > <EditText android:id="@+id/editText" android:layout_width="50dp" android:layout_height="wrap_content" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="時" /> </LinearLayout> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="あいさつ" /> <TextView android:id="@+id/result" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
src/作成したパッケージ/Test2Activity.java
import android.app.Activity; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.EditText; import android.widget.TextView; public class Test2Activity extends Activity implements OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // main2.xmlをViewに設定 setContentView(R.layout.main2); } // ボタンが押されたときの振る舞い @Override public void onClick(View v) { // ボタンを押した後に表示する文字列 String message = ""; // テキストBOXに入力された文字列を取得 EditText editText = (EditText) findViewById(R.id.editText); String time = editText.getText().toString(); // ここにmessageに文字列を設定する条件を書いてね! // message = ... // ボタン押下後のテキストの表示 TextView result = (TextView) findViewById(R.id.result); result.setText(message); } }
あとはAndroidManifest.xml内の"TestActivity"を"Test2Activity"に変更したら下準備完了!
Javaソースの32行目のところにコーディングして、
ボタンを押したらあいさつのテキストを表示させるようにしてくださいね。
練習問題その1より簡単になってるかな~。
まあ、でも、実装の仕方ではAndroidらしいコーディングが出来そうだから勉強になるよ、
きっと!