WEBVTT

1
00:00.430 --> 00:01.570
สวัสดีครับ/ค่ะ เพื่อนๆ ของผม/ฉัน

2
00:02.320 --> 00:07.060
เราจะเริ่มต้นด้วยไลบรารี Paging และ
Android Jetpack

3
00:07.630 --> 00:08.470
ทำไมต้องเป็น Page?

4
00:09.010 --> 00:16.570
ไลบรารี Paging

5
00:16.780 --> 00:18.370
ช่วยให้คุณโหลดและแสดงข้อมูลเป็นหน้าๆ
จากชุดข้อมูลขนาดใหญ่จากพื้นที่จัดเก็บในเครื่องหรือผ่านเครือข่าย

6
00:19.060 --> 00:25.900

แนวทางนี้ช่วยให้แอปของคุณสามารถใช้แบนด์วิดท์เครือข่ายและทรัพยากรระบบได้อย่างมีประสิทธิภาพมากขึ้น

7
00:26.800 --> 00:29.230
แล้วประโยชน์ของปักกิ่งคืออะไร?

8
00:30.100 --> 00:33.490

ในการแคชหน่วยความจำสำหรับข้อมูลหน้าเว็บของคุณ

9
00:33.670 --> 00:41.440

นี่ทำให้แน่ใจว่าแอปของคุณใช้ทรัพยากรระบบอย่างมีประสิทธิภาพในขณะที่ทำงานกับข้อมูลหน้าเว็บที่สร้างขึ้นในแอปพลิเคชัน
request

10
00:41.440 --> 00:48.460
deed
ทำให้แน่ใจว่าแอปของคุณใช้แบนด์วิดท์เครือข่ายและทรัพยากรระบบอย่างมีประสิทธิภาพ

11
00:50.840 --> 00:58.700

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

12
00:58.700 --> 01:00.350


13
01:00.710 --> 01:01.520
คิดเกี่ยวกับสิ่งนั้น

14
01:01.520 --> 01:12.500
คุณมีฐานข้อมูลที่มีภาพยนตร์ 1000 เรื่อง
และผู้ใช้ต้องการแสดงเพียง 20
เรื่องแรกเท่านั้น

15
01:12.830 --> 01:19.130

คุณจะไม่ทำการร้องขอที่จะดึงข้อมูลภาพยนตร์ทั้งหมด
1000 เรื่อง

16
01:19.130 --> 01:28.820
และเพื่อดาวน์โหลดและแสดงผลเฉพาะภาพยนตร์ 20
เรื่องแรกเท่านั้น คุณจำเป็นต้องแสดงผล

17
01:28.820 --> 01:36.230
เชื่อมต่อ
และส่งคำขอไปยังฐานข้อมูลตามข้อมูลที่ถูกขอเท่านั้น
ซึ่งก็คือจำนวนภาพยนตร์ดังกล่าว

18
01:36.230 --> 01:41.720

ดังนั้นเราจะใช้ไลบรารีเพจจิ้งเพื่อดึงข้อมูลนั้น

19
01:41.720 --> 01:49.730

ฉันได้ขอข้อมูลคำขอเมื่อผู้ใช้เลื่อนไปยังส่วนท้ายของข้อมูลที่โหลดแล้ว

20
01:49.730 --> 01:55.610
ดังนั้นตามความต้องการของผู้ใช้
เราจะแสดงข้อมูลนั้น

21
01:55.730 --> 02:03.080

นี่คือประโยชน์ของการใช้ระบบเพจจิ้งที่รองรับการจัดการข้อผิดพลาดในตัว

22
02:03.080 --> 02:04.370
รวมถึงความสามารถในการรีเฟรชและลองใหม่

23
02:04.730 --> 02:13.160
ไม่ต้องกังวล
เราจะสร้างโปรเจกต์ใหญ่มากที่ใช้ MVP นั้น,
การทำหน้าเพจนั้น,

24
02:13.160 --> 02:18.350
และเราจะแนะนำ Grandal และ Hilde
รวมถึงหัวข้อขั้นสูงอื่นๆ

25
02:19.740 --> 02:20.610
โครงสร้าง

26
02:22.090 --> 02:23.050
โครงสร้าง

27
02:23.560 --> 02:32.770
เรามีสามส่วน สามส่วนของหน้า
รายการตัวปรับหน้า รายการหน้า
และแหล่งข้อมูล

28
02:32.890 --> 02:36.100
เหล่านี้สำหรับเรียกคืนจากห้องสมุด

29
02:36.460 --> 02:46.510

มีการอัปเดตครั้งใหญ่ที่เรากำลังจะย้ายไปใช้
ซึ่งก็คือ Paging Library เวอร์ชันสาม

30
02:46.990 --> 02:57.280

ดังนั้นสิ่งเหล่านี้จะเหมือนกับการปรับเปลี่ยนหรืออัปเดตด้วยชื่ออื่น
แต่ยังคงมีแนวคิดเดียวกันว่าเป้าหมายการใช้งานยังคงเป็นแหล่งข้อมูลเดียวกัน

31
02:57.280 --> 03:02.170

ซึ่งจะถูกเปลี่ยนเป็นแหล่งข้อมูลแบบแบ่งหน้า

32
03:02.170 --> 03:09.520
และในสไลด์ถัดไป

33
03:10.030 --> 03:10.420

เราจะดูวิธีการที่เราจะทำการย้ายข้อมูลสำหรับระบบเพจจิ้งรุ่นที่สามในอนาคต

34
03:11.500 --> 03:13.840
ก่อนอื่น ขอแนะนำสิ่งนั้นก่อน

35
03:13.840 --> 03:22.060

เรามีโครงสร้างสามอย่างที่เราจะเพิ่มหรือสามคลาสที่เราจะสร้างตัวเชื่อมต่อรายการหน้าที่จะแทนที่คลาสตัวเชื่อมต่อมุมมองรีไซเคิล

36
03:22.300 --> 03:32.170

โดยจะโหลดข้อมูลรายการหน้าโดยอัตโนมัติและแหล่งข้อมูลซึ่งเป็นอินเทอร์เฟซสำหรับการให้ข้อมูล

37
03:32.170 --> 03:36.290


38
03:38.210 --> 03:48.740

ดังนั้นมีข้อสังเกตหนึ่งที่เราควรกล่าวถึงคือความสนใจทั้งหมดของเราจะอยู่ที่แหล่งข้อมูล

39
03:49.010 --> 03:57.020
และมันสำคัญมาก ๆ
ที่ต้องเข้าใจว่าแหล่งข้อมูลถูกแบ่งออกเป็นสามส่วน

40
03:58.060 --> 03:59.710
ชิ้นส่วนหรือสามประเภท

41
04:00.340 --> 04:10.480
อินเทอร์เฟซนี้, แหล่งข้อมูล,
เราสามารถทำให้เป็นแหล่งข้อมูลหลักของหน้าโดยส่งหมายเลขหน้าเป็นพารามิเตอร์การค้นหาในคำขอ

42
04:10.480 --> 04:17.770

ซึ่งเป็นกรณีที่เราจะใช้และให้ค่าว่างเป็นคีย์
API
ของฐานข้อมูลภาพยนตร์ที่เราได้ใช้ในคอร์ก่อนหน้า,

43
04:17.770 --> 04:28.690
โครงการก่อนหน้า,
และเราจะใช้การแบ่งหน้าด้วยสิ่งนั้น,

44
04:28.690 --> 04:33.070
MDB API.

45
04:34.390 --> 04:45.160
ดังนั้นเราจะแสดงตัวอย่างเช่น หาก API

46
04:45.370 --> 04:47.820

มีเพียงภาพยนตร์เรื่องแรกหรือภาพยนตร์สิบเรื่องแรก
หนแต่ละหน้าจะมีภาพยนตร์สิบเรื่อง

47
04:47.830 --> 04:54.760
ดังนั้นเราจะทำงานตามหน้า และเรามีใน API
ประมาณ 50 หน้า

48
04:54.760 --> 05:04.150

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

49
05:04.150 --> 05:12.670
ID

50
05:12.670 --> 05:17.050


51
05:17.950 --> 05:25.540
ดังนั้น หากคุณต้องการดึงภาพยนตร์ตาม ID
ของมัน

52
05:25.540 --> 05:26.620
คุณจะต้องใช้แหล่งข้อมูลแบบ item key

53
05:27.980 --> 05:34.250
แหล่งข้อมูลเชิงตำแหน่ง
ซึ่งเป็นประเภทของแหล่งข้อมูลที่สาม

54
05:34.520 --> 05:35.000
ที่ดึงข้อมูลโดยใช้ตำแหน่งที่ไม่แน่นอน

55
05:36.910 --> 05:37.320
ไม่

56
05:38.500 --> 05:46.030
ตามที่ผมได้บอกคุณไปแล้ว
เราจะทำงานกับแหล่งข้อมูลคีย์หน้า

57
05:46.570 --> 05:53.560
และเนื่องจากเราจะพึ่งพาหน้าต่างๆ
เพื่อแสดงข้อมูลที่โอนย้ายจากหน้าสองไปยังหน้าสาม

58
05:53.980 --> 06:03.400
มีบทเรียนเก่าๆ
มากมายบนอินเทอร์เน็ตเกี่ยวกับไลบรารี

59
06:03.610 --> 06:04.030
Paging ดังนั้นเราจึงเป็นแบบนั้น

60
06:04.030 --> 06:12.430
คนแรกที่จะแนะนำ Paging

61
06:12.460 --> 06:12.910
Three
ซึ่งเปรียบเสมือนการย้ายจากการใช้ระบบเพจไปยังกรุงปักกิ่ง

62
06:13.750 --> 06:23.800
มีความแตกต่างบางประการ เช่น

63
06:23.800 --> 06:26.440

ตัวเชื่อมต่อรายการหน้าแบบชำระเงินจะกลายเป็นตัวเชื่อมต่อข้อมูลหน้า
ซึ่งแหล่งข้อมูลนั้นจะกลายเป็นแหล่งข้อมูลแบบแบ่งหน้า

64
06:26.710 --> 06:30.880

เครื่องมือสร้างรายการหน้าสดจะเป็นหน้าหรือหน้านั้น

65
06:30.880 --> 06:34.090

รายการที่การกำหนดค่าจะทำการแบ่งหน้าคือการกำหนดค่า

66
06:35.260 --> 06:37.870
และแหล่งข้อมูล ปัจจัยนั้นก็จะเหมือนกัน

67
06:38.650 --> 06:38.940
โอเค

68
06:39.220 --> 06:42.790
ดังนั้นนี่คือเกี่ยวกับไลบรารีเพจจิ้ง

69
06:43.330 --> 06:48.700
และต่อไป
เราจะสร้างแอปจริงที่ใช้การแบ่งหน้า


