Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[1주차 과제] 안드로이드 UI 구현 기초 #1

Open
24 of 26 tasks
leeeha opened this issue Apr 6, 2023 · 0 comments · Fixed by #2
Open
24 of 26 tasks

[1주차 과제] 안드로이드 UI 구현 기초 #1

leeeha opened this issue Apr 6, 2023 · 0 comments · Fixed by #2
Assignees
Labels
Advanced 심화 과제 Challenge 도전 과제 Essential 필수 과제

Comments

@leeeha
Copy link
Member

leeeha commented Apr 6, 2023

필수 과제

로그인 화면

  • registerForActivityResult 함수를 이용하여 회원가입 화면으로부터 id, pw, 이름, 특기 정보를 가져온다.
  • 로그인 화면에서 입력한 id, pw 값이 회원가입 화면에서 가져온 값과 일치해야 로그인 성공
  • 로그인 성공 시, "로그인에 성공했습니다." 토스트 메시지를 띄우고 메인 화면으로 이동한다.
  • 로그인 실패 시, "등록된 유저 정보가 없습니다." 토스트 메시지를 띄운다.
  • 회원가입 전에 로그인 버튼을 누르면 "회원가입을 먼저 진행해주세요." 토스트 메시지를 띄운다.
  • 비밀번호는 EditText의 inputType을 조절하여 보이지 않게 한다.
  • id, pw, 이름, 특기 정보는 User 데이터 클래스에 묶어서 저장한다.

회원가입 화면

  • 필수로 입력 받아야 하는 요소: id, pw, 이름, 특기
  • id는 6~10 글자 이내 (공백 포함: maxLength, 공백 제외: ems)
  • pw는 8~12 글자 이내 (공백 포함: maxLength, 공백 제외: ems)
  • 비밀번호는 EditText의 inputType을 조절하여 보이지 않게 한다.
  • 이름, 특기는 입력에 제한 조건이 없다. (단, 필수 요소니까 비어있으면 안 된다.)
  • 4개의 입력 값 중에 하나라도 유효하지 않으면 "모든 항목에 유효한 값을 입력해주세요." 토스트 메시지를 띄운다.
  • 모든 조건에 맞게 입력한 뒤 회원가입 버튼을 누르면, 로그인 화면에 id, pw, 이름, 특기 정보를 전달하면서 화면을 종료시킨다.
  • 그리고 "회원가입이 완료되었습니다." 라는 스낵바를 로그인 화면에 띄운다.

홈 화면 (유저 정보 표시)

  • ImageView, TextView를 활용하여, 로그인 화면에서 받아온 이름, 특기 정보를 보여준다. (이미지는 임의로 설정)
  • constraintDimensionRatio를 활용해서 이미지의 가로 X 세로 100dp로 맞춘다.
  • 가로 또는 세로 하나는 고정 100dp를 준다.
  • 이름, 특기는 각각 수직으로 12dp의 간격을 갖는다.

참고 자료

registerForActivityResult

constraintDimensionRatio

심화 과제

액티비티 생명주기 알아보기

조금 더 좋은 UX 제공하기

  • 키보드를 다 입력하고 엔터를 누르니 2줄이 되어버리네요? 불편해요!
    • singleLine="true" → EditText 입력 한 줄로 제한, 엔터키를 누르면 다음 EditText 항목으로 넘어가기
    • EditText의 inputType 속성에 대해 알아보기
  • 키보드가 올라올 때 버튼을 가려요 ㅠ
  • 배경 터치하면 키보드가 내려가야 하는거 아닌가요??
    • 키보드를 숨기는 hideKeyboard() 함수를 만들고, 화면 클릭 이벤트에 넣기

도전 과제

@leeeha leeeha self-assigned this Apr 6, 2023
@leeeha leeeha linked a pull request Apr 10, 2023 that will close this issue
8 tasks
@leeeha leeeha added Essential 필수 과제 Advanced 심화 과제 Challenge 도전 과제 labels Apr 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Advanced 심화 과제 Challenge 도전 과제 Essential 필수 과제
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant