이번 시간에는 Firebase를 통해 데이터베이스에
간단한 데이터를 쓰고 읽는 방법에 대하여
알아보겠습니다.
https://console.firebase.google.com/
위 링크를 들어갑니다.
1. 프로젝트 만들기를 클릭합니다.
2. 영문으로 프로젝트 이름을 입력하고 계속 버튼을 누릅니다.
3. 계속버튼을 누릅니다.
4. 프로젝트 만들기 버튼을 누릅니다.
5. 계속버튼을 누르면 프로젝트가 생성됩니다.
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 추가가 됩니다.
이제 실제 데이터가 들어갈 데이터 베이스를 만들어 보겠습니다.
좌측에 Realtime Database를 클릭하시면 됩니다.
1. 데이터베이스 만들기 버튼을 누르시면 됩니다.
2. 위치를 선택하고 다음버튼을 누르시면 됩니다.
3. 테스트 모드에서 시작을 선택하고 사용 설정 버튼을 누르시면 됩니다.
4. 생성된 화면입니다.
build.gradle(Module:프로젝트명:app)
dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.
implementation 'com.google.firebase:firebase-database'
참조 문서
https://firebase.google.com/docs/database/android/start
- 설명 -
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>
- 설명 -
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) 페이지 쉽게 만드는 방법
2022.03.07 - [안드로이드] - [안드로이드] 버튼이 보라색으로 고정된 상황 쉽게 해결하는 방법
2022.03.08 - [안드로이드] - [안드로이드] 달력 (DatePicker) 버튼(Button)으로 호출하는 방법
[안드로이드] Firebase Realtime Database ListView JSON 수정, 삭제 part3 (0) | 2022.03.11 |
---|---|
[안드로이드] Firebase Realtime Database ListView JSON 읽기, 쓰기 part2 (0) | 2022.03.10 |
[안드로이드] 달력 (DatePicker) 버튼(Button) 으로 호출하는 방법 (0) | 2022.03.08 |
[안드로이드] 버튼이 보라색으로 고정된 상황 쉽게 해결하는 방법 (0) | 2022.03.07 |
[안드로이드] SQLite RecyclerView 연락처 만드는 방법 part5 - 삭제 (0) | 2022.03.06 |
댓글 영역