728x90
🟦 49강. 로그인 기본 처리
▶️ 로그인 기본 처리
- 로그인을 위해 입력 정보 유효성 검사 처리한다.
- 입력 여부에 따른 확인 유효성 검사를 실시한다.
- 사용자가 입력한 ‘ID/PA/자동로그인 여부’ 등 3가지 데이터를 추출해야 한다.
🟧 LoginFragment.kt
- 이 프래그먼트 상에 사용자가 입력한 3개의 데이터를 추출해야 하고, 각각의 입력값에 대한 유효성 검사를 거쳐야 한다.
- 사용자가 ‘로그인’ 버튼 클릭 시, 이벤트 처리를 하는 모듈 안에서 입력 데이터를 받고 유효성 검사를 거쳐서 분기 처리를 한 뒤, 제대로 입력받았는지 Log.d()로 찍어보았다.
◾ LoginFragment.kt
package com.example.app3_communityapp
import android.content.DialogInterface
import android.content.Intent
import android.os.Bundle
import android.util.Log
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AlertDialog
import com.example.app3_communityapp.databinding.FragmentLoginBinding
class LoginFragment : Fragment() { //'로그인' 프래그먼트
//바인딩 설정
lateinit var loginFragmentBinding : FragmentLoginBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
//바인딩 연결
loginFragmentBinding = FragmentLoginBinding.inflate(inflater)
//프래그먼트 상단 '툴바' title 지정
loginFragmentBinding.loginToolbar.title= "로그인"
// 현재 로그인 화면에서 '회원가입' 버튼 클릭 시 이벤트 처리
loginFragmentBinding.loginJoinbtn.setOnClickListener{
//액티비티 추출 - 현재의 프래그먼트를 소유 중인 액티비티 추출
val act =activityas MainActivity //추출한 액티비티를 MainActiity로 변환
//추출한 액티비티에서 현재의 프래그먼트 컨트롤 메소드 호출
act.fragmentController("join", true, true)
}
// '로그인' 버튼 클릭 시, 이벤트 처리 :
loginFragmentBinding.loginLoginbtn.setOnClickListener{
//사용자 입력 데이터 받기
val loginId = loginFragmentBinding.loginId.text.toString()
val loginPw = loginFragmentBinding.loginPw.text.toString()
val chk = loginFragmentBinding.loginAutologin.isChecked//자동 로그인 체크 여부
var loginAutoLogin = 0 //자동 로그인 여부 분기 처리
if(chk == true) {
loginAutoLogin = 1
}else {
loginAutoLogin = 0
}
//유효성 검사 - 입력 여부에 따른 분기
//로그인 ID 값
if(loginId == null || loginId.length == 0 ){
val dialogBuilder = AlertDialog.Builder(requireContext())
dialogBuilder.setTitle("아이디 입력 오류")
dialogBuilder.setMessage("아이디를 입력해주세요 ")
dialogBuilder.setPositiveButton("확인"){dialogInterface: DialogInterface, i: Int->
loginFragmentBinding.loginId.requestFocus() //포커스 주기
}
dialogBuilder.show()
return@setOnClickListener
}
//로그인 PW 값
if(loginPw == null || loginPw.length == 0) {
val dialogBuilder = AlertDialog.Builder(requireContext())
dialogBuilder.setTitle("비밀번호 입력 오류")
dialogBuilder.setMessage("비밀번호를 입력해주세요 ")
dialogBuilder.setPositiveButton("확인"){dialogInterface: DialogInterface, i: Int->
loginFragmentBinding.loginPw.requestFocus()
}
dialogBuilder.show()
return@setOnClickListener
}
//데이터 잘 받아졌는지 Log 찍기
Log.d("test", loginId)
Log.d("test", loginPw)
Log.d("test", "$loginAutoLogin")
//화면 전환 -> 보드 메인
// val boardMainIntent = Intent(requireContext(), BoardMainActivity::class.java)
// startActivity(boardMainIntent)
// activity?.finish()
}
return loginFragmentBinding.root
}
}
🟧 최종 모습
728x90
'App(앱)_관련 공부 모음 > [강의] Android_App Project' 카테고리의 다른 글
# PRJ_3. 커뮤니티 게시판 앱_(17) 게시판 목록 JSON 타입으로 가져오기 (0) | 2022.08.08 |
---|---|
# PRJ_3. 커뮤니티 게시판 앱_(15) 로그인 처리하기 (0) | 2022.08.05 |
# PRJ_3. 커뮤니티 게시판 앱_(13) 회원가입 처리 -> 서버, DB에 저장작업 (0) | 2022.08.03 |
# PRJ_3. 커뮤니티 게시판 앱_(12) 회원가입 기본 기능-유효성 검사 구현 (0) | 2022.08.03 |
# PRJ_3. 커뮤니티 게시판 앱_(11) Eclipse와 OkHttp라이브러리 (0) | 2022.08.02 |