상세 컨텐츠

본문 제목

[안드로이드] Firebase 시작하기 실시간 데이터베이스 Realtime Database (간단한 데이터 읽기, 쓰기) part1

안드로이드

by aries574 2022. 3. 9. 21:54

본문


이번 시간에는 Firebase를 통해 데이터베이스에

간단한 데이터를 쓰고 읽는 방법에 대하여

알아보겠습니다. 


목차

1. 실행 화면

2. 프로젝트 만들기

3. 앱 만들기

4. 데이터 베이스 만들기

5. 라이브러리 등록

6. 메인 화면 구성 activity_main.xml

7. 메인 코드 구현 MainActivity.java


1. 실행 화면

 

2. 프로젝트 만들기

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

위 링크를 들어갑니다.

1. 프로젝트 만들기를 클릭합니다. 

 

2. 영문으로 프로젝트 이름을 입력하고 계속 버튼을 누릅니다. 

 

3. 계속버튼을 누릅니다. 

 

4. 프로젝트 만들기 버튼을 누릅니다. 

 

5. 계속버튼을 누르면 프로젝트가 생성됩니다.

 

3. 앱 만들기

 1. 만들어진 프로젝트를 누르고 들어가면 앱 추가 버튼을 누릅니다. 

 이 포스팅은 안드로이드이기 때문에 안드로이드 아이콘을 누르시면 됩니다. 

 

2. 안드로이드 스튜디오에서 만든 패키지 이름을 입력하시면 됩니다. 

MainActivity 파일 맨 위에 package 옆의 이름을 복사해서 붙여 넣기 하시면 됩니다. 

 앱 닉네임은 원하시는 명칭을 적으시면 됩니다. 

 

3. google-services.json을 다운로드 해서 app폴더 안에 넣으시면 됩니다. 

 

4. build.gradle(프로젝트명)에 아래 코드를 입력하시면 됩니다. 

classpath 'com.google.gms:google-services:4.3.10'

 

5. build.gradle(module: 프로젝트명.app)에 아래 코드를 입력하시면 됩니다.

 

6. 콘솔로 이동 버튼을 누르시면 앱에 Firebase 추가가 됩니다.

 

 

4. 데이터 베이스 만들기

 이제 실제 데이터가 들어갈 데이터 베이스를 만들어 보겠습니다. 

 좌측에 Realtime Database를 클릭하시면 됩니다. 

1. 데이터베이스 만들기 버튼을 누르시면 됩니다. 

 

2.  위치를 선택하고 다음버튼을 누르시면 됩니다. 

 

3. 테스트 모드에서 시작을 선택하고 사용 설정 버튼을 누르시면 됩니다. 

 

4. 생성된 화면입니다. 

 

5. 라이브러리 등록

build.gradle(Module:프로젝트명:app)

dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.

implementation 'com.google.firebase:firebase-database'

 참조 문서

https://firebase.google.com/docs/database/android/start

 

Android에서 설치 및 설정  |  Firebase Documentation

의견 보내기 Android에서 설치 및 설정 Firebase에 앱 연결 아직 추가하지 않았다면 Android 프로젝트에 Firebase를 추가합니다. 데이터베이스 만들기 Firebase Console의 실시간 데이터베이스 섹션으로 이동

firebase.google.com

 

 

6. 메인 화면 구성 activity_main.xml

 - 설명 - 

 1. 텍스트뷰는 Firebase에서 가져온 데이터를 보여줍니다.

 2. 에디트텍스트는 Firebase에 보낼 메시지를 입력합니다.

 3. 버튼은 Firebase에 호출해서 데이터를 가져와 텍스트뷰

에 보려줍니다. 

<?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"
    android:gravity="center"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/read_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="데이터"
        android:textSize="30sp"/>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:id="@+id/write_edit"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:text="확인"
        android:id="@+id/read_btn"/>


</LinearLayout>

 

7. 메인 코드 구현 MainActivity.java

 - 설명 - 

 1. 읽기: getReference에 key값을 넣고, setValue를 통해 메시지를 넣습니다. 

 2. 쓰기: DatabaseReference객체를 통해 저장된 메시지를 호출합니다. 

public class MainActivity extends AppCompatActivity {

    TextView readText;

    EditText writeEdit;

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

        writeEdit = findViewById(R.id.write_edit);

        readText = findViewById(R.id.read_text);

        Button readBtn = findViewById(R.id.read_btn);
        readBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                //쓰기
                FirebaseDatabase database = FirebaseDatabase.getInstance();
                DatabaseReference myRef = database.getReference("message");

                myRef.setValue(writeEdit.getText().toString());

                // 읽기
                myRef.addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {
                        // This method is called once with the initial value and again
                        // whenever data at this location is updated.
                        String value = dataSnapshot.getValue(String.class);
                        readText.setText("value: " + value);
                    }

                    @Override
                    public void onCancelled(DatabaseError error) {
                        // Failed to read value
                        readText.setText("error: " + error.toException());
                    }
                });
            }
        });
    }
}

2022.03.01 - [안드로이드] - [안드로이드] 온보딩(Onboarding) 페이지 쉽게 만드는 방법

 

[안드로이드] 온보딩(Onboarding) 페이지 쉽게 만드는 방법

이번 시간에는 앱 실행 시에 앱에 관한 설명들을 페이지 형태로 넘겨가면서 보여주는 형태인 온보딩(Onboarding) 페이지 만드는 방법에 대하여 알아보겠습니다. 1. 실행 화면 2. 라이브러리 등록

aries574.tistory.com

2022.03.07 - [안드로이드] - [안드로이드] 버튼이 보라색으로 고정된 상황 쉽게 해결하는 방법

 

[안드로이드] 버튼이 보라색으로 고정된 상황 쉽게 해결하는 방법

이번 시간에는 안드로이드 스튜디오에서 업데이트를 했더니 버튼이 보라색으로 고정되어 있는 상황을 해결하는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 테마 변경 해결법 3. 태그 변경 해

aries574.tistory.com

2022.03.08 - [안드로이드] - [안드로이드] 달력 (DatePicker) 버튼(Button)으로 호출하는 방법

 

[안드로이드] 달력 (DatePicker) 버튼(Button) 으로 호출하는 방법

이번 시간에는 DatePicker 컴포넌트를 화면에 태그로 보여주는 방법이 아니라 버튼을 누르면 코드에서 호출 하는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 구성 activity_main.xml 3. 메인

aries574.tistory.com

반응형

관련글 더보기

댓글 영역