กลับไปที่การตอบกลับ Json ของเรา
หากเราสังเกตให้ดี เราจะเห็นวงเล็บเหลี่ยมนี้
ดังนั้นการตอบสนองของเราจะเริ่มต้นด้วยวงเล็บสี่เหลี่ยมซึ่งบ่งชี้ว่าทั้งหมดของการตอบสนองเป็นอาร์เรย์ อาร์เรย์ Json
และภายในอาเรย์นี้เรามีอ็อบเจ็กต์แรกนี้ และนี่คืออ็อบเจ็กต์
Json ตัวที่สองที่แยกด้วยเครื่องหมายจุลภาค
เราไม่สามารถทำการแปลงข้อมูลแบบอนุกรมและถอดข้อมูลของออบเจ็กต์ Json นี้ได้โดยตรงโดยใช้คลาส question
นี้ เนื่องจากคลาส question มีฟิลด์หกตัวซึ่งเป็นตัวบ่งชี้ออบเจ็กต์นี้
นี่
แต่ว่าวัตถุนี้ถูกซ้อนมาจากอาร์เรย์
ดังนั้นวิธีแก้ปัญหาสำหรับปัญหานี้คือการสร้างคลาสโมดอลอีกคลาสหนึ่ง
ดังนั้นภายในแพ็กเกจโมดัลนี้ ฉันจะสร้างคลาส Java ใหม่และตั้งชื่อว่า รายการคำถาม
นี่คือคลาสที่ว่างเปล่า
ฉันจะขยายจาก array list เพราะเรามีออบเจ็กต์ซ้อนอยู่ภายใน array นี้
เนื่องจากคำตอบของเราเริ่มต้นด้วย array นี้ และไม่มีคีย์สำหรับ array นี้
ดังนั้นฉันสามารถใช้คลาสว่างนี้ได้โดยตรง
มันเป็นประเภทคำถาม นำเข้าคลาส array list
และนี่ก็เริ่มแล้ว
นี่คือคลาสโหมดที่สองของเราที่เรียกว่ารายการคำถาม
มันเป็นคลาสเปล่าเพียงเพื่อให้ได้การตอบกลับและรวมการตอบกลับนี้เข้าไป
เนื่องจากคำตอบของ API และคำตอบของ Json เริ่มต้นด้วยวงเล็บเหลี่ยมนี้
ไม่มีคีย์หรือค่าใดที่เป็นค่าโดยตรงของอาร์เรย์
กลับไปที่ขั้นตอนการปรับปรุงใหม่
เราได้เพิ่มคลาสข้อมูล
ตอนนี้เรามาสร้างอินเทอร์เฟซบริการ API กัน
เราจำเป็นต้องสร้างอินเทอร์เฟซเพื่อกำหนดวิธีการต่าง ๆ ของเราที่จะใช้ในการทำธุรกรรมเครือข่าย
ฉันจะสร้างแพ็กเกจใหม่ ฉันจะตั้งชื่อว่า retrofit
และภายในแพ็กเกจการปรับปรุงนี้ ฉันจะสร้างอินเทอร์เฟซใหม่ และฉันจะตั้งชื่อว่าคำถาม API
อินเทอร์เฟซบริการ API แบบปรับแต่งเพิ่มเติมเป็นองค์ประกอบสำคัญที่ใช้ในการกำหนดโครงสร้างและพฤติกรรมของคำขอเครือข่ายไปยัง
RESTful API
อินเทอร์เฟซนี้ทำหน้าที่เป็นสัญญา เป็นสะพานเชื่อมระหว่างแอปพลิเคชัน Android ของคุณกับบริการเว็บ
โดยระบุจุดสิ้นสุดของ API ที่มีอยู่และรูปแบบการตอบสนองที่คาดหวัง
การปรับปรุงใหม่จะใช้ส่วนติดต่อนี้เพื่อสร้างการใช้งานที่จำเป็นสำหรับการส่งคำขอเครือข่าย
แต่ละวิธีภายในอินเทอร์เฟซนี้ควรระบุวิธีการร้องขอ Http ไม่ว่าจะเป็น get, post,
put, delete และ URL จุดสิ้นสุดที่สัมพันธ์กับ
URL ฐาน รวมถึงพารามิเตอร์การค้นหาที่จำเป็น ร่างคำขอ หรือส่วนหัว
คุณยังสามารถระบุแบบฟอร์มการตอบกลับที่คาดหวังได้
ในตัวอย่างนี้ ฉันจะใช้ apt get
อีกครั้งครับทุกคน ผมต้องการให้พวกคุณตั้งใจอยู่กับผมและกรุณาอ้างอิงถึงส่วนก่อนหน้านี้ โดยเฉพาะ mVVM plus
retrofit เพื่อให้เข้าใจคำขอและการตอบสนองของ Http ทั้งหมดนี้
และฉันได้ชี้แจงรายละเอียดเหล่านั้นอย่างลึกซึ้งมากแล้ว
ดังนั้นโปรดกลับไปที่ส่วน mVVM พร้อมการปรับปรุงเพิ่มเติมและรับรายละเอียดเกี่ยวกับคำศัพท์เหล่านี้
แต่อย่ากังวลไป ฉันจะอธิบายทุกอย่างให้ชัดเจน
ฉันเขียนคำอธิบายประกอบเพื่อระบุวิธีการ Http และส่วนที่เกี่ยวข้องของ URL
ที่นี่ฉันต้องกำหนดจุดสิ้นสุด
ดังนั้นถ้าเรากลับไปที่การตอบสนองของจุดสิ้นสุด
นี่คือ API แบบทดสอบของฉัน dot php
ดังนั้นฉันจะคัดลอกและวางมันที่นี่
นี่คือจุดสิ้นสุด
แล้วฉันจะใช้ถ่านหินและการปรับปรุงใหม่ด้วย
และที่นี่ฉันจำเป็นต้องระบุรายการคำถาม รายการคำถาม
นี่คือคลาสที่เราสร้างไว้ก่อนหน้านี้ และฉันจะตั้งชื่อเมธอดว่า get questions
ในการปรับปรุงย้อนหลัง
คลาสถ่านหินถูกใช้เพื่อห่อหุ้มคำขอเครือข่ายและแสดงผลลัพธ์ของการดำเนินการแบบอะซิงโครนัส
รายการคำถามประเภททั่วไปแสดงถึงประเภทการตอบกลับที่คาดหวัง และฉันคาดหวังการตอบกลับนี้จาก API
โดยเริ่มต้นด้วยวงเล็บเหลี่ยมนี้ ซึ่งเป็นอาร์เรย์ Json
นี่คือชื่อของเมธอด get questions
ดังนั้นประเภทที่ส่งคืนคือรายการคำถาม
เมื่อเรียกใช้เมธอดนี้ get
questions จะส่งคำขอเครือข่ายและคาดหวังว่าจะได้รับคำตอบเป็นรายการคำถาม
และรายการคำถามนี้ทำหน้าที่เป็นโครงสร้างของข้อมูลการตอบกลับที่คุณคาดหวังจาก API
และดังที่ได้กล่าวไว้ก่อนหน้านี้
เนื่องจากเรากำลังคาดหวังอาร์เรย์ที่ไม่มีคู่คีย์-ค่า
มันเป็นอาร์เรย์โดยตรงของการตอบสนองแบบ Json
ดังนั้นสำหรับสิ่งนี้ เราใช้คลาสว่างนี้ที่สืบทอดมาจากรายการอาร์เรย์ของเควส
ดังนั้นที่นี่ฉันคาดหวังว่าจะได้รับโครงสร้างรายการคำถาม
อีกครั้ง
วิธีการรับคำถามนี้ถูกกำหนดให้ส่งคำขอเครือข่ายไปยังจุดสิ้นสุด API เฉพาะ ซึ่งก็คือ API
แบบทดสอบของฉันที่ dot PHP และคาดหวังการตอบกลับในรูปแบบของการเรียกที่มีรายการคำถาม