InMemoryTransformCronetCallback

public abstract class InMemoryTransformCronetCallback<T> extends ImplicitFlowControlCallback

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

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

JsonCronetCallback

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

StringCronetCallback

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


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

يمكن لمقدّم الطلب الاشتراك لتلقّي إشعارات بشأن الطلب من خلال إضافة mListeners للإكمال إلى دالة معاودة الاتصال. عندما يصل الطلب إلى حالة نهائية، يتم إبلاغ mListeners بترتيب الإضافة.

المعلَمات
<T>

نوع نص الرد

ملخّص

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

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

ImplicitFlowControlCallback

تضيف هذه الطريقة أداة معالجة عند اكتمال العملية.

طُرق محمية

final void

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

final void

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

final void

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

final void

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

final void

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

abstract T
transformBodyBytes(UrlResponseInfo info, byte[] bodyBytes)

تحويل (إلغاء تسلسل) النص الكامل العادي إلى عنصر يحدّده المستخدم

الإجراءات المكتسبة

من org.chromium.net.apihelpers.ImplicitFlowControlCallback
final void

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

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

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

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

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

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

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

final void

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

final void

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

abstract boolean

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

من org.chromium.net.UrlRequest.Callback
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
)

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

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

InMemoryTransformCronetCallback

public InMemoryTransformCronetCallback()

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

addCompletionListener

public ImplicitFlowControlCallback addCompletionListener(CronetRequestCompletionListener<T> listener)

تضيف هذه الطريقة أداة معالجة عند اكتمال العملية. يتم إعلام جميع المستمعين عندما يصل الطلب إلى حالة نهائية، وذلك حسب ترتيب الإضافة. إذا تمت إضافة أداة معالجة عدّة مرات، سيتم استدعاؤها مرة واحدة فقط وفقًا لوقت إضافتها للمرة الأولى.

انظر أيضًا
CronetRequestCompletionListener

طُرق محمية

onBodyChunkRead

protected final void onBodyChunkRead(UrlResponseInfo info, ByteBuffer bodyChunk)

يتم استدعاؤه كلما تم قراءة جزء من نص الرد. قد يتم ملء جزء من المخزن المؤقت فقط، حتى إذا لم يتم استهلاك نص الرد بالكامل بعد. يكون المخزن المؤقت جاهزًا للقراءة. تتم إعادة استخدام المخازن المؤقتة داخليًا، لذا يجب ألا يخزّن الصف المنفِّذ المخزن المؤقت أو يستخدمه في أي مكان آخر غير تنفيذ هذه الطريقة.

المعلَمات
UrlResponseInfo info

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

ByteBuffer bodyChunk

المخزن المؤقت الذي يحتوي على البيانات المستلَمة، والذي تمّ قلبه للقراءة

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

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

onCanceled

protected final void onCanceled(@Nullable UrlResponseInfo info)

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

المعلَمات
@Nullable UrlResponseInfo info

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

onFailed

protected final void onFailed(@Nullable UrlResponseInfo info, CronetException exception)

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

المعلَمات
@Nullable UrlResponseInfo info

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

CronetException exception

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

onResponseStarted

protected final void onResponseStarted(UrlResponseInfo info)

يتم استدعاؤه عند تلقّي المجموعة النهائية من العناوين بعد جميع عمليات إعادة التوجيه. سيتم استدعاؤه مرة واحدة فقط لكل طلب. ويُضمن عدم بدء Cronet في قراءة النص الأساسي إلا بعد أن تعرض هذه الطريقة النتيجة.

المعلَمات
UrlResponseInfo info

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

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

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

onSucceeded

protected final void onSucceeded(UrlResponseInfo info)

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

المعلَمات
UrlResponseInfo info

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

transformBodyBytes

protected abstract T transformBodyBytes(UrlResponseInfo info, byte[] bodyBytes)

تحويل (إلغاء تسلسل) النص الكامل العادي إلى عنصر يحدّده المستخدم

يُفترض أنّ الفئات التي تنفّذ هذه الواجهة تتعامل مع الحالات الحدّية (مثل النصوص الفارغة أو المشوّهة) بشكلٍ مناسب. لا يفحص Cronet العناصر، بل يمرّرها (أو أي استثناءات) إلى الجهة التي أرسلت الطلب.