WEBVTT

1
00:00.110 --> 00:00.920
ยินดีต้อนรับกลับมา!
เราได้เรียนรู้วิธีการอ่านและเขียนข้อมูลไปยัง
Firebase Real

2
00:00.920 --> 00:06.050
Time Database แล้ว

3
00:06.050 --> 00:12.680

ตอนนี้เราจะอ่านและเขียนวัตถุที่กำหนดเองไปยังฐานข้อมูลแบบเรียลไทม์ของเรา

4
00:12.680 --> 00:18.440
ฉันจะสร้างคลาส Java
ใหม่ที่ทำหน้าที่เป็นวัตถุที่กำหนดเอง

5
00:18.440 --> 00:20.600
ฉันจะตั้งชื่อว่าผู้ใช้

6
00:20.600 --> 00:27.260
และภายในผู้ใช้คนนี้ ฉันจะสร้างตัวแปรสองตัว
ชื่อตัวแปรเป็นสตริงชื่อ และสตริง

7
00:27.290 --> 00:30.260
กด Alt+insert
ในอีเมลเพื่อสร้างคอนสตรัคเตอร์

8
00:30.260 --> 00:36.050
มีตัวแปรสองตัวนี้
และฉันต้องการสร้างตัวรับและตัวตั้งค่า

9
00:36.050 --> 00:38.540
แล้วเรามาเริ่มกิจกรรมหลักกันเถอะ

10
00:38.540 --> 00:43.010

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

11
00:43.040 --> 00:54.770
สร้างผู้ใช้ใหม่หนึ่งคน ชื่อผู้ใช้คือ Jack
และอีเมลคือ Jack@gmail.com

12
00:54.770 --> 01:03.230
และในทำนองเดียวกัน
ในการเขียนค่าไปยังตำแหน่งฐานข้อมูลเฉพาะ
ฉันจะใช้เมธอด set

13
01:03.230 --> 01:11.810
value, กำหนดค่าจุดอ้างอิงของฉัน
และคุณจะเห็นว่า set

14
01:11.810 --> 01:16.280
value สามารถรับวัตถุเป็นอาร์กิวเมนต์ได้
โดยผู้ใช้หนึ่งจะถูกแทรก
หยุดแอปพลิเคชันและรันมันอีกครั้ง

15
01:16.280 --> 01:25.100

และมีข้อผิดพลาดเพราะฉันไม่จำเป็นต้องใช้สิ่งนี้
และข้อความอ้างอิงจะยอมรับเฉพาะค่าเท่านั้น

16
01:25.100 --> 01:28.250
ดังนั้นฉันต้องเปลี่ยนเส้นทาง

17
01:28.250 --> 01:31.640

เอกสารอ้างอิงที่ฉันต้องการเพื่อสร้างเอกสารอ้างอิงอีกฉบับ

18
01:31.640 --> 01:33.590
ฉันจะตั้งชื่อว่าผู้ใช้

19
01:33.590 --> 01:37.070
มาวิ่งกันอีกครั้งและมาเปิด Firebase ของเรา

20
01:37.070 --> 01:46.040
เมื่อสร้างแอปพลิเคชันเสร็จแล้ว
คุณจะเห็นโหนดผู้ใช้ถูกสร้างขึ้น
โดยตั้งชื่อเป็น Jack

21
01:46.040 --> 01:48.620
และอีเมลเป็น Jack ที่ gmail.com

22
01:48.620 --> 01:56.930

และสาเหตุที่แอปพลิเคชันของเราล่มเพราะการอ้างอิงของฉันกำลังอ้างอิงถึงข้อความการอ้างอิงนี้

23
01:56.930 --> 01:58.640
ไม่ใช่ผู้ใช้

24
01:58.640 --> 02:07.760

และหากข้อมูลอ้างอิงใหม่ที่มีวัตถุที่กำหนดเองจะไม่สามารถใช้ได้โดยการใช้วิธีนี้

25
02:07.760 --> 02:16.100

ดังนั้นคุณใช้ฟังค์ชันผู้ฟังเหตุการณ์เพิ่มค่าของฉันโดยใช้จุดอ้างอิงของฉัน
และคุณจะได้รับค่าทุกครั้งที่คุณมีค่าที่ง่าย

26
02:16.100 --> 02:21.740
ข้อมูลที่ง่าย ซึ่งถูกแทรกเข้าไปในฐานข้อมูล

27
02:21.740 --> 02:25.600
เมื่อใดก็ตามที่คุณมีคีย์ค่า คุณใช้
Snapchat จุด

28
02:25.610 --> 02:26.240
รับคุณค่า

29
02:26.240 --> 02:34.370
ด้วยวิธีนี้
ทุกครั้งที่คุณสร้างและได้รับวัตถุที่กำหนดเองเช่นนี้
คุณจำเป็นต้องใช้วิธีที่แตกต่างกัน

30
02:34.370 --> 02:43.220
ดังนั้นในการอ่านวัตถุที่กำหนดเองจากโหนด
เราจะใช้การอ้างอิงเป็นผู้ใช้

31
02:43.220 --> 02:44.510
ไม่ใช่ข้อความถึงโหนด
แต่เป็นผู้ใช้และข้อความ

32
02:44.510 --> 02:48.470
ฉันต้องการรับอีเมลในโหนดของผู้ใช้

33
02:48.470 --> 02:56.960
ขึ้นไปตรวจสอบผู้ใช้ที่อ้างอิง
และที่นี่ฉันต้องการแสดงความคิดเห็นนี้เพราะฉันไม่จำเป็นต้องตั้งค่าการอ้างอิงอีกครั้ง

34
02:56.960 --> 03:00.020
เนื่องจากได้ตั้งค่าและอัปโหลดแล้ว

35
03:00.020 --> 03:03.860
ฉันจำเป็นต้องอ่านวัตถุที่กำหนดเองนี้

36
03:03.860 --> 03:08.480
ดังนั้นจะอ่านวัตถุที่กำหนดเองนี้ในเมธอด on
data change ได้อย่างไร?

37
03:08.540 --> 03:16.820

คล้ายกับที่เราทำมาก่อนหน้านี้ในจุดอ้างอิงของฉันที่เพิ่มเมธอด
listener ของเหตุการณ์ และภายใน

38
03:16.820 --> 03:24.080
on data change
ฉันจำเป็นต้องสร้างวัตถุที่คล้ายกับที่เราแทรกเข้าไปในฐานข้อมูลของเรา

39
03:24.110 --> 03:32.030
มันเรียกว่า user user user เท่ากับ
snapshot ที่นี่ dot get value

40
03:32.030 --> 03:35.600
และประเภทของวัตถุที่กำหนดเองคืออะไร?
มันเป็นประเภท user dot class

41
03:35.600 --> 03:43.580
ที่นี่รับค่าก่อนที่เราจะระบุ string dot
class

42
03:43.580 --> 03:51.020
ที่นี่ฉันกำลังใช้ user dot class
ที่อ้างถึงวัตถุที่กำหนดเองนี้และการอ้างอิงที่กำหนดเอง

43
03:51.020 --> 03:54.620
ตอนนี้ฉันจะใช้ตัวแปรผู้ใช้ตัวนี้

44
03:54.620 --> 03:57.440
ดังนั้นฉันจึงได้รับมันจากสแนปช็อต

45
03:57.440 --> 04:00.050
ฉันต้องการแสดงมันในมุมมองข้อความ

46
04:00.050 --> 04:02.540
ดังนั้น ให้ตั้งค่าข้อความในมุมมองข้อความ

47
04:02.540 --> 04:09.410
และที่นี่อีเมลจะเป็นผู้ใช้จุดgetอีเมล

48
04:09.410 --> 04:10.550
วิ่งกันเถอะ

49
04:10.550 --> 04:12.440
และแอปก็ล่ม

50
04:12.440 --> 04:13.010
ทำไม

51
04:13.010 --> 04:16.100
ถ้าเราไปที่ logcat ให้เลื่อนลงไปด้านล่าง

52
04:16.100 --> 04:22.940

เราสามารถเห็นได้ว่าผู้ใช้ไม่ได้กำหนดคอนสตรัคเตอร์ที่ไม่มีอาร์กิวเมนต์

53
04:22.940 --> 04:32.930
ทุกครั้งที่คุณใช้ Firebase

54
04:32.930 --> 04:33.890
ในแอปพลิเคชันของคุณ
คุณควรระบุคอนสตรัคเตอร์ที่ว่างเปล่าหรือคอนสตรัคเตอร์ที่ไม่มีอาร์กิวเมนต์

55
04:33.890 --> 04:35.180
คลิกที่คอนสตรัคเตอร์

56
04:35.180 --> 04:39.710
เลือกไม่มี
และคุณจะเห็นคอนสตรักเตอร์ของผู้ใช้ถูกสร้างขึ้น

57
04:39.710 --> 04:40.910
ลองทำอีกครั้ง

58
04:40.910 --> 04:42.050
เริ่มแล้ว

59
04:42.050 --> 04:43.460
นี่คือแอปพลิเคชันของเรา

60
04:43.460 --> 04:48.020
ข้อความเปลี่ยนจาก Hello world เป็น แจ็ค
ที่ gmail.com

61
04:48.020 --> 04:54.620

เราประสบความสำเร็จในการอ่านและเขียนวัตถุที่กำหนดเองไปยังฐานข้อมูล
Firebase Realtime


