平凡エンジニアからの出発

一に努力、二に理想、三に積小為大。

【Android講座】第2回 EditText, Log, Toastの基本について



Lesson 2で学ぶこと

  • パーツ(EditText)について
  • Log出力
  • Toast表示について
  • Step by Stepで実装
    ↓ Lesson2 アプリ
f:id:atuyan39:20210424195256p:plain:w300f:id:atuyan39:20210424195301p:plain:w300

パーツについて

EditText

ユーザーの入力を補助するView

developer.android.com

Lesson 2 Step by Step実装

基本の流れ

  1. 画面作成(Activityやlayoutの追加)
  2. 画面調節(パーツの追加や位置調節)
  3. イベント処理(ボタン押下された等)
  4. 画面更新(表示する、消去する等)

画面作成

EmptyActivityを選択して、新規にLesson2Activity.javaを追加する

画面修正

TextView, EditText, Buttonを配置する

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Lesson2Activity">

    <TextView
        android:id="@+id/lesson2_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toTopOf="@+id/lesson2_edit_text"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/lesson2_edit_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPersonName"
        android:hint="@string/lesson2_edit_hint"
        android:autofillHints="@string/lesson2_edit_hint"
        app:layout_constraintBottom_toTopOf="@+id/lesson2_button"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/lesson2_text_view" />

    <Button
        android:id="@+id/lesson2_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/lesson2_button"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/lesson2_edit_text" />
</androidx.constraintlayout.widget.ConstraintLayout>

イベント処理

ボタンが押下された際の処理を追加

@Override
protected void onCreate(Bundle savedInstanceState) {
    Log.d(TAG, "onCreate");
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_lesson2);
    // Viewを取得
    TextView textView = findViewById(R.id.lesson2_text_view);
    EditText editText = findViewById(R.id.lesson2_edit_text);
    Button button = findViewById(R.id.lesson2_button);
    // Button押下時の処理を追加
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // ボタン押下時の処理を追加
        }
    });
}

画面更新

// Log出力
Log.d(TAG, "input text:" + editText.getText());
// TextViewに入力されたテキストを表示させる
textView.setText(editText.getText());
// Toast表示
Toast.makeText(getApplicationContext(), editText.getText(), Toast.LENGTH_SHORT).show();

code

Lesson 2 · atuyan39/AndroidLesson@8ba2e3c · GitHub