فایل پایه را از اینجا دانلود کنید

در این سوال می‌خواهیم از شما در تکمیل برنامه زیر کمک بگیریم تا بتوانیم به کمک این برنامه جواب‌های برگشتی 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
Plain text

پاسخ دریافتی از سرور در body:

this is your body response
Plain text

پاسخ دریافتی از سرور در 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
Plain text

عبارت نمایش داده شده در TextView اول:

this is your body response
Plain text

عبارت نمایش داده شده در TextView دوم:

this is target header
Plain text

نکات حیاتی

  • برای جلوگیری از بروز خطای ناشی از حجم بالای فایل ارسالی، قبل از ساخت و ارسال فایل 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
Plain text

ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.