홈화면에서 상단에있는 햄버거바 버튼을 누르면 로그아웃을 할수있는 창이 나타나고, 로그아웃 버튼을 누르면 로그아웃이 완료되면서 introActivity로 이동할수있게 만들어볼것이다
먼저 로그아웃창과 레이아웃을 만들어준다
레이아웃은 완전 간단하게 로그아웃버튼만 가운데에 배치해줬다
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".setting.SettingActivity">
<Button
android:id="@+id/logoutBtn"
android:text="로그아웃"
android:background="@drawable/background_radius_yellow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
activity_setiing.xml
이제 이 버튼을 클릭했을때 로그아웃이 되고, IntroActivity로 이동하도록 해준다
근데 뒤로가기를 누르면 기존 엑티비티가 나오는 문제가 발생하기 때문에 기존의 엑티비티들을 지워주는 코드도 작성해준다.
package com.example.mysololife.setting
class SettingActivity : AppCompatActivity() {
private lateinit var auth : FirebaseAuth
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_setting)
auth = Firebase.auth
val loginButton : Button = findViewById(R.id.logoutBtn)
// logoutBtn클릭했을때
loginButton.setOnClickListener {
// 로그아웃
auth.signOut()
Toast.makeText(this, "로그아웃 되었습니다", Toast.LENGTH_SHORT).show()
// IntroActivity로 이동
val intent = Intent(this, IntroActivity::class.java)
// 기존엑티비티 삭제(뒤로가기 눌렀을때 기존엑티비티로 안가도록)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_CLEAR_TASK
startActivity(intent)
}
}
}
SettingActivity.kt
햄버거바 클릭하면 로그아웃화면창으로 이동하도록해주는 코드를 아직 안써줬기때문에 MainActivity로 돌아가서 써준다
package com.example.mysololife
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// settingBtn 클릭시 SettingActivity로 이동
findViewById<ImageView>(R.id.settingBtn).setOnClickListener {
val intent = Intent(this, SettingActivity::class.java)
startActivity(intent)
}
}
}
MainActivity.kt
이렇게 해주면 로그아웃이 잘 되는것을 확인할수있다
'Android Project' 카테고리의 다른 글
예제앱 만들기(1) - 파이어베이스 설정, 회원가입 (0) | 2024.01.30 |
---|---|
[Android/Kotlin] 커뮤니티앱(12) - 내가 쓴글만 수정,삭제 가능하도록 (0) | 2024.01.28 |
[Android/Kotlin] 커뮤니티앱(10) - 게시글 삭제, 수정 (0) | 2024.01.28 |
[Android/Kotlin] 커뮤니티앱(9) - 게시글 이미지 업로드 (0) | 2024.01.28 |
[Android/Kotlin] 커뮤니티앱(8) - 게시글 클릭 (0) | 2024.01.28 |