ฉันจะดึงข้อมูลจาก firebase โดยไม่ฟังการเปลี่ยนแปลงได้อย่างไร

ฉันต้องการสร้างแอปพลิเคชันที่ใช้ firebase เป็นแบ็กเอนด์ ตอนนี้ปัญหาที่ฉันมีคือฉันต้องแนบ Listener เพื่อดึงสแน็ปช็อตของข้อมูลกลับมา แต่ทุกครั้งที่แอปพลิเคชันของฉันเริ่มทำงาน ฉันต้องการสืบค้นข้อมูลใน firebase และเติมข้อมูลในมุมมองของฉัน แม้ว่าฐานข้อมูลจะไม่มีการเปลี่ยนแปลงก็ตาม


person sharang gupta    schedule 14.09.2016    source แหล่งที่มา
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
comment
ขอบคุณ....ฉันเข้าใจแล้ว....ปัญหาคือชื่อของวิธีการแทนที่ onDatachange ทำให้เข้าใจผิด ฉันคิดว่ามันจะถูกเรียกใช้เฉพาะเมื่อข้อมูลมีการเปลี่ยนแปลงเท่านั้น - person sharang gupta; 15.09.2016
comment
ฉันทำงานกับ firebase มานานแล้ว และประสบปัญหานี้มาประมาณหนึ่งสัปดาห์ โดยคิดว่าแบ็กเอนด์อาจเป็นปัญหาได้ คุณช่วยฉันในวันศุกร์ได้! - person olajide; 06.12.2019