سؤال

لقد أنشأت تطبيقًا حيث قمت بتوسيع نشاط وحصلت على استجابة من خدمة الويب بنجاح باستخدام Asynctask ، الآن أريد أن أقوم بتحليل JSON لتلك الاستجابة المستلمة في الفئة الأخرى بخلاف النشاط الرئيسي.

كيف يمكن أن تفعل ذلك؟ كيف يمكنني استخدام الاستجابة المستلمة للنشاط الرئيسي في فئة منفصلة لأنني في الفصل التالي أريد فقط القيام بالتحليل باستخدام الاستجابة التي تحققت من الفصل الرئيسي.

هل يمكن لأي شخص أن يعطيني إجابة عن هذا!

شكرا يا ديفيد

هل كانت مفيدة؟

المحلول

يمكنك إرسال قيمة إلى فئة أخرى عن طريق تمريرها إلى مُنشئها ، أو تمرير أي وسيطات وظيفية.

أو إذا كنت تريد تمرير قيمة إلى فئة Asynctask

 public class abc extends Activity {

 new AsynctaskClassName.execute(response);      
 }

وسوف يكون Asynctask

 public class AsynctaskClassNameextends AsyncTask <String, String, String> {
 protected Z doInBackground(String... res){  
 ...  
  response = res[0]  
 ...   
}

أو لتمرير قيمة إلى نية أخرى ، من الأفضل المرور

    Intent.putExtra("response", response);

وقراءة

 Bundle extras = getIntent().getExtras();
 String response = extras.getString("response");

نصائح أخرى

يمكنك ببساطة إنشاء فصل جديد

public class Parser
{
public static String rawJSON;
....
}

الآن في Asynctask الخاص بك ، قم ببساطة بتخزين استجابة JSON في Parser.Rawjson مثل هذا

protected Z doInBackground(X...x){
...
Parser.rawJSON=responseFromServer(URL);
...
}

& انتهيت!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top