WEBVTT

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

2
00:00.830 --> 00:04.580
ในวิดีโอที่ผ่านมา เราได้สร้างคลาสข้อมูล,
ผลลัพธ์ และภาพยนตร์

3
00:04.580 --> 00:08.990
ในวิดีโอนี้เราจะสร้าง API
หรืออินเตอร์เฟซของบริการสำหรับการติดตั้งเพิ่มเติม

4
00:09.020 --> 00:15.770

เราจำเป็นต้องสร้างอินเทอร์เฟซเพื่อกำหนดวิธีการต่าง
ๆ ของเราที่จะใช้ในการทำธุรกรรมเครือข่าย

5
00:15.770 --> 00:21.500
มาสร้างแพ็กเกจใหม่กันเถอะ
ฉันสร้างแพ็กเกจเพื่อจัดระเบียบโค้ดของฉันโดยเฉพาะ

6
00:21.500 --> 00:31.220
ฉันจะสร้างแพ็กเกจใหม่ ฉันจะตั้งชื่อว่า
service API

7
00:31.220 --> 00:35.660

และภายในนี้ฉันจะสร้างอินเตอร์เฟซใหม่ชื่อว่า
movie API service

8
00:37.840 --> 00:44.890
ในการปรับปรุงระบบใหม่
อินเทอร์เฟซการให้บริการเป็นองค์ประกอบสำคัญที่กำหนดโครงสร้างและพฤติกรรมของคำขอ

9
00:44.890 --> 00:46.180
API

10
00:46.210 --> 00:51.640
มันทำหน้าที่เป็นสะพานเชื่อมระหว่างแอป
Android ของคุณกับ API ระยะไกล

11
00:51.640 --> 00:58.450
และตามที่ได้กล่าวไว้ก่อนหน้านี้ เรามี URL
ฐาน, จุดสิ้นสุด, จุดเริ่มต้นของคำค้นหา
และพารามิเตอร์ของคำค้นหา

12
00:58.450 --> 01:05.650
ในอินเทอร์เฟซ API ของบริการนี้
เราได้กำหนดจุดสิ้นสุดและพารามิเตอร์การค้นหา

13
01:05.660 --> 01:14.680
ฉันจะเริ่มต้นด้วย get annotation,

14
01:14.680 --> 01:15.790
get เพื่อที่จะรับข้อมูลจากเซิร์ฟเวอร์
การโพสต์คือโพสต์และอัปโหลดข้อมูลไปยังเซิร์ฟเวอร์

15
01:15.790 --> 01:21.430

ที่นี่เราต้องการในแอปพลิเคชันของเราเพียงแค่แสดงรายการภาพยนตร์ยอดนิยมเท่านั้น

16
01:21.430 --> 01:24.840
ที่นี่คุณระบุจุดสิ้นสุดของคุณ

17
01:24.850 --> 01:28.390
ฉันจะเริ่มจากจุดสิ้นสุดของลิงก์

18
01:28.390 --> 01:31.000
ภาพยนตร์แนววายเป็นที่นิยมไหม?

19
01:31.000 --> 01:34.480
ขอระบุว่าเป็นภาพยนตร์แนววายที่นิยม

20
01:34.480 --> 01:40.310
ดังนั้นที่นี่ฉันกำลังระบุวิธีการร้องขอ
Http ซึ่งคือ get

21
01:40.310 --> 01:48.770
และนี่คือเส้นทาง URL
แบบสัมพัทธ์ไปยังจุดสิ้นสุดของ API เฉพาะ
ซึ่งคือภาพยนตร์ยอดนิยม

22
01:48.770 --> 01:52.730
จากนั้นฉันจะสร้างการโทรและรับผลลัพธ์

23
01:52.730 --> 01:59.720

และที่นี่ฉันกำลังส่งผ่านผลลัพธ์ของพารามิเตอร์ประเภทที่เราได้สร้างไว้ก่อนหน้านี้เพื่อรับภาพยนตร์ยอดนิยม

24
01:59.720 --> 02:02.330
และที่นี่ฉันจำเป็นต้องระบุคำสั่งค้นหา

25
02:02.330 --> 02:06.050
แต่ก่อนอื่น การใช้ call retrofit

26
02:06.050 --> 02:14.120
คืออะไร? ใช้คลาส call

27
02:14.120 --> 02:19.640
เพื่อแทนคำขอเครือข่ายและการตอบสนองของคำขอ
โดยประเภทการตอบสนองควรถูกแทนที่ด้วยคลาสข้อมูลจริงที่แทนการตอบสนองที่คาดหวังจาก
API

28
02:19.670 --> 02:23.390
ดังนั้นหากคุณกลับไปดูที่คำตอบนี้
นี่คือคำตอบทั้งหมด

29
02:23.390 --> 02:29.210

เราได้รวมการตอบกลับนี้ไว้ในคลาสตัวอย่างที่ชื่อว่า
result

30
02:29.210 --> 02:34.430
ดังนั้นหากเราเปิดผลลัพธ์ของโมเดล
เราจะได้รับคำตอบแบบนี้

31
02:34.430 --> 02:41.360

จากนั้นฉันจะสร้างรายการข้อมูลคลาสภาพยนตร์เพื่อรับอาร์เรย์การตอบกลับนี้

32
02:41.360 --> 02:46.880
ดังนั้นนี่คือคลาสโมเดลแบบซ้อนกัน
และนี่คือคำตอบทั้งหมด

33
02:46.880 --> 02:50.900
คำตอบทั้งหมดอยู่ภายในคลาสผลลัพธ์

34
02:50.900 --> 02:57.860

ดังนั้นที่นี่ฉันจะระบุผลลัพธ์ที่เป็นตัวแทนของการตอบสนองที่คาดหวังจาก
API

35
02:57.890 --> 03:05.120
ฉันสร้างวิธีนี้ขึ้นมา ชื่อว่า Get popular
movies ซึ่งคืนค่าการเรียกของชนิด

36
03:05.390 --> 03:07.790
เราเสร็จสิ้นจุดสิ้นสุดนี้แล้ว

37
03:07.790 --> 03:15.230
เราจำเป็นต้องระบุพารามิเตอร์ของคำค้นหา
และตามที่ได้กล่าวไว้ก่อนหน้านี้ Tmdb
จะไม่ให้การตอบกลับใด

38
03:15.230 --> 03:19.280
ๆ จนกว่าคุณจะระบุคีย์ API
ในทุกคำขอที่คุณส่งไป

39
03:19.310 --> 03:27.980
ฉันควรเริ่มพารามิเตอร์การค้นหาและระบุคีย์
API เพื่อทำเช่นนั้นใน retrofit

40
03:28.010 --> 03:38.300

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

41
03:38.300 --> 03:39.350
ซึ่งก็คือ API

42
03:39.350 --> 03:40.700
ขีดเส้นใต้ปุ่ม

43
03:40.700 --> 03:42.470
กลับไปที่ลิงก์

44
03:42.500 --> 03:45.500
คุณสามารถดู API key ได้ที่นี่

45
03:47.010 --> 03:49.890
ดังนั้นฉันควรกล่าวถึงมันตรงนี้เลย

46
03:49.890 --> 03:53.540
และค่าคือประเภทสตริง

47
03:53.550 --> 03:55.800
ฉันตั้งชื่อว่า API key

48
03:55.830 --> 04:04.260
ทุกครั้งที่ฉันขอภาพยนตร์ยอดนิยม
ฉันควรระบุคีย์ API
และส่งเป็นพารามิเตอร์ที่นี่


