Flutter Dev نشر 3 أغسطس 2022 أرسل تقرير نشر 3 أغسطس 2022 تحيه طيبه للجميع قمت بتخزين البيانات مسبقا على قاعدة البيانات وقمت بتخزين بيانات مسابقا أيضا على حفظ محلي Shared Preferences الان انا أحاول ان اعمل مقارنه بين البيانات التي احصل عليها من قاعدة البيانات والبيانات التي قمت بتخزينها في Shared Preferences اذا كانت متطابقة او لا استعمل الكود التالي: Future ApiNotficationApp() async { final String url = '****************'; var response = await http.post(Uri.parse(url)); var responsebody=jsonDecode(response.body); if (responsebody.length >0){ for (int i = 0; i < responsebody.length; i++) { if (responsebody[i]['id'] == UserSimplePreferences.getNotficationAppID() ){ print('\x1B[31m${'Equal'}\x1B[0m'); break; }else{ UserSimplePreferences.setNotficationApp(''); UserSimplePreferences.setNotficationAppID(responsebody[i]['id'].toString()); print('\x1B[33m${'Not Equal'}\x1B[0m'); print('\x1B[33m${UserSimplePreferences.getNotficationAppID()}\x1B[0m'); break; } } return responsebody; }else{ } } ولكني في كل مره احصل على نتيجة ليس متطابقة او Not Equal برغم من ان البيانات متطابقة لا اعلم لماذا أتمنى من لديه فكره يخبرنا عن طريقة حل المشكلة 1 اقتباس
1 Wael Aljamal نشر 3 أغسطس 2022 أرسل تقرير نشر 3 أغسطس 2022 حاول طباعة كل من: قبل الحلقة لمرة واحدة print(UserSimplePreferences.getNotficationAppID()); ثم ضمن الحلقة: print(responsebody[i]['id']); على كل حال، لم أفهم الفائدة من الحلقة، سوف تختبر أكثر من id من response وفي حال كان نفسه تعمل break وإن كان غيره تعمل على تعديله؟ وماذا يحوي responsebody هل يمكنك طباعته بشكل منسق لفهم بنيته؟ وما هي برمجة الدالة getNotficationAppID؟ ربما الاختلاف أن هنالك نمط مختلف بين البيانات (نصية و رقمية) و عملية المقارنة لا تتم بشكل صحيح. responsebody[i]['id'].toString() == UserSimplePreferences.getNotficationAppID() ^^^^^^^^^^^^ 1 اقتباس
0 Flutter Dev نشر 4 أغسطس 2022 الكاتب أرسل تقرير نشر 4 أغسطس 2022 بتاريخ 18 ساعات قال Wael Aljamal: حاول طباعة كل من: قبل الحلقة لمرة واحدة print(UserSimplePreferences.getNotficationAppID()); ثم ضمن الحلقة: print(responsebody[i]['id']); على كل حال، لم أفهم الفائدة من الحلقة، سوف تختبر أكثر من id من response وفي حال كان نفسه تعمل break وإن كان غيره تعمل على تعديله؟ وماذا يحوي responsebody هل يمكنك طباعته بشكل منسق لفهم بنيته؟ وما هي برمجة الدالة getNotficationAppID؟ ربما الاختلاف أن هنالك نمط مختلف بين البيانات (نصية و رقمية) و عملية المقارنة لا تتم بشكل صحيح. responsebody[i]['id'].toString() == UserSimplePreferences.getNotficationAppID() ^^^^^^^^^^^^ اهلا اخي الكريم كنت أحاول احل مشكلة badges بحيث اعمل استعلام عن القديم والحديث حتى اظهر اشعار badges في نهاية الامر قمت بتخزين الاستعلام كامل ونجح الامر بدون عمل حلقة وغيره اقتباس
السؤال
Flutter Dev
تحيه طيبه للجميع
قمت بتخزين البيانات مسبقا على قاعدة البيانات وقمت بتخزين بيانات مسابقا أيضا على حفظ محلي Shared Preferences
الان انا أحاول ان اعمل مقارنه بين البيانات التي احصل عليها من قاعدة البيانات والبيانات التي قمت بتخزينها في Shared Preferences اذا كانت متطابقة او لا
استعمل الكود التالي:
Future ApiNotficationApp() async { final String url = '****************'; var response = await http.post(Uri.parse(url)); var responsebody=jsonDecode(response.body); if (responsebody.length >0){ for (int i = 0; i < responsebody.length; i++) { if (responsebody[i]['id'] == UserSimplePreferences.getNotficationAppID() ){ print('\x1B[31m${'Equal'}\x1B[0m'); break; }else{ UserSimplePreferences.setNotficationApp(''); UserSimplePreferences.setNotficationAppID(responsebody[i]['id'].toString()); print('\x1B[33m${'Not Equal'}\x1B[0m'); print('\x1B[33m${UserSimplePreferences.getNotficationAppID()}\x1B[0m'); break; } } return responsebody; }else{ } }
ولكني في كل مره احصل على نتيجة ليس متطابقة او Not Equal برغم من ان البيانات متطابقة لا اعلم لماذا
أتمنى من لديه فكره يخبرنا عن طريقة حل المشكلة
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.