باستخدام استجابة فئة إلى أخرى
-
28-09-2019 - |
سؤال
لقد أنشأت تطبيقًا حيث قمت بتوسيع نشاط وحصلت على استجابة من خدمة الويب بنجاح باستخدام 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);
...
}
& انتهيت!