ยินดีต้อนรับกลับมา
ในวิดีโอที่ผ่านมา เราได้สร้างคลาสข้อมูล, ผลลัพธ์ และภาพยนตร์
ในวิดีโอนี้เราจะสร้าง API หรืออินเตอร์เฟซของบริการสำหรับการติดตั้งเพิ่มเติม
เราจำเป็นต้องสร้างอินเทอร์เฟซเพื่อกำหนดวิธีการต่าง ๆ ของเราที่จะใช้ในการทำธุรกรรมเครือข่าย
มาสร้างแพ็กเกจใหม่กันเถอะ ฉันสร้างแพ็กเกจเพื่อจัดระเบียบโค้ดของฉันโดยเฉพาะ
ฉันจะสร้างแพ็กเกจใหม่ ฉันจะตั้งชื่อว่า service API
และภายในนี้ฉันจะสร้างอินเตอร์เฟซใหม่ชื่อว่า movie API service
ในการปรับปรุงระบบใหม่ อินเทอร์เฟซการให้บริการเป็นองค์ประกอบสำคัญที่กำหนดโครงสร้างและพฤติกรรมของคำขอ
API
มันทำหน้าที่เป็นสะพานเชื่อมระหว่างแอป Android ของคุณกับ API ระยะไกล
และตามที่ได้กล่าวไว้ก่อนหน้านี้ เรามี URL ฐาน, จุดสิ้นสุด, จุดเริ่มต้นของคำค้นหา และพารามิเตอร์ของคำค้นหา
ในอินเทอร์เฟซ API ของบริการนี้ เราได้กำหนดจุดสิ้นสุดและพารามิเตอร์การค้นหา
ฉันจะเริ่มต้นด้วย get annotation,
get เพื่อที่จะรับข้อมูลจากเซิร์ฟเวอร์ การโพสต์คือโพสต์และอัปโหลดข้อมูลไปยังเซิร์ฟเวอร์
ที่นี่เราต้องการในแอปพลิเคชันของเราเพียงแค่แสดงรายการภาพยนตร์ยอดนิยมเท่านั้น
ที่นี่คุณระบุจุดสิ้นสุดของคุณ
ฉันจะเริ่มจากจุดสิ้นสุดของลิงก์
ภาพยนตร์แนววายเป็นที่นิยมไหม?
ขอระบุว่าเป็นภาพยนตร์แนววายที่นิยม
ดังนั้นที่นี่ฉันกำลังระบุวิธีการร้องขอ Http ซึ่งคือ get
และนี่คือเส้นทาง URL แบบสัมพัทธ์ไปยังจุดสิ้นสุดของ API เฉพาะ ซึ่งคือภาพยนตร์ยอดนิยม
จากนั้นฉันจะสร้างการโทรและรับผลลัพธ์
และที่นี่ฉันกำลังส่งผ่านผลลัพธ์ของพารามิเตอร์ประเภทที่เราได้สร้างไว้ก่อนหน้านี้เพื่อรับภาพยนตร์ยอดนิยม
และที่นี่ฉันจำเป็นต้องระบุคำสั่งค้นหา
แต่ก่อนอื่น การใช้ call retrofit
คืออะไร? ใช้คลาส call
เพื่อแทนคำขอเครือข่ายและการตอบสนองของคำขอ โดยประเภทการตอบสนองควรถูกแทนที่ด้วยคลาสข้อมูลจริงที่แทนการตอบสนองที่คาดหวังจาก API
ดังนั้นหากคุณกลับไปดูที่คำตอบนี้ นี่คือคำตอบทั้งหมด
เราได้รวมการตอบกลับนี้ไว้ในคลาสตัวอย่างที่ชื่อว่า result
ดังนั้นหากเราเปิดผลลัพธ์ของโมเดล เราจะได้รับคำตอบแบบนี้
จากนั้นฉันจะสร้างรายการข้อมูลคลาสภาพยนตร์เพื่อรับอาร์เรย์การตอบกลับนี้
ดังนั้นนี่คือคลาสโมเดลแบบซ้อนกัน และนี่คือคำตอบทั้งหมด
คำตอบทั้งหมดอยู่ภายในคลาสผลลัพธ์
ดังนั้นที่นี่ฉันจะระบุผลลัพธ์ที่เป็นตัวแทนของการตอบสนองที่คาดหวังจาก API
ฉันสร้างวิธีนี้ขึ้นมา ชื่อว่า Get popular movies ซึ่งคืนค่าการเรียกของชนิด
เราเสร็จสิ้นจุดสิ้นสุดนี้แล้ว
เราจำเป็นต้องระบุพารามิเตอร์ของคำค้นหา และตามที่ได้กล่าวไว้ก่อนหน้านี้ Tmdb จะไม่ให้การตอบกลับใด
ๆ จนกว่าคุณจะระบุคีย์ API ในทุกคำขอที่คุณส่งไป
ฉันควรเริ่มพารามิเตอร์การค้นหาและระบุคีย์ API เพื่อทำเช่นนั้นใน retrofit
เราจะเริ่มต้นด้วยการเพิ่มคำอธิบายประกอบแบบสอบถาม และที่นี่ฉันจะระบุชื่อของพารามิเตอร์แบบสอบถามอย่างชัดเจน
ซึ่งก็คือ API
ขีดเส้นใต้ปุ่ม
กลับไปที่ลิงก์
คุณสามารถดู API key ได้ที่นี่
ดังนั้นฉันควรกล่าวถึงมันตรงนี้เลย
และค่าคือประเภทสตริง
ฉันตั้งชื่อว่า API key
ทุกครั้งที่ฉันขอภาพยนตร์ยอดนิยม ฉันควรระบุคีย์ API และส่งเป็นพารามิเตอร์ที่นี่