اذهب إلى المحتوى

السؤال

نشر

تحيه طيبه للجميع 

قمت بتخزين البيانات مسبقا على قاعدة البيانات وقمت بتخزين بيانات مسابقا أيضا على حفظ محلي 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 برغم من ان البيانات متطابقة لا اعلم لماذا 

أتمنى من لديه فكره يخبرنا عن طريقة حل المشكلة 

Recommended Posts

  • 1
نشر

حاول طباعة كل من:

قبل الحلقة
لمرة واحدة
print(UserSimplePreferences.getNotficationAppID());

ثم ضمن الحلقة:

print(responsebody[i]['id']);

على كل حال، لم أفهم الفائدة من الحلقة، سوف تختبر أكثر من id من response وفي حال كان نفسه تعمل break وإن كان غيره تعمل على تعديله؟

وماذا يحوي responsebody هل يمكنك طباعته بشكل منسق لفهم بنيته؟

وما هي برمجة الدالة getNotficationAppID؟

ربما الاختلاف أن هنالك نمط مختلف بين البيانات (نصية و رقمية) و عملية المقارنة لا تتم بشكل صحيح.

responsebody[i]['id'].toString() == UserSimplePreferences.getNotficationAppID()
                    ^^^^^^^^^^^^

 

  • 0
نشر
بتاريخ 18 ساعات قال Wael Aljamal:

حاول طباعة كل من:


قبل الحلقة
لمرة واحدة
print(UserSimplePreferences.getNotficationAppID());

ثم ضمن الحلقة:

print(responsebody[i]['id']);

على كل حال، لم أفهم الفائدة من الحلقة، سوف تختبر أكثر من id من response وفي حال كان نفسه تعمل break وإن كان غيره تعمل على تعديله؟

وماذا يحوي responsebody هل يمكنك طباعته بشكل منسق لفهم بنيته؟

وما هي برمجة الدالة getNotficationAppID؟

ربما الاختلاف أن هنالك نمط مختلف بين البيانات (نصية و رقمية) و عملية المقارنة لا تتم بشكل صحيح.


responsebody[i]['id'].toString() == UserSimplePreferences.getNotficationAppID()
                    ^^^^^^^^^^^^

 

اهلا اخي الكريم كنت أحاول احل مشكلة badges بحيث اعمل استعلام عن القديم والحديث حتى اظهر اشعار badges 

في نهاية الامر قمت بتخزين الاستعلام كامل ونجح الامر بدون عمل حلقة وغيره 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...