간단한 채팅 앱 만들기 #1 - Firebase
FireBase
모바일 서버를 개발하기 위해 DB, 스토리지, API 등 각자가 개발을 해야했다.
매번 앱 개발 할때마다 이러한 반복적인 작업을 하는 것은 심각한 시간 낭비를 야기한다.
하지만 FireBase는 이를 프로젝트 구축 시 '알아서' 만들어 준다.
조금 더 간단한 개발을 위해 이 FireBase를 선택했다.
먼저 구글 로그인을 진행하고, 새 프로젝트를 미리 만들어준다.
만들고 나면 우리의 android studio 프로젝트 gradle.build(모듈)의 dependencies에 아래 내용을 추가한다.
implementation platform('com.google.firebase:firebase-bom:26.3.0')
implementation 'com.google.firebase:firebase-database'
그리고, 바깥에 다음을 추가한다.
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
그 후 콘솔 사이트에서 프로젝트 설정에 들어가 앱 추가를 진행한다.
패키지 이름을 입력하라고 나오는데, 우리의 android studio 프로젝트의 패키지를 입력하면 된다.
그 후 google-services.json을 줄 것인데, 이를 로컬 프로젝트 app 아래에 넣어준다.
그리고 realtime database 규칙을 read, write를 true로 바꾸어 준다.
여기까지 로컬 프로젝트에서 개발을 진행하기 위한 밑 작업이 끝났다.
DataBase
realtime database에 들어가보자.
이제 채팅을 통한 데이터들이 위 이미지에 최상위 계층부터 하여금 데이터가 쌓일 것이다.
그렇다면, 데이터를 한번 전송해보자.
firebase document의 예제를 보면 데이터 베이스에 쓰는 코드는 다음과 같다.
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");
myRef.setValue("Hello, World!");
이를 MainActivity에 올려서 실행하보자. 그러면 다음과 같은 화면으로 갱신된다.
읽어오는 것도 해보자.
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);
Log.d(TAG, "Value is: " + value);
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Log.w(TAG, "Failed to read value.", error.toException());
}
});
onDataChange 메소드는 저장소가 갱신될때마다 이 메소드가 호출되어 데이터를 읽어온다고 한다.
그렇다면 위 데이터를 쓰고나면 이 메소드가 데이터를 불러와서 화면을 갱신해주면 되겠다.
'Android > 간단한 채팅 앱 만들기(기초)' 카테고리의 다른 글
간단한 채팅 앱 만들기 #3 - RecyclerView 및 Adapter (0) | 2021.01.22 |
---|---|
간단한 채팅 앱 만들기 #2 - UI 만들기 (0) | 2021.01.22 |
최근댓글