연락처 앱 개발 - 2

kkomin·2023년 9월 6일
0

Android Studio

목록 보기
25/44
post-thumbnail

📺 화면 구현

  • 연락처 추가 (AddContactDialog or AddContactDialogFragment)
    • 연락처 추가를 위한 Dialog를 제공합니다.

    • 필수 구성 요소: Dialog 또는 DialogFragment, EditText, 기능 버튼

    • 이름, 전화번호, 사진, 이메일 주소, 이벤트 정보(선택) 등을 입력할 수 있습니다.

    • 입력 필드의 유효성 검사를 통해 사용자가 올바른 정보를 입력할 수 있도록 안내합니다.


🩺 유효성 검사

이전에 SNS 앱 개발하면서 텍스트 필드에 추가했던 기능으로 기억한다. 이전에 사용했던 경험이 있다.

이렇게 이름, 전화번호, 이메일 주소, event 입력 필드에 문자를 제한하고 이를 통해 허용 가능한 문자들을 입력했을 시에만 accept 버튼을 눌러 dimiss가 가능하도록 했다.

추후 입력한 데이터들을 전달하기 위한 코드도 추가할 예정


💻 실행 결과


📸 사진 추가

사진추가버튼을 클릭하면 갤러리로 이동해 사진을 추가하도록 구현해줄 것이다.

🎥 갤러리 이동

일단 버튼을 클릭하면 갤러리로 이동하므로 Intent를 이용해 주었다. 버튼 클릭이 되는걸 확인하기 위해 토스트 메세지를 추가해준 것이고 추후 제거할 예정.

근데 여기서 ACTION_PICK이 있는데, ACTION_GET_CONTENT도 이용이 가능하다. 두 가지의 차이점은 실행 시의 차이를 알 수 있는데, ACTION_PICK의 경우에는 바로 갤러리 앱이 열리지만 ACTION_GET_CONTENT는 갤러리가 아닌 폴더가 열려서 폴더에서 사진 파일을 선택해야 한다.

왼쪽 : ACTION_GET_CONTEXT // 오른쪽 : ACTION_PICK


👀 갤러리 사진 추가

현재 갤러리에 어떤 사진도 존재하지 않기 때문에 애뮬의 갤러리 폴더 안에 사진을 추가해준다. 넣고 싶은 사진을 드래그해서 애뮬의 바탕화면에 끌어주면 Downloads에 자동 저장된다.


🤷‍♀️ 선택한 사진으로 변경

갤러리에서 선택한 사진을 저장해 DialogimageView로 설정해주면 될거 같았는데 아니 왜 안돼? 왜? 어제부터 열심히 해봤는데 절대 안되네 이거..?
뭘 어떻게 해도 사진이 변경이 안돼서Log 넣어서 확인해봤는데 계속 null 이 나오고 설정해줘도 싫다면서 설정 안해준다..... 진짜 너무 화난다...

갤러리로 넘어가는건 되니까 일단 다른 것부터 구현해보자!


🎉 Event 설정

eventEditText로 설정하기에는 불편해서 버튼으로 바꿔주었다.

📜 Layout 설정

💜 버튼 클릭시 색상 변경

버튼 클릭 전과 클릭 후의 버튼 배경 색상을 변경하기 위해 drawable 폴더에 normalbtnchangebtn 파일을 만들고 설정해줬다.

  • normalbtn
  • changebtn

버튼을 클릭할 때마다 버튼의 배경 색상이 변경되도록 설정해주면 끝 !

🌟 하나의 버튼만 선택

event를 여러 개를 선택하는 것이 아니라 한 가지만 선택하도록 해줄 것이기 때문에 버튼 선택은 하나만 가능하도록 설정해줄 것이다.

selectedBtn 변수를 하나 만들어주는데 처음 선택한 버튼은 아무것도 없기 때문에 null로 설정해주고, 선택한 버튼은 btnOff, btn5m, btn10m, btn30m 과 같지 않기 떄문에 동일하지 않은 경우로 설정해주면 된다!

💻실행 결과

짜잔 - ! 완전 깔끔하게 실행된다 ! 갤러리에서 선택한 사진 추가만 잘되면 오늘 하루 정말 행복할텐데..

profile
소소한 코딩 일기

0개의 댓글