1
我有一個測試Firebase的基本程序。我有2個按鈕:第一種是寫火力地堡數據庫「A」,第二個是寫「b」和我同一個服務檢查他們:Firebase OnDataChange功能觸發錯誤時間?
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String value = dataSnapshot.getValue(String.class);
if(value=="a")
{
ToneGenerator toneGenerator= new ToneGenerator(AudioManager.STREAM_DTMF,ToneGenerator.MAX_VOLUME);
//this will play tone for 2 seconds.
toneGenerator.startTone(ToneGenerator.TONE_DTMF_1, 500);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
toneGenerator.startTone(ToneGenerator.TONE_DTMF_1, 500);
}
if(value=="b")
{
ToneGenerator toneGeneratora= new ToneGenerator(AudioManager.STREAM_DTMF,ToneGenerator.MAX_VOLUME);
//this will play tone for 2 seconds.
toneGeneratora.startTone(ToneGenerator.TONE_DTMF_3, 500);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
toneGeneratora.startTone(ToneGenerator.TONE_DTMF_3, 500);
}
的問題是,即使我沒有互聯網連接,我的意思是即使我無法在單擊按鈕時寫入Firebase數據庫a或b,OnDataChanged
函數仍然被觸發。我想在數據庫數據更改時做一些事情。
更新:當我手動更改數據庫OnDataChange
仍然沒有觸發。它只在程序啓動時工作一次。
這真是太神奇了。謝謝! –