Bluetoothを用いて物の開け閉めを管理することを目標に以下のような活動をした。
[activity_main.xml]
<?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=".MainActivity">
<EditText
android:id="@+id/editText"
android:layout_width="210dp"
android:layout_height="120dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:autofillHints=""
android:digits="0123456789"
android:ems="10"
android:hint="@string/button_send"
android:inputType="number"
android:maxLength="5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button"
android:layout_width="136dp"
android:layout_height="65dp"
android:layout_marginStart="16dp"
android:text="@string/button_send"
app:layout_constraintBaseline_toBaselineOf="@+id/editText"
app:layout_constraintStart_toEndOf="@+id/editText" />
</androidx.constraintlayout.widget.ConstraintLayout>
[MainActivity.kt]
package com.tenii.a10in
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Buttonへの参照を取得する
val button = findViewById<Button>(R.id.button)
// ボタンタップ時の処理を指定する
button.setOnClickListener {
// EditTextへの参照を取得する
val editText = findViewById<EditText>(R.id.editText)
// メッセージを取り出す
val message = editText.text.toString()
// Intentを作成する
val intent = Intent(this, ResultActivity::class.java)
// パラメータをセットする
intent.putExtra("message", message)
// 画面を遷移させる
startActivity(intent)
}
}
}
[activity_result.xml]
<?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=".ResultActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:text="@string/textview"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
[ResultActivity.kt]
package com.tenii.a10in
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView
class ResultActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_result)
// パラメータを取得する
val message = intent.getStringExtra("message")
// TextViewへの参照を取得する
val textView = findViewById<TextView>(R.id.textView)
// TextViewにテキストを設定する
if (message != null) {
if (message.length>= 3) {
textView.text = message
} else {
textView.text="3文字未満"
}
}
}
}