[#103][안드로이드] Firebase 실시간 데이터베이스 데이터 저장하기

Firebase 실시간 데이터베이스 데이터 저장하기

Firebase 초기 연동 가이드 (https://firebase.google.com/docs/guides/?hl=ko)

1. UserData.java
 : 사용자 정보 저장할 클래스 생성
package com.example.ghd_t.myapplication;
import android.graphics.drawable.Drawable;
import android.net.Uri;
/**
 * Created by ghd-t on 2018-04-23.
 */
public class UserData {
    private String userName;
    private String profile;
    public UserData(String userName, String profile) {
        this.userName = userName;
        this.profile = profile;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getProfile() {
        return profile;
    }
    public void setProfile(String profile) {
        this.profile = profile;
    }
}
cs

2. LoginActivity.java
 : Firebase Auth를 통해 Google 계정으로 로그인 한 사용자 정보를 DB에 저장
 private void firebaseAuthWithGoogle(GoogleSignInAccount acct){
        AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(), null);
        mAuth.signInWithCredential(credential)
                .addOnCompleteListener(thisnew OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        Log.v("알림""ONCOMPLETE");
                        // If sign in fails, display a message to the user. If sign in succeeds
                        // the auth state listener will be notified and logic to handle the
                        // signed in user can be handled in the listener.
                        if (!task.isSuccessful()) {
                            Log.v("알림""!task.isSuccessful()");
                            Toast.makeText(LoginActivity.this"인증에 실패하였습니다.", Toast.LENGTH_SHORT).show();
                        }else {
                            Log.v("알림""task.isSuccessful()");
                            FirebaseUser user = mAuth.getCurrentUser();
                            String cu = mAuth.getUid();
                            String name = user.getDisplayName();
                            String email = user.getEmail();
                            String photoUrl = user.getPhotoUrl().toString();
                            String phone = user.getPhoneNumber();
                            Log.v("알림""현재로그인한 유저 " + cu);
                            Log.v("알림""현재로그인한 이메일 " + email);
                            Log.v("알림""유저 이름 " + name);
                            Log.v("알림""유저 사진 " + photoUrl);
                            Log.v("알림""유저 폰 " + phone);
                            //이 부분이 DB에 데이터 저장
                            UserData userdata = new UserData(name, photoUrl);
                            mDatabase.child("users").child(cu).setValue(userdata);
                            //이 부분이 DB에 데이터 저장
                            Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                            startActivity(intent);
                            Toast.makeText(LoginActivity.this"FireBase 아이디 생성이 완료 되었습니다", Toast.LENGTH_SHORT).show();
                        }
                    }
                });
    }
cs

3. Firebase에서 확인




댓글

가장 많이 본 글