Android/활용

안드로이드 - Firebase realtime database 이용하기 (쉬운예제)

섭섭입니다 2020. 4. 10. 23:16

FCM 관련 정보가 필요해서 이것저것 구글링 하다가 Firebase realtime database 라는 것을 알게되었다.

 

그래서 이번 글에서는 Firebase realtime database 에 대해서 내가 해 본 예제를 설명해 보겠다.

 

 

안드로이드에서 보낸 데이터를 Firebase Database를 이용해 저장해 볼 것이다.

 

 

 

우선 Android studio를 이용해 새로운 프로젝트를 만들어준다.  아래와 같이 코딩한다.

 

< activity_main.xml >

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/textview"
        android:gravity="center"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:text="text" />


    <LinearLayout
        android:gravity="bottom"
        android:layout_width="wrap_content"
        android:layout_height="200dp" >

      <EditText
         android:id="@+id/edittext"
         android:layout_width="290dp"
         android:layout_height="wrap_content" />

      <Button
         android:id="@+id/button"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="send" />
    </LinearLayout>


</LinearLayout>

 

 

<MainActivity.java>

package com.example.firebase_db_exam;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;


public class MainActivity extends AppCompatActivity {
    private TextView textView;
    private EditText editText;
    private Button button;

    DatabaseReference mRootRef = FirebaseDatabase.getInstance().getReference();
    DatabaseReference conditionRef = mRootRef.child("text");

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = (TextView) findViewById(R.id.textview);
        editText = (EditText) findViewById(R.id.edittext);
        button = (Button) findViewById(R.id.button);
    }

    @Override
    protected void onStart() {
        super.onStart();

        conditionRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                String text = dataSnapshot.getValue(String.class);
                textView.setText(text);
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                conditionRef.setValue(editText.getText().toString());
            }
        });
    }
}

 

만들어준 뒤에 Firebase에 등록을 해야하는데 

 

Android studio에 들어가서  [ Tools -> Firebase -> Realtime Database ] 누르고

 

 

[ Connect to Firebase ]

 

 

[ Connect to Firebase ]

 

 

 

 

여기 까지 하면 자신의 어플이 google Firebase에 등록이 될 것이다.

 

Firebase 홈페이지로 이동해 console 페이지로 넘어간다.

firebase console이 google 로그인을 통해서 이용가능하기에 로그인 페이지로 바로 넘어가도 좋다.

 

https://firebase.google.com/

 

Firebase

Firebase는 고품질 앱을 빠르게 개발하고 비즈니스를 성장시키는 데 도움이 되는 Google의 모바일 플랫폼입니다.

firebase.google.com

https://console.firebase.google.com/

 

로그인 - Google 계정

하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인

accounts.google.com

 

 

 

자신이 만든 프로젝트를 클릭해 들어가 준다.

 

 

 

내가 하려고 했던 Realtime Database 로 시작해준다.

 

그 뒤에 가볍게 기본 예제 같이 테스트 하려는 용도이기 때문에 테스트 모드로 시작 하고  사용 설정을 눌러준다.

 

 

여기 까지 완료되면 Firebase realtime database 를 사용할 수 있는데 어플로 돌아가

send 부분에 자신의 메시지를 적어 보내면 firebase console  Database 에서 확인이 가능하다.

 

 

 

 

 

 

위와 같이 핸드폰에서 자신이 보낸 text를 Firebase 에서 확인 할 수 있다. 

 

위 데이터는 쌓이는 것이 아닌 다시 작성하여 보내면 새로이 바뀐다.

 

이렇게 오늘 Firebase Realtime Database를 이용하는 법을 간단히 해 보았다.

 

 

 

 

 

firebase realtime database 예제2

seopseop911.tistory.com/36

 

소켓통신으로 받은 데이터 Firebase Database에 저장 후 안드로이드에서 실시간 읽기

우선 저번에 했던 메모장으로 데이터를 주고받은 코드에 firebase에 데이터를 직접 입력할 수 있는 코드를 삽입하여 통신하여 받은 메모장 데이터를 바로 firebase realtime database 에 직접적으로 입력

seopseop911.tistory.com