اضافة بيانات تلقائية للطب من المستخدم ويتم التعديل عليها من طرف المندوب فقط
الرحمن الرحيم السلام عليكم ورحمه الله وبركاته متابعينا الكرام مرحبا بكم في مقاله جديده من مقالات تعلم الفايربيز بالاندرويد ستوديو حيث في المقالات السابقة قمنا بإنشاء صفحة تمكننا من الدخول والتسجيل وقمنا بعمل بريد لي المستخدم وبريد لي المندوب الذي يقوم بقبول الطلبات وفي هذه المقالة سوف نقوم باضافة ثلاثة خيارات جديدة تظهر للمستخدم عندما يقوم بالتأكيد على الطلب عندما يقوم المستخدم بإدخال بيانات الطلب يضغط على موافق يظهر له ثلاث خيارات افتراضية الاولى وهي حالة قبول الطلب والثانية هي حالة الطلب ويمكن هنا للمندوب اضافة نصوص للمستخدم وفي النهاية هل ينتهي الطلب ام لا
الان نريد معرفة حالة الطلب وهل تم قبول الطلب ام لا وهل انتهي المندوب من توصيلة ام لا لذلك نرجع الى OrderData ونضيف isAccept و finished بنظام boolean وحالة الطلب على شكل String وقم بعمل constructor و sitter-gitter و toString لهم
ارجع الى ملف OrderDetails وهي تفاصيل الطلب وقم بوضع TextInputEditText واحد لحالة القبول والثاني لحالة الطلب والاخير تاريخ التسليم
الان ارجع الى AddOrderActivity وتحديدا ميثود getDataUi وقم بإضافة البيانات داخل OrderData كما بالصورة .
الان توجة الى كلاس OrderDetails وقم بتمرير المعطيات بداخلة وتعريفها كما بالصورة ( يوجد طريقتين الاولى وهي عمل if والثانية وهي عمل علامة الاستفهام لقد قمت بكتابة كل واحده منهم على شكل ويمكنك كتابتهم الاثنين باي شكل تريدة والناتيجة واحده لا تقلق ) وقم بعمل زر للقبول واجعل بداخلة finsh
الان يفضل الرجوع الى firebase وحذف جميع الطلبات القديمة وذلك لانها لا تحتوي على حالات القبول وحالة الطلب و حالة الانتهاء يمكنك اضافتها بشكل يديو على طريق النقر على add field وكتابة الاسم وبعدها النوع وValue , يمكنك حذف document عن طريق الثلاث نقاط الموجوده اعلاه واختيار امر delete
شاهد ايضا :
- كيفية عمل اخفاء واظهار للزر بداخل الاندرويد ستوديو
- طريقة عمل حساب للعميل وحساب للمندوب بخصائص معينه
- منع عمل لقطة شاشه وتسجيل فيديو لتطبيقك
الان قم بفتح حساب العميل وقم بعمل مجموعة من الطلبات , ستلاحظ انة في كل طلب تم اضافة 3 مربعات جديدة تلقائية لكل طلب وهي حالة الطلب وقبول الطلب و الانتهاء .
الان قم بعمل اكتفتي جديدة بإسم ProviderOrderDetailsActivity وقم بوضع نفس تصميم OrderDetails ولكن مع اختلاف بسيط وهو بدلا من TextInputEditText قبول الطلب نضعه على شكل زر وبدل TextInputEditText انتهاء الطلب نضعه على شكل CheckBox و حالة الطلب نجعل enabled لديها true لاعطاء حق التعديل للمندوب .
قم اولا بعمل تعريف لي OrderData لكي نستطيع جلب المعلومات منها وsetOnClickListener للزر الخاص بي قبول الطلب وقم بعمل ميثود بداخله بإسم acceptorder وارفاق getOrderid بداخل الميثود قم بعمل HashMap واجعل حالة الزر true وهذا يحدث عندما يتم النقر علية تنبية يجب كتابة بين " " الاسم الذي موجودد في firebase بالقبول وفي حالتي اسمة accept بعدها قم بعمل document بالاي دي الخاص باليوز لكي يشاهد التغيرات اليوزر الذي انشئ الطلب فقط بعدها قم بعمل update لتحديث المعلومات الموجوده في firebase وعمل اختبار هل نجحت العملية ام لا اذا كان الجواب نعم تظهر رسالة للمستخدم ويتم اخفاء الزر واذا لم تنجح تظهر رسالة بسبب المشكلة للمستخدم .
رابط المشروع كامل على Github
شاهد ايضا
- شرح كيفية ربط تطبيقك بالفايربيز "Firebase" بطريقة يدوية وتلقائية
- كل ما تريد معرفتة عن خدمة فايربيز "Firebase" واهميتها في تطبيقك
- كيفية حفظ بيانات المستخدم في قواعد البيانات داخل الاندرويد ستوديو Firebase with Firestore
- كيفية عرض معلومات المستخدم داخل صفحة الاعدادات "فاير بيز" - أندرويد ستوديو
- كيفية انشاء صفحة لتحديث بيانات المستخدم داخل برنامج الاندرويد ستوديو
- انشاء صفحة لاضافة طلبات make order بإستخدام "فايربيز" ( أندرويد ستوديو )
- كيفية عرض الطلبات التي قام بها المستخدم داخل Recyclerview في الاندرويد ستوديو
- عرض تفاصيل الطلب الذي قام بة المستخدم في برنامج الاندرويد ستوديو | firebase with android studio
- طريقة عمل حساب للعميل وحساب للمندوب بخصائص معينه - استخدام Firebase داخل android studio
- اضافة بيانات للطلب من طرف المندوب - استخدام الفايربيز داخل الاندرويد ستوديو android studio
- انشاء صفحة للطبات المقبولة من طرف المندوب وربطها بالفاير بيز داخل الاندرويد ستوديو
- جعل المندوب قادر على قبول الطلب وكتابة ملاحظات والانتهاء منه - تطبيق "فايربيز" بألاندرويد ستوديو