استخراج وعرض بيانات JSON في تطبيق Android باستخدام Java
عند التعامل مع استرجاع البيانات من واجهة برمجة التطبيقات REST في تطبيق Android، يصبح استخراج وعرض الحقول المحددة أمرًا هامًا لتحقيق التكامل السلس وتحسين تجربة المستخدم. في الشيفرة التي قدمتها، يظهر أنك تقوم بجلب بيانات JSON من واجهة REST API وترغب في استخراج قيمة “Host” التي تكون “u1” وعرضها في مربع النص في تطبيق Android الخاص بك.
لتحقيق ذلك، يمكنك تعديل الدالة onPostExecute
في فئة LongRunningGetIO
لتحليل البيانات الJSON واستخراج القيمة المطلوبة. في مثالك، يمكنك استخدام مكتبة org.json
المدمجة في Android لتحليل السلسلة JSON والوصول إلى القيم.
إليك كيف يمكنك تحقيق ذلك:
javaprotected void onPostExecute(String results) {
if (results != null) {
try {
JSONObject jsonObject = new JSONObject(results);
// استخراج قيمة "Name" ككائن JSON
JSONObject nameObject = jsonObject.getJSONObject("Name");
// استخراج قيمة "Host"
String hostValue = nameObject.getString("Host");
// عرض قيمة "Host" في مربع النص
EditText et = (EditText) findViewById(R.id.my_edit);
et.setText(hostValue);
} catch (JSONException e) {
e.printStackTrace();
}
}
Button b = (Button) findViewById(R.id.my_button);
b.setClickable(true);
}
تأكد من استدعاء onPostExecute
بعد استرجاع البيانات من واجهة REST API. بهذه الطريقة، يتم استخراج قيمة “Host” من البيانات الJSON وعرضها في مربع النص عند الانتهاء من العملية الخلفية.
المزيد من المعلومات
بالطبع، سأقوم بتوفير مزيد من المعلومات لفهم عمل الشيفرة وتوجيهات إضافية:
-
استخدام مكتبة
org.json
: في الشيفرة المقدمة، تم استخدامorg.json.JSONObject
لتحليل سلسلة JSON. هذه المكتبة توفر واجهات برمجة التطبيقات للتعامل مع بيانات JSON في Java. -
المفهوم الأساسي للشيفرة:
JSONObject
تمثل كائن JSON وتستخدم للوصول إلى القيم داخل السلسلة.getJSONObject("Name")
تُستخدم لاستخراج كائن JSON داخل الكائن الرئيسي.getString("Host")
تستخرج قيمة “Host” كسلسلة نصية.
-
تعديل
onPostExecute
: يتم تحديثonPostExecute
بحيث يقوم بفحص البيانات المسترجعة، ثم يقوم بتحليل البيانات الJSON واستخراج القيمة المطلوبة وعرضها في مربع النص. -
التعامل مع الأخطاء (
JSONException
): تم إضافة مقطعtry-catch
للتعامل مع استثناءاتJSONException
المحتملة أثناء عملية تحليل السلسلة JSON. يفيد ذلك في تجنب توقف التطبيق عند حدوث أخطاء. -
تحسين تجربة المستخدم: يتم تعطيل زر الضغط (
my_button
) أثناء تنفيذ العملية الخلفية لضمان عدم التداخل مع العملية وتفادي الأخطاء الناتجة عن النقر المتكرر. -
توجيهات إضافية:
- تأكد من إضافة أذونات الإنترنت إلى ملف
AndroidManifest.xml
لضمان إمكانية الوصول إلى الشبكة. - قد تحتاج إلى التحقق من تنفيذ عمليات الشبكة في خلفية التطبيق بشكل فعّال لتجنب تجميد الواجهة الرسومية أثناء الوصول إلى الشبكة.
- تأكد من إضافة أذونات الإنترنت إلى ملف
باستخدام هذه التوجيهات، يمكنك تكملة تطوير تطبيق Android الخاص بك وتحسين تجربة المستخدم عند استرجاع وعرض البيانات من واجهة REST API.