ฉันต้องการสร้างแอปพลิเคชันที่ใช้ firebase เป็นแบ็กเอนด์ ตอนนี้ปัญหาที่ฉันมีคือฉันต้องแนบ Listener เพื่อดึงสแน็ปช็อตของข้อมูลกลับมา แต่ทุกครั้งที่แอปพลิเคชันของฉันเริ่มทำงาน ฉันต้องการสืบค้นข้อมูลใน firebase และเติมข้อมูลในมุมมองของฉัน แม้ว่าฐานข้อมูลจะไม่มีการเปลี่ยนแปลงก็ตาม
ฉันจะดึงข้อมูลจาก firebase โดยไม่ฟังการเปลี่ยนแปลงได้อย่างไร
comment
กรุณาแบ่งปันรหัสของคุณ
- person Linh   schedule 14.09.2016
comment
คำตอบควรอยู่ที่นี่: firebase.google.com/docs/ ฐานข้อมูล/Android/
- person Nerdy Bunz   schedule 14.09.2016
คำตอบ (1)
ฉันคิดว่าคุณกำลังทำอะไรแบบนี้:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Code
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Code
}
});
ดังนั้นสำหรับสิ่งที่ฉันคิดว่าคุณกำลังถาม การเรียกวิธีอื่นที่เรียกว่า addListenerForSingleValueEvent
น่าจะแก้ปัญหาได้ มันจะ ไม่ ฟังการเปลี่ยนแปลง ทันทีที่ส่งคืนค่า มันจะหยุดการเชื่อมต่อจนกว่าจะถูกแนบอีกครั้ง
ผลลัพธ์
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Code
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Code
}
});
person
Sergio Carneiro
schedule
14.09.2016
ขอบคุณ....ฉันเข้าใจแล้ว....ปัญหาคือชื่อของวิธีการแทนที่ onDatachange ทำให้เข้าใจผิด ฉันคิดว่ามันจะถูกเรียกใช้เฉพาะเมื่อข้อมูลมีการเปลี่ยนแปลงเท่านั้น
- person sharang gupta; 15.09.2016
ฉันทำงานกับ firebase มานานแล้ว และประสบปัญหานี้มาประมาณหนึ่งสัปดาห์ โดยคิดว่าแบ็กเอนด์อาจเป็นปัญหาได้ คุณช่วยฉันในวันศุกร์ได้!
- person olajide; 06.12.2019