WEBVTT

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

2
00:00.980 --> 00:04.850
ในวิดีโอนี้
เรามาเริ่มกิจกรรมหลักและทดสอบแอปพลิเคชันของเรา

3
00:04.850 --> 00:08.510
สำหรับเรื่องนี้
ฉันจะสร้างตัวแปรบางอย่างและกำหนดค่าเริ่มต้นให้กับวิดเจ็ตบางตัว

4
00:08.510 --> 00:14.780
ดังนั้น
ฉันจึงสร้างรายการอาร์เรย์ส่วนตัวของภาพยนตร์และตั้งชื่อว่า
"movies"

5
00:14.810 --> 00:20.690
ฉันจะกด Enter เพื่อนำเข้าคลาสภาพยนตร์
และฉันจะกด Enter
เพื่อนำเข้าคลาสรายการอาร์เรย์

6
00:20.690 --> 00:29.960
ฉันจะสร้าง adapter ของ recyclerview
แบบส่วนตัวสำหรับ movie และจะตั้งชื่อว่า
movie adapter, layout สำหรับ swipe refresh

7
00:29.960 --> 00:39.620
แบบส่วนตัว, activity สำหรับ data binding,
activity สำหรับ binding และ ViewModel
สำหรับ activity หลัก

8
00:39.620 --> 00:41.240
ViewModel ViewModel.

9
00:41.480 --> 00:50.990
ให้เราเริ่มต้นค่าเริ่มต้นที่นี่ในเมธอด
Oncreate โดยกำหนดให้เท่ากับข้อมูลที่ผูกไว้
ใช้ util dot set Contentview

10
00:50.990 --> 00:59.090
เป็นพารามิเตอร์แรก และ dot layout dot
activity main เป็นพารามิเตอร์ที่สอง

11
00:59.090 --> 01:04.350
ขณะนี้ ViewModel เท่ากับ new ViewModel
provider.

12
01:04.350 --> 01:10.500

ฉันกำลังเริ่มต้นโดยส่งสิ่งนี้ในพารามิเตอร์แรกซึ่งเป็นเจ้าของและ
get

13
01:10.500 --> 01:11.400
ซึ่งเป็นกิจกรรมหลัก

14
01:11.430 --> 01:13.460
ViewModel จุด คลาส

15
01:13.470 --> 01:18.000
โค้ดนี้ให้ตัวอย่างของกิจกรรมหลัก

16
01:18.000 --> 01:21.930
ViewModel โดยใช้ผู้ให้บริการ ViewModel
ในกิจกรรม Android

17
01:21.930 --> 01:28.530
ผู้ให้บริการ ViewModel
เป็นคลาสที่จัดเตรียมโดยส่วนประกอบสถาปัตยกรรมของ

18
01:28.530 --> 01:29.250
Android สำหรับการจัดการอินสแตนซ์ของ
ViewModel

19
01:29.250 --> 01:35.880

มันถูกใช้เพื่อสร้างและดึงข้อมูลตัวอย่างของ
ViewModel
ที่เชื่อมโยงกับขอบเขตวงจรชีวิตเฉพาะ

20
01:35.880 --> 01:37.530
เช่น กิจกรรมหรือแฟรกเมนต์

21
01:37.530 --> 01:45.030
และสิ่งนี้ ในคอนสตรัคเตอร์ของผู้ให้บริการ
ViewModel นี้ จะอ้างอิงถึงคอมโพเนนต์

22
01:45.030 --> 01:47.250
Android ปัจจุบัน
ซึ่งโดยทั่วไปจะเป็นกิจกรรมหรือแฟรกเมนต์ของ
Android

23
01:47.250 --> 01:54.240

และนี่หมายถึงกิจกรรมหลักที่เป็นการสร้างหรือดึงอินสแตนซ์ของ
ViewModel

24
01:54.240 --> 02:00.690

ขอบเขตวงจรชีวิตของโมเดลมุมมองถูกผูกไว้กับคอมโพเนนต์ของมัน
ดังนั้นจึงผูกกับวงจรชีวิตของกิจกรรมหลักด้วย

25
02:00.690 --> 02:02.430
เมธอด get

26
02:02.430 --> 02:07.500
ส่วนนี้ของโค้ดดึงอินสแตนซ์ของคลาส
ViewModel ของกิจกรรมหลัก

27
02:07.500 --> 02:13.500
มันบอกให้ผู้ให้บริการ ViewModel
สร้างอินสแตนซ์ใหม่ของ ViewModel

28
02:13.500 --> 02:17.400
หากไม่มีอยู่สำหรับวงจรชีวิตปัจจุบัน ขอบเขต
หรือคืนค่าที่มีอยู่

29
02:17.400 --> 02:23.550
หากมีอยู่แล้ว หากมี ViewModel

30
02:23.550 --> 02:29.070

ที่มีคลาสที่ระบุไว้อยู่แล้วสำหรับขอบเขตปัจจุบัน
จะถูกส่งคืนเพื่อให้แน่ใจว่าคุณมี ViewModel

31
02:29.070 --> 02:36.480

ของกิจกรรมหลักเพียงหนึ่งเดียวที่เชื่อมโยงกับกิจกรรมของคุณ
หากไม่มีอยู่ และหากเป็นกรณีนี้

32
02:36.480 --> 02:38.010
ViewModel
ของกิจกรรมหลักใหม่จะถูกสร้างขึ้นและเชื่อมโยงกับขอบเขตปัจจุบัน

33
02:38.010 --> 02:40.950
จากนั้นฉันจะสร้างเมธอดที่เรียกว่า pop

34
02:40.980 --> 02:46.470

รับชมภาพยนตร์ยอดนิยมได้ที่นี่ในกิจกรรมหลักภายใต้เมธอด
Oncreate

35
02:46.470 --> 02:50.370
และฉันจะเริ่มต้นด้วย ViewModel Dot

36
02:50.370 --> 02:59.160
รับทุกภาพยนตร์ dot
สังเกตวิธีการนี้และผู้สังเกตการณ์ใหม่พร้อมกับรายการภาพยนตร์

37
02:59.160 --> 03:07.170
วิธีนี้จะใช้ ViewModel
เพื่อสังเกตการเปลี่ยนแปลงในรายการภาพยนตร์ที่ถูกดึงมาโดยใช้วิธี
get

38
03:07.200 --> 03:09.900
all movies จากกิจกรรมหลัก

39
03:09.900 --> 03:14.730
ViewModel ดังนั้นนี่จึงแยกออกจากเมธอด
Observe ของ ViewModel

40
03:14.730 --> 03:18.900

บรรทัดนี้ตั้งค่าผู้สังเกตการณ์สำหรับข้อมูลสด

41
03:18.900 --> 03:23.340

ดังนั้นวิธีนี้จึงถูกใช้เพื่อสังเกตการเปลี่ยนแปลงในข้อมูลสด

42
03:23.370 --> 03:30.990

อาร์กิวเมนต์แรกคือเจ้าของวงจรชีวิตที่ผู้สังเกตการณ์ควรผูกไว้ในกิจกรรมของ
Android

43
03:30.990 --> 03:38.520
และเฟรมเวิร์กเป็นเจ้าของวงจรชีวิตทั่วไป
และนี่หมายถึงกิจกรรมหลัก

44
03:38.520 --> 03:40.590
ซึ่งเป็นกิจกรรมและเจ้าของวงจรชีวิตนี้

45
03:40.590 --> 03:43.830

จากนั้นคุณเป็นผู้สังเกตการณ์และรายการภาพยนตร์

46
03:43.830 --> 03:51.180

นี่สร้างคลาสภายในที่ไม่ระบุชื่อซึ่งดำเนินการตามอินเตอร์เฟซ
observer สำหรับรายการภาพยนตร์

47
03:51.180 --> 03:59.460
วิธีการที่ไม่เปลี่ยนแปลงภายใน Observer
จะถูกเรียกใช้ทุกครั้งเมื่อรายการภาพยนตร์มีการเปลี่ยนแปลง

48
03:59.490 --> 04:00.780
วิธีการที่ไม่เปลี่ยนแปลง

49
04:00.780 --> 04:07.980

นี่คือเมธอดคอลแบ็กที่จะถูกเรียกใช้เมื่อข้อมูลสดที่มีรายการภาพยนตร์เปลี่ยนแปลง

50
04:07.980 --> 04:14.970
พารามิเตอร์ movies
ประกอบด้วยรายการภาพยนตร์ที่อัปเดตแล้วซึ่งอยู่ภายในเมธอดที่ไม่มีการเปลี่ยนแปลง

51
04:14.970 --> 04:18.450

คุณสามารถเขียนโค้ดเพื่อจัดการการเปลี่ยนแปลงในรายการของภาพยนตร์ได้

52
04:18.450 --> 04:28.800
สำหรับเรื่องนี้
ฉันจำเป็นต้องใช้รายการที่อัปเดตนี้เพื่ออัปเดตรายการอาร์เรย์ของฉัน

53
04:28.800 --> 04:30.540

ดังนั้นภาพยนตร์ที่เท่ากับภาพยนตร์และไม่ได้ใช้ชื่อเดียวกัน

54
04:30.540 --> 04:39.300

ดังนั้นฉันจะเปลี่ยนนี้เป็นภาพยนตร์จากข้อมูลสด
คัดลอกและวางที่นี่

55
04:39.300 --> 04:41.040

และฉันต้องแปลงมันเป็นรายการอาร์เรย์ของภาพยนตร์

56
04:41.040 --> 04:51.060
จากนั้นฉันต้องเรียกเมธอดที่ชื่อว่า Show
บนทุกภาพยนตร์ที่แสดงใน Recyclerview

57
04:51.060 --> 04:53.130
กด Alt+Enter เพื่อสร้างเมธอดในกิจกรรมหลัก

58
04:53.130 --> 04:54.660
ดังนั้นฉันจึงสร้างที่นี่


