UrlRequest.Callback

public abstract class UrlRequest.Callback

فئات فرعية مباشرة معروفة
ImplicitFlowControlCallback

تنفيذ UrlRequest.Callback يزيل صعوبة إدارة دورة حياة الطلب، ويتابع تلقائيًا قراءة الردّ بالكامل.

فئات فرعية غير مباشرة معروفة
ByteArrayCronetCallback

هي نوع خاص من InMemoryTransformCronetCallback يعرض وحدات البايت الخاصة بالنص الحرفي بدون أي تفسير.

InMemoryTransformCronetCallback

فئة مجرّدة من معاودة الاتصال في Cronet تقرأ النص الكامل إلى الذاكرة وتزيل تسلسله اختياريًا قبل إعادته إلى الجهة التي أصدرت طلب HTTP.

JsonCronetCallback

تخصّص InMemoryTransformCronetCallback الذي يفسّر نص الاستجابة على أنّه JSON.

StringCronetCallback

نوع فرعي من InMemoryTransformCronetCallback يفسّر نص الاستجابة كسلسلة.


يوسّع مستخدمو Cronet هذه الفئة لتلقّي عمليات ردّ الاتصال التي تشير إلى مستوى تقدّم معالجة UrlRequest. يتم تمرير مثيل من هذه الفئة إلى الدالة الإنشائية UrlRequest.Builder عند إنشاء UrlRequest.

ملاحظة: سيتم استدعاء جميع الطرق في سلسلة محادثات java.util.concurrent.Executor المستخدَمة أثناء إنشاء UrlRequest.

ملخّص

طُرق وضع التصميم العامة

الإجراءات العامة

void

يتم استدعاء هذا الإجراء إذا تم إلغاء الطلب من خلال cancel.

abstract void
onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

يتم استدعاء هذا الإجراء إذا تعذّر تنفيذ الطلب لأي سبب بعد start.

abstract void
onReadCompleted(
    UrlRequest request,
    UrlResponseInfo info,
    ByteBuffer byteBuffer
)

يتم استدعاؤه كلما تم قراءة جزء من نص الرد.

abstract void
onRedirectReceived(
    UrlRequest request,
    UrlResponseInfo info,
    String newLocationUrl
)

يتم استدعاؤه كلما تمت مواجهة عملية إعادة توجيه.

abstract void

يتم استدعاؤه عند تلقّي المجموعة النهائية من العناوين بعد جميع عمليات إعادة التوجيه.

abstract void

يتم استدعاء هذا الإجراء عند اكتمال الطلب بنجاح.

طُرق وضع التصميم العامة

رد الاتصال

public Callback()

الإجراءات العامة

onCanceled

public void onCanceled(UrlRequest request, UrlResponseInfo info)

يتم استدعاء هذا الإجراء إذا تم إلغاء الطلب من خلال cancel. بعد استدعاء هذه الدالة، لن يتم استدعاء أي دوال أخرى من Callback. لا يتّخذ التنفيذ التلقائي أي إجراء.

المعلَمات
UrlRequest request

طلب تم إلغاؤه

UrlResponseInfo info

معلومات الردّ قد تكون null في حال عدم تلقّي أي رد.

onFailed

public abstract void onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

يتم استدعاء هذا الإجراء إذا تعذّر تنفيذ الطلب لأي سبب بعد start. بعد استدعاء هذه الدالة، لن يتم استدعاء أي دوال أخرى من Callback. تقدّم error معلومات عن الخطأ.

المعلَمات
UrlRequest request

طلب تعذّر تنفيذه

UrlResponseInfo info

معلومات الردّ قد تكون null في حال عدم تلقّي أي رد.

CronetException error

معلومات عن الخطأ

onReadCompleted

public abstract void onReadCompleted(
    UrlRequest request,
    UrlResponseInfo info,
    ByteBuffer byteBuffer
)

يتم استدعاؤه كلما تم قراءة جزء من نص الرد. قد يتم ملء جزء من المخزن المؤقت فقط، حتى إذا لم يتم استهلاك نص الرد بالكامل بعد. باستثناء onCanceled()، لن يتم استدعاء أي طريقة أخرى من طرق Callback للطلب، بما في ذلك onSucceeded() وonFailed()، إلى أن يتم استدعاء UrlRequest.read() لمحاولة مواصلة قراءة نص الاستجابة.

المعلَمات
UrlRequest request

تمثّل هذه السمة الطلب الذي تلقّى البيانات.

UrlResponseInfo info

معلومات الردّ

ByteBuffer byteBuffer

المخزن المؤقت الذي تم تمريره إلى UrlRequest.read()، والذي يحتوي الآن على البيانات المستلَمة يتم تعديل موضع المخزن المؤقت إلى نهاية البيانات المستلَمة. لا يتم تغيير الحدّ الأقصى للمخزن المؤقت.

عمليات الطرح
java.lang.Exception

في حال حدوث خطأ أثناء معالجة عملية قراءة مكتملة سيتم استدعاء onFailed مع ضبط الاستثناء الذي تم طرحه كسبب لـ CallbackException.

onRedirectReceived

public abstract void onRedirectReceived(
    UrlRequest request,
    UrlResponseInfo info,
    String newLocationUrl
)

يتم استدعاؤه كلما تمت مواجهة عملية إعادة توجيه. سيتم استدعاء هذا الإجراء فقط بين استدعاء start وonResponseStarted(). سيتم تجاهل نص استجابة إعادة التوجيه، إذا كان يتضمّن نصًا. لن تتم متابعة عملية إعادة التوجيه إلى أن يتم استدعاء طريقة followRedirect الخاصة بـ URLRequest، سواء بشكل متزامن أو غير متزامن.

المعلَمات
UrlRequest request

طلب إعادة التوجيه

UrlResponseInfo info

معلومات الردّ

String newLocationUrl

الموقع الجغرافي الذي تتم إعادة توجيه الطلب إليه

عمليات الطرح
java.lang.Exception

في حال حدوث خطأ أثناء معالجة عملية إعادة التوجيه سيتم استدعاء onFailed مع ضبط الاستثناء الذي تم طرحه كسبب لـ CallbackException.

onResponseStarted

public abstract void onResponseStarted(UrlRequest request, UrlResponseInfo info)

يتم استدعاؤه عند تلقّي المجموعة النهائية من العناوين بعد جميع عمليات إعادة التوجيه. سيتم استدعاؤه مرة واحدة فقط لكل طلب. باستثناء onCanceled()، لن يتم استدعاء أي طريقة أخرى من طرق Callback للطلب، بما في ذلك onSucceeded() وonFailed()، إلى أن يتم استدعاء UrlRequest.read() لمحاولة بدء قراءة نص الرد.

المعلَمات
UrlRequest request

الطلب الذي بدأ في تلقّي الردّ

UrlResponseInfo info

معلومات الردّ

عمليات الطرح
java.lang.Exception

في حال حدوث خطأ أثناء معالجة بداية الردّ سيتم استدعاء onFailed مع ضبط الاستثناء الذي تم طرحه كسبب لـ CallbackException.

onSucceeded

public abstract void onSucceeded(UrlRequest request, UrlResponseInfo info)

يتم استدعاء هذا الإجراء عند اكتمال الطلب بنجاح. بعد استدعاء هذه الدالة، لن يتم استدعاء أي دوال أخرى من Callback.

المعلَمات
UrlRequest request

طلب تم تنفيذه بنجاح.

UrlResponseInfo info

معلومات الردّ