فایل پایه را از اینجا دانلود کنید
در این سوال میخواهیم از شما در تکمیل برنامه زیر کمک بگیریم تا بتوانیم به کمک این برنامه جوابهای برگشتی RESTfulAPI
ها را بررسی کنیم. شکل کلی برنامه بصورت زیر است:
در EditText
اول (که با عبارت راهنمای enter URL here
مشخص شده)، یک آدرس که در حقیقت یک RESTfulAPI
است و از متد GET
استفاده میکند، وارد میشود. با لمس دکمه SUBMIT
، برنامه یک درخواست به آدرس نوشتهشده ارسال میکند و زمانیکه پاسخ سرور را دریافت کرد، اطلاعات موجود در body
را در TextView
اول، (با متن راهنمای put response here
) نمایش میدهد و اطلاعات برگشتی header
با نام Quera
را در TextView
دوم، (با متن راهنمای put header contents here
) قرار میدهد.
بعنوان مثال:
آدرس ورودی:
http://yourURL.com/myAPI/forAndroid
پاسخ دریافتی از سرور در body
:
this is your body response
پاسخ دریافتی از سرور در header
:
vary: Accept-Encoding,Cookie
x-amz-cf-id: sClUmMWJ6nQzm-1gOnHylGR7NQ9LtAF1FtDifjG3i_2SzsQ2bs-JYQ==
x-cache: Miss from cloudfront
x-content-type-options: nosniff
Quera: this is target header
عبارت نمایش داده شده در TextView
اول:
this is your body response
عبارت نمایش داده شده در TextView
دوم:
this is target header
نکات حیاتی
- برای جلوگیری از بروز خطای ناشی از حجم بالای فایل ارسالی، قبل از ساخت و ارسال فایل
zip
دقت کنید که پوشههایbuild
در این فایل وجود نداشته باشند. - دقت کنید که به انتهای پاسخی که از سرور در
body
یاheader
دریافت میکنید، کاراکترهایی مانند\n
و مانند آن اضافه نکنید. - در ساختار فایل پایه، کلاسی با نام
BaseURL
وجود دارد که حاوی فیلد رشتهایurl
است؛ دقت کنید که این کلاس در فرآیند تکمیل فایل پایه و رسیدن به خواسته سوال هیچ نقشی ندارد و نباید درخواستی به محتویات آن ارسال شود. این فایل صرفا در فرآیند داوری سوال مورد استفاده قرار میگیرد. - استفاده از کتابخانه (مانند reftofit, volley و ...) مجاز نمیباشد.
ساختار فایل پایه که برای تکمیل در اختیار شما قرار میگیرد، حاوی مسیر زیر است. شما باید فایلهایی که با علامت (---->) مشخص شدهاند را تغییر دهید و پروژه تغییردادهشده را بعنوان فایل zip
که حاوی مسیر زیر است ارسال کنید:
(تغییر فایلهای تعیین شده در قسمت پایین و افزودن فایل جدید به فایل پایه در پوشه main
از مسیر زیر، مانعی ندارد)
app
│
└───src
└───main
│ AndroidManifest.xml
│
├───java
│ └───android
│ └───quera
│ └───com
│ └───urlinfo
│ BaseURL.java
│ MainActivity.java <----
│
└───res
├───drawable
│ ic_launcher_background.xml
│
├───drawable-v24
│ ic_launcher_foreground.xml
│
├───layout
│ activity_main.xml
└───values
colors.xml
strings.xml
styles.xml
ارسال پاسخ برای این سؤال