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

مشكلة تحويل نوع البيانات في إضافة عنصر إلى سلة الشراء (PANIER) في Flutter/Dart

Wajdi Rebei

السؤال

 

السلام عليكم 

أنا مبتدأ في مجال البرمجة و أشتغل على إنشاء تطبيق جوال ANDROID APP من خلال برنامج FLUTTER  و لغة DART

وصلت لمرحلة إنشاء صفحة إقتناء المشتريات items  ووضعها في سلة الشراء PANIER(BASKET).

للأسف واجهتني مشكلة تتمثل كالتالي :

 

E/flutter ( 4867): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: type 'int' is not a subtype of type 'String?' in type cast
E/flutter ( 4867): #0      SharedPreferences.getString (package:shared_preferences/shared_preferences.dart:112:58)

E/flutter ( 4867): #1      Paniercontroller.add (package:dadou/controler/paniercontroller.dart:27:37)

E/flutter ( 4867): #2      Itemsdetails.build.<anonymous closure> (package:dadou/view/screen/itemsdetails.dart:26:43)
 


كل ما أريد إضافة قطعة (buy items) أي عندما أضغط على + / - على سبيل المثال لزيادة أو إنقاص القطع   يظهر هذا الخطأ .

ممكن شخص لديه خبرة أن يساعدني في حل هذا المشكل . مع الشكر 

بارك الله فيكم !

BACKEND : PHP MYSQL مع العلم أني قمت بإختبار BACKEND و عمل بشكل عادي 

تجدون في المرفقات جميع الأكواد . على حسب ما توصلت إليه أظن أن الخطأ  متأتي  عند الإشتغال على users_id

شكرا لتفاعل  جميع الأطراف . في إنتظار ردكم ! 

 

 

 

itemsdetailscontroller.dart logincontroller.dart paniercontroller.dart crud.dart itemsdetails.dart items.dart

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

المشكلة تتعلق بنوع البيانات المتوقع في السطر الذي يحتوي على الخطأ، ويتعذر تحويل القيمة من نوع "int" إلى نوع "String" في سلسلة الحروف (String).

وربما السبب هو محاولة استخدام القيمة المسترجعة من SharedPreferences على أنها سلسلة حروف (String) في السطر 27  في ملف "paniercontroller.dart"، ولكن القيمة المسترجعة عبارة عن رقم صحيح (int) وليس سلسلة حروف (String).

حاول تجربة تحويل القيمة المسترجعة إلى سلسلة حروف (String) باستخدام دالة toString()، وذلك باستخدام الدالة toString() على القيمة المسترجعة من SharedPreferences قبل استخدامها في عملية التحويل.

مثال:

String? userId = sharedPreferences.getString('user_id').toString();

قم بتطبيق هذا التغيير في المكان المناسب وحاول تشغيل التطبيق مرة أخرى للتحقق مما إذا كان يزال الخطأ موجودًا أم لا.

وذلك مجرد إقتراح ولم أقم بتجربة الكود، وأخبرني بالنتيجة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

شكرا لك و اسف جدا على التأخير

ستجد في هذا الرابط الملف كاملا ينقسم الى قسمان 

Testapp:به أكواد  ال Backend

Dadou: به أكواد ال frontend يحتوي  ملف اسمه lib ستجد هناك جميع الاكواد،  لقد اعتمدت على طريقة MVC عند البرمجة ولذلك فان جميع ملفات  controller تحت مجلد اسمه ال controller وجميع ال views ستجدها تحت مجلد اسمه views/screens.

الخطأ موجود ب :

 

 

E/flutter ( 4867): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: type 'int' is not a subtype of type 'String?' in type cast
E/flutter ( 4867): #0      SharedPreferences.getString (package:shared_preferences/shared_preferences.dart:112:58)

E/flutter ( 4867): #1      Paniercontroller.add (package:dadou/controler/paniercontroller.dart:27:37)

E/flutter ( 4867): #2      Itemsdetails.build.<anonymous closure> (package:dadou/view/screen/itemsdetails.dart:26:43)

 

هذا الرابط يحتوي مجلد المشروع بالكامل:

https://drive.google.com/drive/folders/1FyB6czCy6RDhrXWofdzWx7VK9AGdbkbB?usp=sharing

(سأقوم بالسماح لك بالدخول عند وصول الطلب من عندك )

إذا رغبت في أي إستفسار يمكن من بعد إذنك أن نتناقش إذا أردت في المباشر 

شكرا على تفاعلك معي دائما .

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...