7. 【Android/Kotlin】 밸리데이션 체크
19424 단어 안드로이드AndroidStudioKotlin
소개
DreamHanks의 MOON입니다.
전회는 「스피너」에 대해서 설명을 해 갔습니다.
6. 【Android/Kotlin】 스피너(Spinner)
이번에는 간단한 로그인 화면을 만들고 유효성 검사를 할 것입니다.
유효성 검사란?
バリデーションチェック
는 입력 내용이나 설명 내용이 요구 사항을 충족하는지 유효성을 확인하는 것입니다.
모두가 ヤフー
또는 다른 포털 사이트의 로그인 페이지에서 ID를 입력하지 않고 로그인하면,
로그인 할 수 없어 "ID를 입력하십시오"라는 메시지를 본 경험이 있다고 생각합니다.
이것이 유효성 검사에 의한 오류 메시지입니다.
로그인 화면 만들기
· 로그인 화면 레이아웃의 xml 파일 만들기
activity_main.xml<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".MainActivity"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/main_tv"
android:text="ログイン" />
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/id_et"
android:inputType="text"
android:hint="ID"/>
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/pwd_et"
android:inputType="textPassword"
android:hint="パスワード"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/login_btn"
android:text="ログイン"/>
</LinearLayout>
· Activity 만들기
MainActivity.ktpackage com.example.practiceapplication
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import javax.xml.validation.Validator
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val id_et = findViewById<EditText>(R.id.id_et) //IDのEditText(入力エリア)
val pwd_et = findViewById<EditText>(R.id.pwd_et) //PasswordのEditText(入力エリア)
val login_btn = findViewById<Button>(R.id.login_btn) //ログインボタン
//ログインボタンのクリックイベントを設定
login_btn.setOnClickListener {
//バリデーションチェックの結果
val check = validationCheck(id_et, pwd_et)
//エラーがない場合に画面を遷移
if(check){
val nextIntent = Intent(this, IntentTestActivity::class.java)
nextIntent.putExtra("id_et", id_et.text.toString())
startActivity(nextIntent)
}
}
}
//バリデーションチェックするためのメソッド
fun validationCheck(id_et : EditText, pwd_et : EditText) : Boolean{
//IDの入力値がない場合
if(id_et.text.toString().length == 0){
//IDの入力エリアをフォーカスさせる
id_et.requestFocus()
//画面の下にToastエラーメッセージを表示
Toast.makeText(applicationContext, "IDを入力してください。", Toast.LENGTH_SHORT).show()
return false
}
//Passwordの入力値がない場合
if(pwd_et.text.toString().length == 0){
//Passwordの入力エリアをフォーカスさせる
pwd_et.requestFocus()
//画面の下にToastエラーメッセージを表示
Toast.makeText(applicationContext, "パスワードを入力してください。", Toast.LENGTH_SHORT).show()
return false
}
return true
}
}
① 로그인 버튼의 클릭 이벤트를 설정합니다.
② 밸리데이션 체크하기 위한 메소드를 작성합니다.
③ 밸리데이션 체크의 메소드의 결과에 의해 문제가 없는 경우에 화면을 천이 시킵니다.
· 천이시킬 화면의 xml을 작성
activity_intent_test.xml<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".IntentTestActivity"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/intent_title"
android:textSize="40dp"
android:text="ログイン成功ページ"
android:layout_marginBottom="100dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/intent_contents"
android:textSize="20dp"
android:text="ここにログインID表示" />
</LinearLayout>
・전이시킬 화면의 Activity를 작성
IntentTestActivity.ktpackage com.example.practiceapplication
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView
class IntentTestActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_intent_test)
val intent_contents = findViewById<TextView>(R.id.intent_contents)
//以前の画面のIDを取得
val intented_string = intent.getStringExtra("id_et")
//以前の画面のIDをテキストに表示
intent_contents.text = intented_string + "様、こんにちは。"
}
}
앱 시작
· ID를 입력하지 않고 로그인 버튼을 클릭하면
· 비밀번호를 입력하지 않고 로그인 버튼을 클릭하면
· 정확하게 입력하고 로그인 버튼을 클릭하면
끝에
이번에는 밸리데이션 체크에 대해 설명했습니다.
다음번에는 「웹 뷰」에 대해 설명하겠습니다.
8. 【Android/Kotlin】웹뷰(WebView)
최신 내용은 아래 링크(DreamHanks의 블로그)에서 확인할 수 있습니다.
DreamHanks 블로그(Android/Kotlin 앱 개발)
Reference
이 문제에 관하여(7. 【Android/Kotlin】 밸리데이션 체크), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/DreamHanks/items/81511dae61cc9c4a7e63
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
バリデーションチェック
는 입력 내용이나 설명 내용이 요구 사항을 충족하는지 유효성을 확인하는 것입니다.모두가
ヤフー
또는 다른 포털 사이트의 로그인 페이지에서 ID를 입력하지 않고 로그인하면,로그인 할 수 없어 "ID를 입력하십시오"라는 메시지를 본 경험이 있다고 생각합니다.
이것이 유효성 검사에 의한 오류 메시지입니다.
로그인 화면 만들기
· 로그인 화면 레이아웃의 xml 파일 만들기
activity_main.xml<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".MainActivity"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/main_tv"
android:text="ログイン" />
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/id_et"
android:inputType="text"
android:hint="ID"/>
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/pwd_et"
android:inputType="textPassword"
android:hint="パスワード"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/login_btn"
android:text="ログイン"/>
</LinearLayout>
· Activity 만들기
MainActivity.ktpackage com.example.practiceapplication
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import javax.xml.validation.Validator
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val id_et = findViewById<EditText>(R.id.id_et) //IDのEditText(入力エリア)
val pwd_et = findViewById<EditText>(R.id.pwd_et) //PasswordのEditText(入力エリア)
val login_btn = findViewById<Button>(R.id.login_btn) //ログインボタン
//ログインボタンのクリックイベントを設定
login_btn.setOnClickListener {
//バリデーションチェックの結果
val check = validationCheck(id_et, pwd_et)
//エラーがない場合に画面を遷移
if(check){
val nextIntent = Intent(this, IntentTestActivity::class.java)
nextIntent.putExtra("id_et", id_et.text.toString())
startActivity(nextIntent)
}
}
}
//バリデーションチェックするためのメソッド
fun validationCheck(id_et : EditText, pwd_et : EditText) : Boolean{
//IDの入力値がない場合
if(id_et.text.toString().length == 0){
//IDの入力エリアをフォーカスさせる
id_et.requestFocus()
//画面の下にToastエラーメッセージを表示
Toast.makeText(applicationContext, "IDを入力してください。", Toast.LENGTH_SHORT).show()
return false
}
//Passwordの入力値がない場合
if(pwd_et.text.toString().length == 0){
//Passwordの入力エリアをフォーカスさせる
pwd_et.requestFocus()
//画面の下にToastエラーメッセージを表示
Toast.makeText(applicationContext, "パスワードを入力してください。", Toast.LENGTH_SHORT).show()
return false
}
return true
}
}
① 로그인 버튼의 클릭 이벤트를 설정합니다.
② 밸리데이션 체크하기 위한 메소드를 작성합니다.
③ 밸리데이션 체크의 메소드의 결과에 의해 문제가 없는 경우에 화면을 천이 시킵니다.
· 천이시킬 화면의 xml을 작성
activity_intent_test.xml<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".IntentTestActivity"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/intent_title"
android:textSize="40dp"
android:text="ログイン成功ページ"
android:layout_marginBottom="100dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/intent_contents"
android:textSize="20dp"
android:text="ここにログインID表示" />
</LinearLayout>
・전이시킬 화면의 Activity를 작성
IntentTestActivity.ktpackage com.example.practiceapplication
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView
class IntentTestActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_intent_test)
val intent_contents = findViewById<TextView>(R.id.intent_contents)
//以前の画面のIDを取得
val intented_string = intent.getStringExtra("id_et")
//以前の画面のIDをテキストに表示
intent_contents.text = intented_string + "様、こんにちは。"
}
}
앱 시작
· ID를 입력하지 않고 로그인 버튼을 클릭하면
· 비밀번호를 입력하지 않고 로그인 버튼을 클릭하면
· 정확하게 입력하고 로그인 버튼을 클릭하면
끝에
이번에는 밸리데이션 체크에 대해 설명했습니다.
다음번에는 「웹 뷰」에 대해 설명하겠습니다.
8. 【Android/Kotlin】웹뷰(WebView)
최신 내용은 아래 링크(DreamHanks의 블로그)에서 확인할 수 있습니다.
DreamHanks 블로그(Android/Kotlin 앱 개발)
Reference
이 문제에 관하여(7. 【Android/Kotlin】 밸리데이션 체크), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/DreamHanks/items/81511dae61cc9c4a7e63
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".MainActivity"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/main_tv"
android:text="ログイン" />
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/id_et"
android:inputType="text"
android:hint="ID"/>
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/pwd_et"
android:inputType="textPassword"
android:hint="パスワード"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/login_btn"
android:text="ログイン"/>
</LinearLayout>
package com.example.practiceapplication
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import javax.xml.validation.Validator
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val id_et = findViewById<EditText>(R.id.id_et) //IDのEditText(入力エリア)
val pwd_et = findViewById<EditText>(R.id.pwd_et) //PasswordのEditText(入力エリア)
val login_btn = findViewById<Button>(R.id.login_btn) //ログインボタン
//ログインボタンのクリックイベントを設定
login_btn.setOnClickListener {
//バリデーションチェックの結果
val check = validationCheck(id_et, pwd_et)
//エラーがない場合に画面を遷移
if(check){
val nextIntent = Intent(this, IntentTestActivity::class.java)
nextIntent.putExtra("id_et", id_et.text.toString())
startActivity(nextIntent)
}
}
}
//バリデーションチェックするためのメソッド
fun validationCheck(id_et : EditText, pwd_et : EditText) : Boolean{
//IDの入力値がない場合
if(id_et.text.toString().length == 0){
//IDの入力エリアをフォーカスさせる
id_et.requestFocus()
//画面の下にToastエラーメッセージを表示
Toast.makeText(applicationContext, "IDを入力してください。", Toast.LENGTH_SHORT).show()
return false
}
//Passwordの入力値がない場合
if(pwd_et.text.toString().length == 0){
//Passwordの入力エリアをフォーカスさせる
pwd_et.requestFocus()
//画面の下にToastエラーメッセージを表示
Toast.makeText(applicationContext, "パスワードを入力してください。", Toast.LENGTH_SHORT).show()
return false
}
return true
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".IntentTestActivity"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/intent_title"
android:textSize="40dp"
android:text="ログイン成功ページ"
android:layout_marginBottom="100dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/intent_contents"
android:textSize="20dp"
android:text="ここにログインID表示" />
</LinearLayout>
package com.example.practiceapplication
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView
class IntentTestActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_intent_test)
val intent_contents = findViewById<TextView>(R.id.intent_contents)
//以前の画面のIDを取得
val intented_string = intent.getStringExtra("id_et")
//以前の画面のIDをテキストに表示
intent_contents.text = intented_string + "様、こんにちは。"
}
}
· ID를 입력하지 않고 로그인 버튼을 클릭하면
· 비밀번호를 입력하지 않고 로그인 버튼을 클릭하면
· 정확하게 입력하고 로그인 버튼을 클릭하면
끝에
이번에는 밸리데이션 체크에 대해 설명했습니다.
다음번에는 「웹 뷰」에 대해 설명하겠습니다.
8. 【Android/Kotlin】웹뷰(WebView)
최신 내용은 아래 링크(DreamHanks의 블로그)에서 확인할 수 있습니다.
DreamHanks 블로그(Android/Kotlin 앱 개발)
Reference
이 문제에 관하여(7. 【Android/Kotlin】 밸리데이션 체크), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/DreamHanks/items/81511dae61cc9c4a7e63
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(7. 【Android/Kotlin】 밸리데이션 체크), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/DreamHanks/items/81511dae61cc9c4a7e63텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)