ขั้นตอนที่สองคือการอ่านเอกสารทั้งหมดในคอลเล็กชัน
มาสร้างเมธอดใหม่ที่นี่กันเถอะ
ฉันจะตั้งชื่อว่า "ดึงเอกสารทั้งหมดในคอลเลกชัน" และฉันจะใช้การอ้างอิงคอลเลกชันตามด้วยจุด, get ตามด้วยจุด,
เพิ่มตัวฟัง Onsuccess และส่งผ่านที่นี่ในอินเทอร์เฟซตัวฟัง Success
เราแทนที่มัน
วิธีการนี้ใน Success Collection
reference แสดงถึงการอ้างอิงไปยังคอลเลกชันเฉพาะภายในฐานข้อมูล Firestore
ของคุณที่คุณต้องการดึงเอกสารออกมา และในกรณีนี้เป็นการระบุถึงคอลเลกชันของผู้ใช้
และถ้าคุณเลื่อนขึ้นไป คุณจะเห็นการอ้างอิง
เมธอด Get
ของผู้ใช้จะถูกเรียกใช้เมื่อเราต้องการดำเนินการอ่านและดึงเอกสารจากคอลเลกชันที่ระบุ
คุณสามารถแนบและเพิ่มตัวฟังเหตุการณ์ Onsuccess ให้กับผลลัพธ์ของเมธอดการดำเนินการ get ได้
ผู้ฟังนี้จะถูกเรียกเมื่อการดึงข้อมูลสำเร็จ
เอกสารคำค้นหา snapshots ประกอบด้วยเอกสารในคอลเลกชัน
ภายในเมธอด Onsuccess ของผู้ฟัง Onsuccess คุณจะได้รับสแนปช็อตของคำค้นหา
สแนปช็อตของคำค้นหาประกอบด้วยเอกสารที่ถูกดึงมาจากคอลเลกชัน รวมถึงข้อมูลเมตาเกี่ยวกับคำค้นหาเอง
และตามที่เรียนรู้มาก่อนหน้านี้ในส่วนก่อนหน้าของ Firebase
ฉันจำเป็นต้องค้นหาข้อมูลในสแนปช็อต
เราจะใช้ for each loop เพื่อวนซ้ำและทำซ้ำเอกสาร
ดังนั้นคุณสามารถใช้ for loop เพื่อทำซ้ำผ่านเอกสารการค้นหาได้
วัตถุภาพรวมในเอกสารภาพรวมของการสืบค้น
แต่ละสแนปช็อตของเอกสารคำค้นหาแทนเอกสารในคอลเลกชัน
และคุณสามารถใช้วิธีการเช่น getString, get Lang, และอื่น ๆ เพื่อเข้าถึงข้อมูลภายในเอกสารแต่ละฉบับได้
มาเริ่มดึงและวนดูเอกสารทั้งหมดในคอลเลกชันกันเถอะ
ดังนั้นสำหรับสิ่งนั้น ฉันจะใช้สำหรับสแนปช็อตเอกสารการค้นหา สแนปช็อตในเอกสารการค้นหาสแนปช็อตที่นี่
เอกสารสแนปช็อตของคำค้นหาแสดงถึงเอกสารในคอลเลกชัน เอกสารสแนปช็อตของคำค้นหา
ขั้นตอนที่สองคือการแปลงสแนปช็อตให้เป็นวัตถุ
เราได้รับสแนปช็อตสำหรับทุกไอเท็มในเอกสารคำขอสแนปช็อต
และเราต้องแปลงมันให้กลายเป็นออบเจ็กต์ประเภทเพื่อน
ดังนั้น เพื่อนเพื่อนเท่ากับ snapshot dot ไปยังเมธอดของวัตถุ
และที่นี่ฉันจะระบุคลาสจุดเพื่อน
และที่นี่ฉันกำลังบอกว่าสำหรับเอกสารทุกฉบับในสแนปช็อต
ให้ไปแปลงเอกสารเหล่านั้นเป็นอ็อบเจ็กต์ประเภทเพื่อน
ผมจะสร้างสตริงว่างไว้ภายนอกลูป for นี้เพื่อแสดงผลในมุมมองข้อความ
จากนั้นสำหรับเพื่อนแต่ละคน ฉันจำเป็นต้องใช้สตริงข้อมูลนี้เท่ากับเป็นการเพิ่มชื่อและอีเมลเข้าไป
ดังนั้น ชื่อเท่ากับเพื่อน จุด get ชื่อบวกอีเมล, เพื่อน จุด get อีเมลบวกบรรทัดใหม่.
ฉันกำลังเพิ่มข้อมูลนี้ในสตริงข้อมูลนี้ทุกเอกสาร
ไปและแปลงมันให้เป็นวัตถุ
จากนั้นนำชื่อและอีเมลจากวัตถุนี้มาแสดงในบรรทัดเดียว
จากนั้นฉันต้องตั้งค่า text view ให้เป็น text view ที่ดึงข้อมูล แล้วตั้งค่า text เป็นข้อมูล
วิ่งกันเถอะ
และทุกครั้งที่ฉันลืมเรียกสิ่งนี้ใน listener ของปุ่มเซ็ต ให้อ่านปุ่มจุดเซ็ตใน listener
ของการคลิกใหม่ในมุมมองใหม่ และ listener ของการคลิก แล้วเรียกเมธอดนี้อีกครั้ง
วิ่ง
คลิกที่ปุ่มอ่านข้อมูล และขอแสดงความยินดีด้วยครับ!
เราได้รับชื่อและอีเมลสำหรับทุกวัตถุและทุกเอกสารในไฟร์สโตร์แล้ว