Android, firebase 회원가입

이도현·2023년 8월 11일
0

Android 공부

목록 보기
6/30
private fun doSignUp(userEmail: String, password: String){
	//모든 정보를 입력했을 경우 회원가입 가능
	if(userEmail.isNotEmpty() && userPw.isNotEmpty() && name.isNotEmpty()){
		Firebase.auth.createUserWirhEmailAndPassword(userEmail, userPw)
			.addOnCompleteListener(this){
					if(it.isSuccessful){
						Firebase.auth.signInWithEmainAndPassword(userEmail, userPw)				
							.addOnSuccessListener{
								var map = HashMap<String, Any>()
								map["image"] = BASIC_IMAGE_URL
								map["email"] = userEmail
								map["name"] = name
								val uid = FirebaseAuth.getInstance().currentUser!!.uid
								db.collection("profileImages").document(uid)
									.set(map)
							}
						startActivity(
							Intent(this, MainActivity::class.java)
						)
						finish()
				} else {
						Log.w("LoginActivity", "signUpWithEmail", it.exception)
						Toast.makeText(this, "비밀번호는 6자 이상이어야합니다",
			Toast.LENGTH_SHORT).show()
				}
			}
	} else {
			Toast.makeText(this, "회원 정보를 입력해주세요!", Toast.LEGTH_SHORT).show()
	}
}
  • 입력한 정보들 중, 이메일과 비밀번호를 제외한 정보들은 Firestore database에 저장합니다.
  • cloud firestore을 초기화힙니다.
db = Firebase.firestore
  • 회원가입 버튼을 누르면 사용자의 이름을 받아서 데이터베이스의 “user” 컬렉션에 추가
val user = hashMapOf (
							"name" to name.toSTring()
				)

//firestore에 유저 이름 추가
db.collection("user").document(name.toString())
		.set(user)
		.addOnSuccessListener{ documentReference ->
			//Log.d(TAG, "DocumentSnapshot added with ID: ${documentReference.id}")
		.addOnFailureListener { e ->
			Log.w(TAG, "Error adding document", e)
		}
profile
좋은 지식 나누어요

0개의 댓글