البرمجة

إرسال معلمات POST ديناميًا باستخدام OKHTTP 3.x في Android

في إطار استخدام مكتبة OKHTTP 3.x في تطبيق Android الخاص بك، تواجه تحديًا في إرسال معلمات الطلب (post parameters) بشكل دينامي أو في حلقة. في الإصدار الثالث من OKHTTP، تمت إزالة فئة FormEncodingBuilder التي كنت تستخدمها في الإصدار الثاني. ومع ذلك، يمكنك تحقيق نفس الغرض باستخدام فئة MultipartBody.Builder.

لتحقيق هذا الهدف، يمكنك كتابة كود يقوم بتكرار العملية في حلقة لإضافة المعلمات الخاصة بك إلى جسم الطلب. يمكنك تعديل الكود الحالي الخاص بك كما يلي:

java
MultipartBody.Builder requestBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); for (int i = 1; i <= 5; i++) { String paramName = "Param" + i; String paramValue = "value" + i; requestBodyBuilder.addFormDataPart(paramName, paramValue); } RequestBody formBody = requestBodyBuilder.build(); Request request = new Request.Builder() .url("url") .post(formBody) .build();

يقوم الكود أعلاه ببناء جسم الطلب باستخدام MultipartBody.Builder، ثم يقوم بإضافة المعلمات في حلقة. يمكنك تعديل قيم المتغيرات المستخدمة وفقًا لاحتياجاتك الخاصة.

هذا الأسلوب يمكن أن يكون أكثر قابلية للتوسع والتخصيص في مقارنة مع الإصدار 2.x، حيث يمكنك بناء جسم الطلب بشكل دينامي داخل حلقة وفقًا لعدد المعلمات التي تحتاج إلى إرسالها.

المزيد من المعلومات

إليك المزيد من المعلومات حول كيفية إرسال معلمات الطلب بشكل دينامي باستخدام OKHTTP 3.x في تطبيق Android الخاص بك:

  1. MultipartBody.Builder:

    • MultipartBody.Builder هو واجهة لبناء جسم الطلب بنوع multipart/form-data، الذي يسمح بإرسال بيانات ثنائية الجزء مثل الصور والملفات.
    • يمكنك استخدام addFormDataPart لإضافة أجزاء منفصلة إلى جسم الطلب.
  2. الحلقة (Loop):

    • في الحلقة، يتم تكرار عملية إضافة المعلمات باستخدام addFormDataPart حتى تتم إضافة جميع المعلمات المطلوبة.
  3. تخصيص القيم:

    • يمكنك تخصيص أسماء وقيم المعلمات وفقًا لاحتياجات تطبيقك، حيث يُستخدم المتغير paramName لتوليد أسماء المعلمات وparamValue لتوليد قيم المعلمات في كل تكرار.
  4. Request:

    • يتم بناء الطلب باستخدام Request.Builder، ومن ثم يتم تعيين الطلب ليكون POST ويحتوي على جسم الطلب الديناميكي الذي تم بناؤه.
  5. قيم URL:

    • يُستبدل "url" بعنوان الويب الذي تريد إرسال الطلب إليه.
  6. قابلية التوسع والتخصيص:

    • يُظهر هذا النهج قابلية التوسع والتخصيص حيث يمكنك بسهولة تعديل عدد المعلمات أو تخصيص الأسماء والقيم وفقًا لمتطلبات تطبيقك.

هذا النهج يسمح لك بإرسال معلمات الطلب بشكل دينامي في حلقة، مما يسهل التعامل مع عدد متغير من المعلمات بطريقة مرنة وبسيطة.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!