자기소개 앱 개발 - 자기소개 페이지 마무리

kkomin·2023년 8월 5일
0

Android Studio

목록 보기
6/44

👾 문제 발생

어제 발생했었던 애뮬이 종료되는 현상... 오늘 다시 켜서 해봤지만 똑같이 로그인 성공 Toast만 뜨고 그냥 멈춰버렸다.


(1) 로그인 버튼 문제 ❓

로그인 버튼 시 올바른 activity로 설정되어있는지 확인해봤는데, HomeActivity로 제대로 설정되어 있었기 때문에 로그인 버튼 연동 문제는 아닌 듯하다.


(2) Home Layout의 문제 ❓

HomeLayout을 다 훝어보는 중, RelativeLayoutid가 설정되어 있는 것을 찾았다. 이미지 아이콘에 아이디를 설정했는데, 잘못해서 여기에도 추가가 된 것 같아 제거해봤는데...

제거하니 로그인 버튼을 클릭했을 때 화면이 정지되진 않았고, HomeActivity로 넘어가는 듯한 하얀색 화면이 뜨다가 다시 로그인 버튼으로 돌아왔다..??


(3) HomeActivity의 문제 ❓

만약 id를 지웠는데도 똑같이 화면이 멈췄다면 갈아엎고 다시 만들었겠지만, 아예 멈추는거에서 변화가 생겼기 때문에 뭔가 activity에 문제가 있는 것은 아닐까 하는 생각이 들었다.

그래서 HomePageActivity라는 activity를 새로 생성하고 레이아웃은 HomeActivity 레이아웃을 복붙해서 동일하게 만들고 실행하니..

그렇다면 activity에 문제가 있다는게 맞는 것이다. 그래서 HomePageActivityHomeActivity 내용을 복붙했는데 실행이 너무나도 잘 되더라 ~

위 화면과 같이 HomeActivity에 변수 설정밖에 안해서 HomeActivity에서 문제가 될게 없었다.


🌟 문제 해결 🌟

manifests를 건드린 적이 없는데, 새로운 activity에서는 제대로 작동이 되는게 이상해서 manifests를 확인해보니, HomeActivity가 아니라 Home으로 설정되어 있었다. Home ➡️ HomeActivity로 변경하니 제대로 작동 !


문제 해결해서 행복..하다? 🥲


📺 화면 구성 (Level 3)

HomeActivity를 생성해 주세요.

  1. SignInActivity에서 받은 extra data(아이디)를 화면에 표시해주세요.

ImageView, TextView외에 각종Widget`을 활용해 자유롭게 화면을 디자인 해주세요.

  1. 종료 버튼이 눌리면 SignInActivity로 이동합니다. (finish 활용)

디자인 및 activity생성은 끝났는지만 extra로 받았던 아이디와 이름을 화면에 표기하고 종료 버튼 연동만 하면 Level 3 구현은 끝이다.


💻 화면 표시 ( 아이디 / 이름 ) - 문제 발생

화면 표시는 Extra로 하면 끝인 줄 알았는데, 어제 에러가 발생해서 제대로 작동이 되는지 아닌지 확인해본 결과... 아이디와 이름에 아무것도 뜨지 않는 현상이 발생했다.

이게 Extra 데이터를 제대로 가져온 것이 맞는지 확인하기 위해 종료 버튼을 눌렀을 때 Toast 메세지를 통해 idname 데이터를 확인해보니, null로 떴다.

아 이건 putExtra를 하는 SignUpActivity에서 잘못된거구나!


🌟 문제 해결 🌟

SigninActivity로만 putExtra가 되고, HomeActivity로는 putExtra 하는 코드를 빼먹었다.

homeintent 상수를 설정해주고 putExtra를 추가해주었다.

👉 꼭!! startActivity(homeintent)를 해줄 것!

이렇게 하면 ??

기존에는 finish를 통해 이전화면인 SigninActivity 화면으로 돌아갔었지만, 이렇게 설정하게 될 경우, 이전화면이 SigninActivity가 아니라 HomeActivity로 넘어가게 된다.

SignUpActivity ➡️ SigninActivity ➡️ HomeActivity 이 순서로 Extra 데이터가 넘어와야 하기 때문에 SignUpActivity에서 HomeActivity로 넘기지 말고, SiginActivity에서 HomeActivityputExtra를 해주면 되는거 아닐까?

1. SignUpActivity 는 그대로

2. SigninActivity 수정

기존 코드에서 strId를 HomeActivity라는 이름으로 putExtra로 설정했었다.

수정 코드 HomeActivity 대신 id로 설정 및 name 데이터 putExtra


💻 최종 실행 화면

profile
소소한 코딩 일기

0개의 댓글