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

مشكلة في إرسال البيانات بإستخدام flutter - dio

Mohammed Abu Yousef

السؤال

Recommended Posts

  • 0

عند استعمال physical device ، وعند إرسال بينات إلى ال API يقف التطبيق عن العمل وتظهر الصورة التي أرفقتها

مع العلم / أن التطبيق يعمل بشكل طبيعي عند استعمال محاكي

هل هناك فرق بين استعمال ال physical device واستعمال محاكي في تغيير ال url الخاص بال API أو غيرها من الأمور؟

تم التعديل في بواسطة Mohammed Abu Yousef
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 19 دقائق مضت قال Mohammed Abu Yousef:

عند استعمال physical device ، وعند إرسال بينات إلى ال API يقف التطبيق عن العمل وتظهر الصورة التي أرفقتها

مع العلم / أن التطبيق يعمل بشكل طبيعي عند استعمال محاكي

معظم الأخطاء تظهر عند استعمال الجوال الحقيقي غير المحاكي لذلك يجب التأكد من أنه لا يوجد خطأ في عملية إرسال البيانات في المحاكي ثم في الجوال الحقيقي , ايضا تأكد من وضع الصلاحيات المناسبة كالاتصال ببيانات الجهاز أو Wifi. 

حاول تشغيل المشروع من موجه الأوامر باستخدام flutter run لمعرفة ما إذا كانت هناك أي مشكلة أم لا.

يمكنك ايضا من استخدام حزمة flutter_flipperkit من هنا . للتتبع الأخطاء في تطبيقك وعمل تقارير بها.

ايضا يمكنك إرفاق ملفات مشروعك هنا لنساعدك في تتبع الأخطاء و حلها معاً. 

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

  • 0
بتاريخ 2 ساعات قال Mohammed Abu Yousef:

هل هناك فرق بين استعمال ال physical device واستعمال محاكي في تغيير ال url الخاص بال API أو غيرها من الأمور؟

إذا كنت تستعمل local API مخدم من local host لن يستطيع الجهاز الحقيقي الاتصال مع المخدم في حاسوبك.

لحل المشكلة عليك استبدال IP الذي يتصل عليه التطبيق ووضع IP الحاسوب الذي يقوم بتشغيل المخدم حيث سوف تستخدم local IP للجهاز في الشبكة الداخلية أي جهاز router لديك.

يمكن معرفة ال IP الداخلي من خصائص اتصال واي فاي للحاسوب :

اختر Wi-Fi network > the Wi-Fi network المتصل بها > Properties خصائص.

ابحث عن IPv4 address. وقم بوضعه في التطبيق

 

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

  • 0
بتاريخ 12 ساعات قال Wael Aljamal:

إذا كنت تستعمل local API مخدم من local host لن يستطيع الجهاز الحقيقي الاتصال مع المخدم في حاسوبك.

لحل المشكلة عليك استبدال IP الذي يتصل عليه التطبيق ووضع IP الحاسوب الذي يقوم بتشغيل المخدم حيث سوف تستخدم local IP للجهاز في الشبكة الداخلية أي جهاز router لديك.

يمكن معرفة ال IP الداخلي من خصائص اتصال واي فاي للحاسوب :


اختر Wi-Fi network > the Wi-Fi network المتصل بها > Properties خصائص.

ابحث عن IPv4 address. وقم بوضعه في التطبيق

 

قمت بالفعل بإضافة IPv4 address ولكن للأسف نفس المشكلة وها هي الرسالة التي تظهر:

 

Screenshot (20).png

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

  • 0
بتاريخ 3 دقائق مضت قال Mohammed Abu Yousef:

قمت بالفعل بإضافة IPv4 address ولكن للأسف نفس المشكلة وها هي الرسالة التي تظهر:

 

Screenshot (20).png

يمكنك تغيير api الى 10.0.2.2:8000 وتجربة ذلك 

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

  • 0
بتاريخ 1 دقيقة مضت قال بلال زيادة:

يمكنك تغيير api الى 10.0.2.2:8000 وتجربة ذلك 

نعم أعلم ذلك، هذا بإمكانه العمل على المحاكي، أنا أريد تجربته على physical device

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

  • 0
بتاريخ الآن قال Mohammed Abu Yousef:

نعم أعلم ذلك، هذا بإمكانه العمل على المحاكي، أنا أريد تجربته على physical device

يجب استخدام real website لا يعمل السيرفر الشخصي على الموبايل لذلك يظهر الخطأ.

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

  • 0
بتاريخ الآن قال بلال زيادة:

يجب استخدام real website لا يعمل السيرفر الشخصي على الموبايل لذلك يظهر الخطأ.

يعني يجب رفع السيرفر على استضافة؟

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

  • 0
بتاريخ 2 ساعات قال Mohammed Abu Yousef:

قمت بالفعل بإضافة IPv4 address ولكن للأسف نفس المشكلة وها هي الرسالة التي تظهر:

بالنسبة لي، أقوم بتجريب التطبيقات على الخادم المحلي بنفس هذه الطريقة وهي الاتصال على IP الحاسب الخاص بي.

تأكد أن الحاسوب مرئي على الشبكة.

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

  • 0
بتاريخ 6 ساعات قال Wael Aljamal:

بالنسبة لي، أقوم بتجريب التطبيقات على الخادم المحلي بنفس هذه الطريقة وهي الاتصال على IP الحاسب الخاص بي.

هل ال IP هو الذي في الصورة؟

تأكد أن الحاسوب مرئي على الشبكة.

كيف أتأكد؟

 

Screenshot (21).png

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

  • 0
بتاريخ 13 دقائق مضت قال Wael Aljamal:

نعم هذا هو، طبعا يجب على الهاتف الاتصال على نفس شبكة wifi

يصبح هكذا ؟ (علما أن التوصيل بين اللابتوب والجوال عن طريق USB)

String url = 'http://192.168.1.104:8000/api/';

 

تم التعديل في بواسطة Mohammed Abu Yousef
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 2 دقائق مضت قال Mohammed Abu Yousef:

التوصيل بين اللابتوب والجوال عن طريق USB

هذا لا يسبب مشكلة، فقط تأكد من اتصالهما كليهما على نفس ال router عن طريق wifi مثلا من الضروري اتصالهما على نفس الشبكة.

تأكد من جعل حاسوبك available على الشبكة من خصائص الشبكة

discovered.JPG.001951587ee11ae0449388a69e5ab2b5.JPG

بالنسبة للرابط نفس الذي استخدمته من قبل فقط تبديل localhost or 127.0.0.1 بال IP لديك.

آخر تعديل يمكن أن تقوم به هو التأكد أن المخدم المحلي لديك wampp / xampp يسمح بالاتصال الخارجي من جهاز آخر ابحث عن connect to wamp from another computer حسب المخدم لديك ربما يتطلب تعديل في الاعدادات

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

  • 0
بتاريخ 40 دقائق مضت قال Wael Aljamal:

هذا لا يسبب مشكلة، فقط تأكد من اتصالهما كليهما على نفس ال router عن طريق wifi مثلا من الضروري اتصالهما على نفس الشبكة.

تأكد من جعل حاسوبك available على الشبكة من خصائص الشبكة

discovered.JPG.001951587ee11ae0449388a69e5ab2b5.JPG

بالنسبة للرابط نفس الذي استخدمته من قبل فقط تبديل localhost or 127.0.0.1 بال IP لديك.

آخر تعديل يمكن أن تقوم به هو التأكد أن المخدم المحلي لديك wampp / xampp يسمح بالاتصال الخارجي من جهاز آخر ابحث عن connect to wamp from another computer حسب المخدم لديك ربما يتطلب تعديل في الاعدادات

هوا موجود عندي public، أخليه  private زي الصورة؟

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

  • 0
بتاريخ الآن قال Mohammed Abu Yousef:

هوا موجود عندي public، أخليه  private زي الصورة؟

نعم كما تلاحظ هذا نوع الشبكة فيقوم windose بإخفاء الجهاز عندما تكون الشبكة عامة Public للحماية من الاختراق.

و تصح قابلة للاكتشاف discoverable في الشبكة المنزلية حيث يتصل عليها أجهزة موثوقة.

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

  • 0
بتاريخ 10 دقائق مضت قال Wael Aljamal:

نعم كما تلاحظ هذا نوع الشبكة فيقوم windose بإخفاء الجهاز عندما تكون الشبكة عامة Public للحماية من الاختراق.

و تصح قابلة للاكتشاف discoverable في الشبكة المنزلية حيث يتصل عليها أجهزة موثوقة.

للأسف نفس المشكلة، لكن الرسالة هذه المرة مختلفة، ها هي لعلك تفيدك في معرفة الخطأ

Screenshot (27).png

 Bad state: Insecure HTTP is not allowed by platform: http://192.168.1.104:8000/api/login

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

  • 0
بتاريخ 3 دقائق مضت قال Mohammed Abu Yousef:

للأسف نفس المشكلة، لكن الرسالة هذه المرة مختلفة، ها هي لعلك تفيدك في معرفة الخطأ

 Bad state: Insecure HTTP is not allowed by platform: http://192.168.1.104:8000/api/login

تمام، اتصل الهاتف مع المخدم،

الآن يتطلب تعديل في 

android/app/src/main/AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" /> <!-- This Line -->

<application
        android:name="io.flutter.app.FlutterApplication"
        android:label="receipt"
        android:usesCleartextTraffic="true"

حاول إضافة هذه الخاصية "android:usesCleartextTraffic="true

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

  • 0
بتاريخ 2 دقائق مضت قال Wael Aljamal:

تمام، اتصل الهاتف مع المخدم،

الآن يتطلب تعديل في 


android/app/src/main/AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" /> <!-- This Line -->

<application
        android:name="io.flutter.app.FlutterApplication"
        android:label="receipt"
        android:usesCleartextTraffic="true"

حاول إضافة هذه الخاصية "android:usesCleartextTraffic="true

هناك تقدم، لم يتوقف التطبيق عن العمل مباشرة كما كان من قبل، لكن ظهرت هذه المشكلة:

Screenshot (29).png

Http status error [500]

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

  • 0
بتاريخ 40 دقائق مضت قال Mohammed Abu Yousef:

Http status error [500]

هذه المشكلة في المخدم.  Internal Server Error server error response code أرجو التأكد من كيفية ارسال الطلبات و إعادة اختباره.

يمكنك مراجعة السؤال التالي:

 

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...