Firebase를 시작하려고합니다.이 간단한 firebase 튜토리얼 (https://www.youtube.com/watch?v=B1rlT5KQ0yE)을 따랐습니다.firebase 데이터베이스를 실시간으로 업데이트하는 방법은 무엇입니까?
간단한 활동을 만들었습니다. "Sunny"버튼을 누르면 Sunny Base가 Firebase 데이터베이스로 전송되어 맑은 날씨로 표시됩니다. 그러면 Firebase 데이터베이스가 내 응용 프로그램으로 다시 전송되고 햇볕이 잘 드는 텍스트보기가 채워집니다. 그래서 괜찮습니다.
하지만 firebase 데이터베이스를 검사 할 때 아무 것도 추가하지 않았습니다.
그리고 Firebase 데이터베이스에 무언가를 쓸 때 실시간으로 textview가 변경되지 않습니다.
다음은 활동 코드입니다.
그냥두고 중포 기지 실시간으로 데이터베이스를 사용하기 위해public class MainActivity extends AppCompatActivity
{
private TextView myTextView;
private Button sunnyButton;
private Button foggyButton;
private Firebase mRef;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onStart()
{
super.onStart();
myTextView = (TextView) findViewById(R.id.textViewCondition);
sunnyButton = (Button) findViewById(R.id.sunnyButton);
foggyButton = (Button) findViewById(R.id.FoggyButton);
//Firebase
mRef = new Firebase("https://example-e04be.firebaseio.com/weather");
mRef.addValueEventListener(new ValueEventListener()
{
//onDatachange will get fired everytime there is a change in your firebase database. CHANCE IN YOUR DATABASE!!!
@Override
public void onDataChange(DataSnapshot dataSnapshot)
{
String text = dataSnapshot.getValue(String.class);
myTextView.setText(text);
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
sunnyButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
mRef.setValue("sunny");//So "Foggy" string will be sent to our DB. Which will update our DB, then in mRef.addValue...will be called and our textfield will be called. Like a small loop.
}
});
}
firebase 데이터베이스에서 권한 문제가있을 수 있습니다. 수정 해 봤어? 아니, 당신이 이것을 선호 할 수 있다면 [http://stackoverflow.com/a/38199481/5610686](http://stackoverflow.com/a/38199481/5610686). 여기에서 권한 부분 만보기. –
@DevQualwebs 실시간 변경을 수행하고 데이터베이스에 저장하려면이를 수정해야합니까? 내가 제시 한 링크에서 답변을 읽었지만 firebase 대시 보드의 "규칙"섹션에서 무엇을 변경해야하는지 잘 모르겠습니다. – TheQ
예. 어떤 종류의 firebase 인증도 수행하지 않으면 firebase 데이터베이스의 규칙을 변경해야합니다. 이것도 참조해야합니다 [https://firebase.google.com/docs/database/security/](https://firebase.google.com/docs/database/security/). 학습 목적으로 이전 링크에 표시된 내용을 public으로 설정할 수 있습니다. –