สอบถามเกี่ยวกับ Retrofit และ Okhttp library ครับ คือผมได้เขียนแอพเชื่อมต่อ network...

การสนทนาใน 'Android Developer' เริ่มโดย Oat Panorama, 14 มกราคม 2016

    สอบถามเกี่ยวกับ Retrofit และ Okhttp library ครับ คือผมได้เขียนแอพเชื่อมต่อ network โดยใช้ okhttp มาสักพักแล้วครับ ใช้ไปใช้มาเกิดอยากลองเปลียน library เลยไปศึกษาหาข้อมูลเจ้า Retrofit มาครับ (ดูแล้วก็ยังทำตามไม่เป็นหรอกครับ แต่ก็กำลังพยายามอยู่) หลังจากที่หาข้อมูลมาก็สงสัยว่ามันคล้ายๆกันกับ Okhttp ครับ เข้าใจว่าเมื่อก่อนถ้าจะใช้ retrofit ก็ add retrofit library มาตัวเดียวจบ แต่พอ retrofit 2 ออกมาเหมือนจะมีการแยก Okhttp ออกมาด้วย (ถ้าอยากใช้ก็ค่อย add library เพิ่ม) จะใช้แต่ retrofit อย่างเดียวก็ยังทำงานได้ ความเข้าใจ(ของผมเอง) 1.ใช้ retrofit อย่างเดียวก็ connect network ได้ 2.เจ้า Okhttp สามารถเป็น item upgrade ให้กับ retrofit เพื่อให้ retrofit มีความสามารถมากขึ้น (เช่น สามารถใช้ interceptor ได้ ว่าแต่มันคืออัลไร?) สรุปคือ Okhttp -> connect network ได้ -> optional (interceptor และอื่นๆที่ retrofit ไม่มี) -> สามารถนำ optional ไป add ให้กับ retrofit ได้ Retrofit -> connect network ได้ -> มี optional ที่ okhttp ไม่มี -> มีช่องทางให้ okhttp มาเพิ่มเติมความสามารถได้ ถ้าความเข้าใจของผมผิดพลาดประการใด หรือเข้าใจไม่หมด รบกวนผู้รู้ช่วยแนะนำได้เลยครับ ขออภัยที่ถามยาวหน่อยนะครับ(อัดอั้นตันใจมานานครับ) ขอขอบคุณความรู้จาก 1.http://inthecheesefactory.com/blog/retrofit-2.0/th 2.github 3.web เกี่ยวกับ retrofit อื่นๆ
    [​IMG]
     
  1. Retrofit 2 layer http เป็น OKHttp อยู่แล้วนะครับ เข้าใจว่า Retrofit เป็นตัว wrap up http อีกที (โดย default จะเป็น OKHttp แต่สามารถเปลี่ยนได้)
     
    Retrofit เอามาครอบการทำงานของ OkHttp (หรือ Client ตัวอื่นๆที่เอามาใช้) อีกทีครับเพื่อให้สะดวกขึ้น แต่ในส่วนที่ไปติดต่อกับเซิฟเวอร์ก็ยังเป็นหน้าที่ของ OkHttp อยู่ดี
     

แบ่งปันหน้านี้