ยินดีต้อนรับกลับมา
ในวิดีโอนี้เราจะดึงข้อมูลจาก Firebase และแสดงผลใน recycler view ของแอปพลิเคชันของเรา
ดังนั้นที่นี่ฉันจำเป็นต้องอ้างอิงฐานข้อมูลและฐานข้อมูล Firebase
และนี่คือสิ่งที่เราได้เรียนรู้มาก่อนหน้านี้
และในเมธอด Oncreate เราจำเป็นต้องทำการเริ่มต้นวัตถุเหล่านี้
ฐานข้อมูลเท่ากับฐานข้อมูล Firebase จุด get อินสแตนซ์
และที่นี่ ฐานข้อมูลอ้างอิงอ้างอิงเท่ากับฐานข้อมูลจุดรับอ้างอิง
ที่นี่ฉันจำเป็นต้องระบุการอ้างอิงของโหนด
ไปที่คอนโซลของ Firebase
และนี่คือฐานข้อมูลแบบเรียลไทม์ของเรา ฉันคลิกที่นี่ที่เครื่องหมายบวกนี้
และฉันจะเพิ่มโหนดที่เรียกว่าผู้ใช้
อย่าระบุค่าที่นี่
เพียงคลิกเครื่องหมายบวกนี้เพื่อสร้างคู่คีย์-ค่าแบบซ้อน
ที่นี่ฉันจะระบุหมายเลขผู้ใช้หนึ่ง
อีกครั้งนะครับทุกคน อย่าระบุค่าใดๆ
คลิกเครื่องหมายบวก
และนี่คือคู่ค่าหลักที่ฉันจะกล่าวถึงสำหรับผู้ใช้ทุกคน
กรุณารับฟัง
ฉันกำลังดึงวัตถุที่กำหนดเองจากไฟร์เบส
พวกมันควรตรงกับคลาสโมดัลของฉัน มิฉะนั้นฉันจะต้องใช้ Json หรือ mochi
นี่คือตัวแปลง Json และใช้สำหรับการแปลงข้อมูลเป็นลำดับและการแปลงข้อมูลกลับ
และผมได้พูดถึงสิ่งเหล่านี้ในส่วนก่อนหน้านี้แล้ว โดยเฉพาะในส่วน Retrofit Plus mVVM
แต่เพื่อให้ทุกอย่างง่ายและราบรื่น ฉันจะคัดลอกฟิลด์และวางที่นี่
ในคีย์นี้ ฉันระบุว่าชื่อแรกคือ แจ็ค
กด Enter แล้วคุณจะเห็นชื่อผู้ใช้ของผู้ใช้คนแรก
หนึ่งในโหนดผู้ใช้คือแจ็ค
และที่นี่ฉันต้องเพิ่มกุญแจที่สองซึ่งคือหมายเลขโทรศัพท์
คัดลอกแล้ววาง
ค่าจะเป็น 123456789
กด Enter
คุณสามารถเห็นผู้ใช้หนึ่งมีสองฟิลด์คือหมายเลขโทรศัพท์และชื่อผู้ใช้
อีกครั้งครับ ผมจะกดเครื่องหมายบวกนี้
คัดลอกผู้ใช้กลุ่มและวางที่นี่
และเพื่อนๆ นี่คือผู้ใช้คนแรก
ฉันจะสร้างผู้ใช้ใหม่
ดังนั้นฉันจะไปที่โหนดผู้ใช้
ผู้ใช้หมายเลขสอง กรุณาอย่ากดเพิ่ม
กดเครื่องหมายบวกเพื่อสร้างสิ่งของที่ซ้อนกัน
อีกครั้งครับ คุณควรระบุคีย์ให้เหมือนกันทุกประการสำหรับผู้ใช้ทุกคนเพื่อให้ได้คีย์ที่ถูกต้องเมื่อดึงข้อมูลในแอปพลิเคชัน
Android
ดังนั้นอีกครั้งนะครับทุกคน สำหรับทุกไอเท็ม
คุณควรระบุชื่อผู้ใช้ให้ถูกต้องและหมายเลขโทรศัพท์ให้ถูกต้องเช่นนี้ และผู้ใช้กลุ่มให้ถูกต้องเช่นนี้
ชื่อผู้ใช้หมายเลขสองคือ อาลี
ฉันคลิกเพิ่ม และที่นี่ในหมายเลขผู้ใช้ที่สอง ฉันจะสร้างหมายเลขโทรศัพท์
ค่าจะเป็น 88776655
เข้า
และกลุ่มผู้ใช้ครับ มันต้องใช้ตัวพิมพ์ใหญ่น้อยตัว
นี่มาจากกลุ่มทำงาน
งานผู้ใช้ ฉันจะเพิ่มผู้ใช้ใหม่
ฐานข้อมูลของเราประกอบด้วยโหนดหนึ่งชื่อว่า users และภายในโหนดนี้มีโหนดย่อยสามโหนดคือ user one, user
two และ user three รวมถึงคู่คีย์-ค่า
คู่ค่าสำคัญสามคู่สำหรับผู้ใช้แต่ละราย
กรุณาทุกคนให้ความสนใจ
กุญแจเหล่านี้ต้องตรงกับผู้ใช้ทุกคน และโหนดทุกโหนดเพื่อให้สามารถดึงข้อมูลได้ถูกต้องใน Android Studio
ตอนนี้เรามาเริ่มกิจกรรมหลักกัน และที่นี่ฉันต้องระบุโหนดผู้ใช้ และกรุณาให้ความสนใจ
ต้องคำนึงถึงตัวพิมพ์เล็กและใหญ่
และที่นี่ฉันจะเลื่อนลง และก่อนที่จะแจ้งเตือนว่าชุดข้อมูลมีการเปลี่ยนแปลง ฉันจำเป็นต้องดึงข้อมูลจาก
Firebase เข้าสู่ RecyclerView
ดังนั้นกรุณาให้ความสนใจ
ฉันจะใช้การอ้างอิงฐานข้อมูลพร้อมเพิ่มมูลค่า
ค่าใหม่ของตัวฟังเหตุการณ์
ผู้ฟังเหตุการณ์
เพิ่มคุณค่า
ผู้ฟังเหตุการณ์คือเมธอดที่ใช้ในการแนบผู้ฟังเหตุการณ์เข้ากับตำแหน่งเฉพาะในฐานข้อมูล
ผู้ฟังเหตุการณ์นี้จะตรวจสอบการเปลี่ยนแปลงที่อ้างอิงฐานข้อมูลที่ระบุไว้
ในกรณีนี้ มันอยู่ที่โหนดของผู้ใช้และอนุญาตให้คุณตอบสนองต่อการเปลี่ยนแปลงเหล่านั้นได้แบบเรียลไทม์
นี่คือกลไกพื้นฐานสำหรับการสร้างแอปพลิเคชันแบบเรียลไทม์ด้วย Firebase
และเพื่อรับฟังการเปลี่ยนแปลงที่เกิดขึ้นในตำแหน่งที่ระบุ
คุณเรียกใช้เมธอดผู้ฟังเหตุการณ์เพิ่มค่าในอ้างอิงฐานข้อมูลและส่งผ่านอินสแตนซ์ของผู้ฟังเหตุการณ์ค่า
ผู้ฟังเหตุการณ์ค่าเป็นอินเทอร์เฟซที่มีเมธอด callback
สองตัวหลักสำหรับการเปลี่ยนแปลงข้อมูลและการยกเลิกการเปลี่ยนแปลงข้อมูล
วิธีนี้จะถูกเรียกใช้เมื่อข้อมูลที่ตำแหน่งที่ระบุมีการเปลี่ยนแปลง
ข้อมูล
พารามิเตอร์ Snapshot ประกอบด้วยภาพรวมของข้อมูล ณ ตำแหน่งที่เกิดการยกเลิก
นี่คือวิธีการที่เรียกว่า
หากเกิดข้อผิดพลาดขณะพยายามอ่านข้อมูลจากฐานข้อมูล
และคุณสามารถใช้วิธีนี้เพื่อจัดการกับข้อผิดพลาดของฐานข้อมูลได้
เราสนใจในวิธีการเมื่อมีการเปลี่ยนแปลงข้อมูล
ที่นี่เราจำเป็นต้องดึงข้อมูลและรับรายการผู้ใช้ในฐานข้อมูล
ดังนั้นสำหรับกรณีนี้ ผมจะใช้ตัวแปรข้อมูลแบบ snapshot ของ for each loop
และที่นี่ฉันเรียกมันว่าวัตถุภาพรวมข้อมูล
และเพื่อดึงข้อมูลจากที่นี่ เราจำเป็นต้องใช้ snapshot dot get children
นี่คือ for
แต่ละลูปมักใช้ในฐานข้อมูลแบบเรียลไทม์ของ Firebase
เพื่อวนซ้ำผ่านโหนดลูกหรือเด็กของสแนปช็อตเฉพาะ
สแนปช็อตในฐานข้อมูลแบบเรียลไทม์ของ Firebase แสดงถึงจุดเฉพาะในฐานข้อมูลที่ตำแหน่งหนึ่ง ณ เวลาใดเวลาหนึ่ง
มันประกอบด้วยข้อมูลและโครงสร้างของฐานข้อมูล ณ ตำแหน่งนั้น ๆ ในเวลาที่สแนปช็อตถูกสร้างขึ้น
เมธอด Get children ถูกใช้และเรียกใช้บนอ็อบเจ็กต์
Data Snapshot และจะส่งคืนอินเทอร์เฟซที่สามารถวนซ้ำได้ซึ่งประกอบด้วยโหนดลูกโดยตรงทั้งหมดของสแนปช็อตนั้น และในโค้ดของคุณที่นี่
วงวน for จะวนซ้ำผ่านโหนดลูกเหล่านี้ทีละโหนด
สำหรับแต่ละโหนดลูก ตัวแปรข้อมูลสแนปช็อตจะแสดงถึงโหนดลูกปัจจุบันภายในรอบการวนลูป
จากนั้นฉันต้องแสดงและรับรายการจากออบเจ็กต์ข้อมูลสแนปช็อตที่เราสร้างขึ้นที่นี่และที่นี่
ฉันต้องเริ่มต้นด้วยการสร้างอ็อบเจ็กต์ user user เท่ากับ snapshot ข้อมูล dot get value.
และประเภทของค่าที่เราได้รับคืออะไร?
มันเป็นประเภทคลาสผู้ใช้
ดังนั้นที่นี่ฉันจำเป็นต้องระบุ user dot class
โปรดตรวจสอบให้แน่ใจว่าคุณได้รวมคอนสตรัคเตอร์ที่ไม่มีอาร์กิวเมนต์ไว้ในคลาสโมเดลของคุณ เพื่อที่จะใช้มันกับ Firebase
list users
เพิ่มผู้ใช้รายนี้สำหรับผู้ใช้ทุกคนภายในสแนปช็อต
ไปเพิ่มมันลงในรายการอาร์เรย์ผู้ใช้ในกิจกรรมหลักของเรา
จากนั้นฉันจำเป็นต้องใช้ชุดข้อมูลการแจ้งเตือนนี้
เปลี่ยนโค้ดให้ขึ้นไปด้านบนและหลังจากวนลูปแล้ว ให้แจ้งเตือนว่าชุดข้อมูลมีการเปลี่ยนแปลง