1. 로그아웃 기능 추가

- 마이페이지에 로그아웃 버튼 추가

- 파이어베이스 Authentication에서 로그아웃 필요

FirebaseAuth.getInstance().signOut();

- 로그아웃을 진행하면 기존에 실행되던 액티비티를 모두 종료하고 로그인 화면 액티비티만 새롭게 실행하도록 구현이 필요했음

- https://woochan-dev.tistory.com/41 포스팅의 내용을 참고하여 이것을 구현함

- addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK) 처럼 인텐트에 flag를 부여할 수 있다는 사실을 알게 되었음

Intent intent = Intent(this, 실행할 액티비티.java)
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)

 

2. 레이아웃 수정

- 일부 페이지 상단바 디자인 통일

- 게시글 작성/수정 페이지 레이아웃 수정

 

3. 메인 화면 랜덤 문구 출력

 

4. 1:1 상담 채팅 마음이 아이콘 추가

- adapter_message_one.xml 레이아웃 수정

 


 

 

마이페이지에 임시로 추가한 로그아웃 버튼을 클릭하면 팝업이 뜨게 되고 "네"를 클릭하면

기존에 실행되던 액티비티 (메인 화면, 마이페이지) 가 실행 종료되고 새롭게 로그인 화면 액티비티가 실행된다.

 

새로운 인텐트를 만들 때 context를 넘겨야하고, 액티비티가 스택처럼 쌓이는데

어떻게 기존 액티비티를 모두 종료시키며, 모두 종료시킨 후에 새로운 액티비티를 생성할 수 있을지가 고민이었다.

구글링해보니 Intent.addFlags() 메소드가 있어 새로 만들 인텐트에 대해 flag를 추가할 수 있었다.

새로운 사실을 알게 되었다!

 

 

지금 주요 기능 자체는 거의 구현이 되었고, 앱의 디자인이나 세부 기능들을 건드리고 있는데

최근에 Dialogflow가 제대로 연동되었기 때문에 이제 챗봇의 인텐트에서 질문 - 응답을 구현하기 시작할 것이다!

+ Recent posts