WEBVTT

1
00:00.330 --> 00:01.380
ยินดีต้อนรับกลับมา

2
00:01.380 --> 00:08.340

เราประสบความสำเร็จในการสร้างบัญชีผู้ใช้และสร้างฟังก์ชันการลงทะเบียนสำหรับแอปของเรา

3
00:08.340 --> 00:15.360

ตอนนี้เรามาเพิ่มฟังก์ชันการเข้าสู่ระบบเพื่อให้ผู้ใช้สามารถเข้าสู่ระบบได้ซึ่งได้ลงทะเบียนไว้ในฐานข้อมูลของเราแล้ว

4
00:15.360 --> 00:20.230
และถูกนำไปยังกิจกรรมรายการวารสาร

5
00:20.250 --> 00:27.840
ฉันจะเริ่มจากกิจกรรมหลักที่นี่ก่อน
และฉันต้องเริ่มต้นการใช้งานวิดเจ็ต

6
00:27.840 --> 00:28.590
ปุ่มเข้าสู่ระบบ และข้อความแก้ไข

7
00:43.850 --> 00:46.760
มาเริ่มกันที่การยืนยันตัวตนด้วย Firebase

8
00:46.790 --> 00:51.490
ฉันจะกำหนดค่าตัวแปรใหม่ที่นี่ชื่อว่า
Firebase auth

9
00:51.500 --> 00:55.560
งั้นเราไปเริ่มกันที่ Firebase auth กันเลย

10
00:55.580 --> 01:01.900

ที่นี่ฉันจะประกาศตัวแปรระดับโลกให้เหมือนกับที่เราได้ทำในกิจกรรมการลงทะเบียน

11
01:01.910 --> 01:03.290
เราต้องการผู้ฟัง

12
01:05.830 --> 01:09.530
และเราต้องการผู้ใช้สำหรับผู้ใช้ปัจจุบัน

13
01:09.550 --> 01:12.830
ไปที่เมธอด Oncreate กันเถอะ

14
01:12.850 --> 01:17.890
ฉันเริ่มต้นด้วย firebase auth เท่ากับ
firebase auth จุด get instance

15
01:17.920 --> 01:23.890
Firebase auth เป็นคลาสที่จัดเตรียมโดย

16
01:23.890 --> 01:25.240
Firebase
ซึ่งแสดงถึงจุดเริ่มต้นสำหรับการโต้ตอบกับบริการการยืนยันตัวตนของ
Firebase

17
01:25.240 --> 01:31.690

มันช่วยให้คุณสามารถดำเนินการเกี่ยวกับการตรวจสอบสิทธิ์ของผู้ใช้
เช่น การสร้างบัญชี การตั้งค่า

18
01:31.750 --> 01:34.840
การลงชื่อเข้าใช้ การลงชื่อออก
และการจัดการโปรไฟล์ผู้ใช้

19
01:34.870 --> 01:42.070
เมธอด dot get instance ของการตรวจสอบสิทธิ์

20
01:42.070 --> 01:43.970
Firebase
เป็นเมธอดแบบสถิตที่รับและดึงข้อมูลอินสแตนซ์ของคลาส
Firebase auth

21
01:43.990 --> 01:52.720

มันทำให้แน่ใจว่าคุณกำลังทำงานกับอินสแตนซ์เดียวที่ใช้ร่วมกันของ
Firebase auth
สำหรับแอปพลิเคชันทั้งหมดของคุณ

22
01:52.750 --> 02:01.960
นี่คือแนวทางปฏิบัติที่ดีที่สุด

23
02:01.960 --> 02:03.010

เนื่องจากช่วยให้สถานะการตรวจสอบสิทธิ์มีความสม่ำเสมอและหลีกเลี่ยงการใช้ทรัพยากรที่ไม่จำเป็น

24
02:03.040 --> 02:08.020
จากนั้นเราต้องตั้งค่า onClick listener
สำหรับปุ่มเข้าสู่ระบบ

25
02:08.020 --> 02:09.220
มุมมองใหม่เกี่ยวกับผู้ฟังการคลิก

26
02:09.220 --> 02:12.130
และอีกอย่าง คุณสามารถแทนที่มันด้วย Lambda
ได้

27
02:12.130 --> 02:19.600
ดังนั้นฉันจะลบ onclick
นี้ออกที่นี่และแทนที่ด้วย lambda
นี้ที่ตั้งค่าไว้ใน listener ของการคลิก

28
02:19.630 --> 02:25.720
ฉันต้องการเรียกใช้เมธอดที่ชื่อว่า login
email password user

29
02:25.750 --> 02:33.280
วิธีนี้จะรับพารามิเตอร์เป็นสตริงสองตัว
โดยตัวหนึ่งสำหรับอีเมลและอีกตัวสำหรับรหัสผ่าน

30
02:33.280 --> 02:35.560
ซึ่งเราจะได้มาจากข้อความที่แก้ไข

31
02:38.080 --> 02:41.560
วิธีการตัดใช้เพื่อลบเส้นเกิน

32
02:41.590 --> 02:42.460
เข้าสู่ระบบ

33
02:42.490 --> 02:42.970
อีเมล

34
02:42.970 --> 02:43.630
รหัสผ่าน

35
02:43.630 --> 02:44.150
ผู้ใช้

36
02:44.170 --> 02:48.640

ฟังก์ชันนี้จะถูกสร้างขึ้นที่นี่ภายนอกเมธอด
Oncreate

37
02:48.640 --> 02:56.860
ดังนั้น private void login email password
user และเมธอดนี้รับพารามิเตอร์สองตัว

38
02:58.790 --> 03:05.090

ตอนนี้ฉันต้องการให้คุณตั้งใจอยู่กับฉันเพราะเราจะตรวจสอบการเข้าสู่ระบบ

39
03:05.090 --> 03:12.320
ดังนั้น หากผู้ใช้มีอยู่ในระบบตรวจสอบสิทธิ์
Firebase

40
03:12.320 --> 03:14.210
ของเรา ผู้ใช้จะถูกนำไปยังกิจกรรมอื่น
และการเข้าสู่ระบบจะสำเร็จ

41
03:14.210 --> 03:17.360
หากไม่เป็นเช่นนั้น
เราจะแสดงข้อความแสดงข้อผิดพลาด

42
03:17.360 --> 03:19.700
ฉันจะตรวจสอบข้อความที่ว่างเปล่า

43
03:19.700 --> 03:24.380
ดังนั้น หาก text util ว่างเปล่า ให้ใช้
email และ password

44
03:29.140 --> 03:37.990
ดังนั้น
หากอีเมลและรหัสผ่านไม่ใช่ค่าว่างหรือไม่มีค่า
เราจะพยายามเข้าสู่ระบบในระบบการยืนยันตัวตนของ

45
03:37.990 --> 03:39.360
Firebase ของเรา

46
03:39.370 --> 03:47.110
ดังนั้น ให้ลงชื่อเข้าใช้ Firebase
ด้วยอีเมลและรหัสผ่าน

47
03:47.110 --> 03:51.910
นี่คือวิธีการที่จัดเตรียมโดยแพ็กเกจ
Firebase Authentication

48
03:51.910 --> 03:57.940

และเราสามารถส่งอีเมลและรหัสผ่านเพื่อตรวจสอบการมีอยู่ของพวกเขาได้

49
03:57.940 --> 04:05.140

ดังนั้นฉันต้องส่งต่ออีเมลที่ถูกส่งผ่านพารามิเตอร์ที่นี่
และ pwd ซึ่งเป็นรหัสผ่าน

50
04:05.140 --> 04:11.230
จากนั้นฉันต้องเพิ่มตัวฟังเหตุการณ์
Oncomplete ตัวใหม่

51
04:11.230 --> 04:18.550
และเมธอด Oncomplete
จะบอกเราว่าการลงชื่อเข้าใช้สำเร็จหรือไม่

52
04:18.550 --> 04:26.230
หลังจากความสำเร็จ ฉันต้องทำให้ผู้ใช้
Firebase เท่ากับ Firebase auth dot get
current user

53
04:26.230 --> 04:32.200
ฉันจำเป็นต้องกำหนดผู้ใช้ Firebase
ที่นี่และใช้สิ่งนี้ทั่วโลกในแอปพลิเคชันของเรา

54
04:32.200 --> 04:42.340
และฉันจะสร้างกิจกรรมใหม่ชื่อ Empty Views
activity และฉันจะตั้งชื่อว่า Journal List
Activity

55
04:42.340 --> 04:49.240
กิจกรรมนี้จะแสดงบันทึกทั้งหมดใน Firebase
Firestore ของเรา

56
04:49.270 --> 04:51.990
คลิกเสร็จสิ้นและกลับไปยังกิจกรรมหลัก

57
04:52.000 --> 04:57.850
หากการเข้าสู่ระบบสำเร็จ
ฉันต้องนำผู้ใช้ไปยังกิจกรรมนี้ที่นี่

58
04:57.850 --> 05:07.300
เจตนา I
เท่ากับเจตนาใหม่ที่ต้องการกำหนดเส้นทางจากกิจกรรมหลัก

59
05:07.300 --> 05:12.370

จุดนี้หรือจุดนี้โดยตรงไปยังกิจกรรมรายการบันทึก
จุดคลาส เริ่มกิจกรรม

60
05:12.370 --> 05:17.500

และที่นี่ฉันต้องส่งผ่านกิจกรรมหลักเนื่องจากฉันกำลังใช้งานมันในเมธอดนี้

61
05:17.500 --> 05:20.530
กิจกรรมหลักคือทำสิ่งนี้และสิ่งนี้ดี

62
05:20.530 --> 05:28.480
ที่นี่ในรายการวารสาร
ฉันจะสร้างข้อความขึ้นมาเพื่อทำความเข้าใจว่านี่คือรายการวารสาร

63
05:33.210 --> 05:34.830
ในข้อจำกัดเพิ่มเติม

64
05:34.830 --> 05:36.630
และฉันอยากฟัง

65
05:36.660 --> 05:45.000
โอเค แค่ฉันกำลังบอก Android Studio
ให้สร้างกิจกรรมง่ายๆ

66
05:45.000 --> 05:48.870
นี้ที่มี text view หนึ่งอัน
เพื่อที่เราจะได้เข้าใจว่าเราอยู่ในกิจกรรมรายการบันทึก

67
05:48.900 --> 05:51.050
หยุดการใช้งานแอปพลิเคชัน
จากนั้นให้รันมันอีกครั้ง

68
05:51.060 --> 05:54.380
ตอนนี้ลองเข้าสู่ระบบด้วยอีเมลดู

69
05:54.390 --> 06:04.710

ฉันจะเริ่มด้วยการเข้าสู่ระบบด้วยอีเมลที่ไม่ได้ลงทะเบียน
และคุณจะเห็นว่ามันไม่มีอยู่จริง

70
06:04.710 --> 06:06.870
แต่จะนำเราไปยังกิจกรรมรายการวารสาร

71
06:06.870 --> 06:12.990

นี่เป็นเพราะผู้ฟังที่ผิดพลาดที่เราได้นำมาใช้ที่นี่
Oncomplete.

72
06:12.990 --> 06:18.780
ดังนั้นเมื่อใดก็ตามที่สิ่งนี้ถูกดำเนินการ
ให้ไปและดำเนินการบรรทัดนี้

73
06:18.780 --> 06:23.880
ฉันไม่ต้องการแบบนี้ ฉันต้องการใช้
Onsuccess listener

74
06:23.880 --> 06:28.350
ผู้ฟัง Onsuccess จะตรวจสอบความสำเร็จ

75
06:28.350 --> 06:34.020
ดังนั้น หากผู้ใช้มีอยู่
เราจำเป็นต้องรันโค้ดนี้

76
06:34.380 --> 06:34.950
โอเค

77
06:34.950 --> 06:35.880
วิ่งอีกครั้ง

78
06:37.830 --> 06:41.420
ป้อนอีเมลใดก็ได้
รหัสผ่านใดก็ได้เข้าสู่ระบบ

79
06:41.430 --> 06:42.960
ไม่มีอะไรเกิดขึ้น

80
06:42.990 --> 06:49.260

ตอนนี้ลองเพิ่มอีเมลจริงของฉันที่ฉันใช้เข้าสู่ระบบในกิจกรรมนี้ดู

81
06:51.120 --> 06:57.840

เข้าสู่ระบบและคุณจะเห็นว่าเราถูกนำไปยังกิจกรรมรายการวารสาร

82
06:57.840 --> 06:59.720

และตรวจสอบให้แน่ใจว่าคุณได้นำผู้ฟังที่ถูกต้องมาใช้แล้ว

83
06:59.730 --> 07:03.510
การเพิ่มตัวฟังเหตุการณ์สำเร็จ (Onsuccess
listener)
แตกต่างจากการเพิ่มตัวฟังเหตุการณ์เสร็จสิ้น
(Oncomplete listener)

84
07:03.510 --> 07:06.600
และนี่คือสิ่งที่ฉันต้องบอกคุณ


