package com.example.taeoh;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.google.firebase.database.ChildEventListener;
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 static final String TAG = "MainActivity";
EditText etChat;
Button btnSend;
TextView textview1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etChat = (EditText) findViewById(R.id.etChat);
textview1 = (TextView) findViewById(R.id.textView);
btnSend = (Button)findViewById(R.id.btnSend);
btnSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
myRef.child("message").push().setValue(etChat.getText().toString());
etChat.setText("");
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
Object value = dataSnapshot.getValue(Object.class);
textview1.setText(value.toString());
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
});
}
}
파이어베이스랑 안드로이드 스튜디오 연동해서, 쓰기 읽기는 가능한데요(realtime 데이터 베이스 이용)
이렇게 코드를 짜니까 저장되어있는 정보들이 모두 출력되던데, 혹시 제가 원하는 값만 가져오는 코드를 짤수 있을까요?
추가적으로 실시간적으로 값이 변화되었을때 출력하면에서도 같이 바뀌었으면 하는데 검색좀 해보니 ChildEventListener 라는
코드를 추가하면 된다고 하더라구요.. 혹시 어떻게 추가하면 될까요?