ยินดีต้อนรับกลับมา
เราประสบความสำเร็จในการสร้างบัญชีผู้ใช้และสร้างฟังก์ชันการลงทะเบียนสำหรับแอปของเรา
ตอนนี้เรามาเพิ่มฟังก์ชันการเข้าสู่ระบบเพื่อให้ผู้ใช้สามารถเข้าสู่ระบบได้ซึ่งได้ลงทะเบียนไว้ในฐานข้อมูลของเราแล้ว
และถูกนำไปยังกิจกรรมรายการวารสาร
ฉันจะเริ่มจากกิจกรรมหลักที่นี่ก่อน และฉันต้องเริ่มต้นการใช้งานวิดเจ็ต
ปุ่มเข้าสู่ระบบ และข้อความแก้ไข
มาเริ่มกันที่การยืนยันตัวตนด้วย Firebase
ฉันจะกำหนดค่าตัวแปรใหม่ที่นี่ชื่อว่า Firebase auth
งั้นเราไปเริ่มกันที่ Firebase auth กันเลย
ที่นี่ฉันจะประกาศตัวแปรระดับโลกให้เหมือนกับที่เราได้ทำในกิจกรรมการลงทะเบียน
เราต้องการผู้ฟัง
และเราต้องการผู้ใช้สำหรับผู้ใช้ปัจจุบัน
ไปที่เมธอด Oncreate กันเถอะ
ฉันเริ่มต้นด้วย firebase auth เท่ากับ firebase auth จุด get instance
Firebase auth เป็นคลาสที่จัดเตรียมโดย
Firebase ซึ่งแสดงถึงจุดเริ่มต้นสำหรับการโต้ตอบกับบริการการยืนยันตัวตนของ Firebase
มันช่วยให้คุณสามารถดำเนินการเกี่ยวกับการตรวจสอบสิทธิ์ของผู้ใช้ เช่น การสร้างบัญชี การตั้งค่า
การลงชื่อเข้าใช้ การลงชื่อออก และการจัดการโปรไฟล์ผู้ใช้
เมธอด dot get instance ของการตรวจสอบสิทธิ์
Firebase เป็นเมธอดแบบสถิตที่รับและดึงข้อมูลอินสแตนซ์ของคลาส Firebase auth
มันทำให้แน่ใจว่าคุณกำลังทำงานกับอินสแตนซ์เดียวที่ใช้ร่วมกันของ Firebase auth สำหรับแอปพลิเคชันทั้งหมดของคุณ
นี่คือแนวทางปฏิบัติที่ดีที่สุด
เนื่องจากช่วยให้สถานะการตรวจสอบสิทธิ์มีความสม่ำเสมอและหลีกเลี่ยงการใช้ทรัพยากรที่ไม่จำเป็น
จากนั้นเราต้องตั้งค่า onClick listener สำหรับปุ่มเข้าสู่ระบบ
มุมมองใหม่เกี่ยวกับผู้ฟังการคลิก
และอีกอย่าง คุณสามารถแทนที่มันด้วย Lambda ได้
ดังนั้นฉันจะลบ onclick นี้ออกที่นี่และแทนที่ด้วย lambda นี้ที่ตั้งค่าไว้ใน listener ของการคลิก
ฉันต้องการเรียกใช้เมธอดที่ชื่อว่า login email password user
วิธีนี้จะรับพารามิเตอร์เป็นสตริงสองตัว โดยตัวหนึ่งสำหรับอีเมลและอีกตัวสำหรับรหัสผ่าน
ซึ่งเราจะได้มาจากข้อความที่แก้ไข
วิธีการตัดใช้เพื่อลบเส้นเกิน
เข้าสู่ระบบ
อีเมล
รหัสผ่าน
ผู้ใช้
ฟังก์ชันนี้จะถูกสร้างขึ้นที่นี่ภายนอกเมธอด Oncreate
ดังนั้น private void login email password user และเมธอดนี้รับพารามิเตอร์สองตัว
ตอนนี้ฉันต้องการให้คุณตั้งใจอยู่กับฉันเพราะเราจะตรวจสอบการเข้าสู่ระบบ
ดังนั้น หากผู้ใช้มีอยู่ในระบบตรวจสอบสิทธิ์ Firebase
ของเรา ผู้ใช้จะถูกนำไปยังกิจกรรมอื่น และการเข้าสู่ระบบจะสำเร็จ
หากไม่เป็นเช่นนั้น เราจะแสดงข้อความแสดงข้อผิดพลาด
ฉันจะตรวจสอบข้อความที่ว่างเปล่า
ดังนั้น หาก text util ว่างเปล่า ให้ใช้ email และ password
ดังนั้น หากอีเมลและรหัสผ่านไม่ใช่ค่าว่างหรือไม่มีค่า เราจะพยายามเข้าสู่ระบบในระบบการยืนยันตัวตนของ
Firebase ของเรา
ดังนั้น ให้ลงชื่อเข้าใช้ Firebase ด้วยอีเมลและรหัสผ่าน
นี่คือวิธีการที่จัดเตรียมโดยแพ็กเกจ Firebase Authentication
และเราสามารถส่งอีเมลและรหัสผ่านเพื่อตรวจสอบการมีอยู่ของพวกเขาได้
ดังนั้นฉันต้องส่งต่ออีเมลที่ถูกส่งผ่านพารามิเตอร์ที่นี่ และ pwd ซึ่งเป็นรหัสผ่าน
จากนั้นฉันต้องเพิ่มตัวฟังเหตุการณ์ Oncomplete ตัวใหม่
และเมธอด Oncomplete จะบอกเราว่าการลงชื่อเข้าใช้สำเร็จหรือไม่
หลังจากความสำเร็จ ฉันต้องทำให้ผู้ใช้ Firebase เท่ากับ Firebase auth dot get current user
ฉันจำเป็นต้องกำหนดผู้ใช้ Firebase ที่นี่และใช้สิ่งนี้ทั่วโลกในแอปพลิเคชันของเรา
และฉันจะสร้างกิจกรรมใหม่ชื่อ Empty Views activity และฉันจะตั้งชื่อว่า Journal List Activity
กิจกรรมนี้จะแสดงบันทึกทั้งหมดใน Firebase Firestore ของเรา
คลิกเสร็จสิ้นและกลับไปยังกิจกรรมหลัก
หากการเข้าสู่ระบบสำเร็จ ฉันต้องนำผู้ใช้ไปยังกิจกรรมนี้ที่นี่
เจตนา I เท่ากับเจตนาใหม่ที่ต้องการกำหนดเส้นทางจากกิจกรรมหลัก
จุดนี้หรือจุดนี้โดยตรงไปยังกิจกรรมรายการบันทึก จุดคลาส เริ่มกิจกรรม
และที่นี่ฉันต้องส่งผ่านกิจกรรมหลักเนื่องจากฉันกำลังใช้งานมันในเมธอดนี้
กิจกรรมหลักคือทำสิ่งนี้และสิ่งนี้ดี
ที่นี่ในรายการวารสาร ฉันจะสร้างข้อความขึ้นมาเพื่อทำความเข้าใจว่านี่คือรายการวารสาร
ในข้อจำกัดเพิ่มเติม
และฉันอยากฟัง
โอเค แค่ฉันกำลังบอก Android Studio ให้สร้างกิจกรรมง่ายๆ
นี้ที่มี text view หนึ่งอัน เพื่อที่เราจะได้เข้าใจว่าเราอยู่ในกิจกรรมรายการบันทึก
หยุดการใช้งานแอปพลิเคชัน จากนั้นให้รันมันอีกครั้ง
ตอนนี้ลองเข้าสู่ระบบด้วยอีเมลดู
ฉันจะเริ่มด้วยการเข้าสู่ระบบด้วยอีเมลที่ไม่ได้ลงทะเบียน และคุณจะเห็นว่ามันไม่มีอยู่จริง
แต่จะนำเราไปยังกิจกรรมรายการวารสาร
นี่เป็นเพราะผู้ฟังที่ผิดพลาดที่เราได้นำมาใช้ที่นี่ Oncomplete.
ดังนั้นเมื่อใดก็ตามที่สิ่งนี้ถูกดำเนินการ ให้ไปและดำเนินการบรรทัดนี้
ฉันไม่ต้องการแบบนี้ ฉันต้องการใช้ Onsuccess listener
ผู้ฟัง Onsuccess จะตรวจสอบความสำเร็จ
ดังนั้น หากผู้ใช้มีอยู่ เราจำเป็นต้องรันโค้ดนี้
โอเค
วิ่งอีกครั้ง
ป้อนอีเมลใดก็ได้ รหัสผ่านใดก็ได้เข้าสู่ระบบ
ไม่มีอะไรเกิดขึ้น
ตอนนี้ลองเพิ่มอีเมลจริงของฉันที่ฉันใช้เข้าสู่ระบบในกิจกรรมนี้ดู
เข้าสู่ระบบและคุณจะเห็นว่าเราถูกนำไปยังกิจกรรมรายการวารสาร
และตรวจสอบให้แน่ใจว่าคุณได้นำผู้ฟังที่ถูกต้องมาใช้แล้ว
การเพิ่มตัวฟังเหตุการณ์สำเร็จ (Onsuccess listener) แตกต่างจากการเพิ่มตัวฟังเหตุการณ์เสร็จสิ้น (Oncomplete listener)
และนี่คือสิ่งที่ฉันต้องบอกคุณ