عرض تفاصيل الطلب الذي قام بة المستخدم في برنامج الاندرويد ستوديو
في هذا المقال سوف نتعرف بأذن الله تعالى على كيفية عمل أون كليك onClick داخل RecyclerView باستخدام الفايربيز حيث تعد Recycler View و الفايربيز من أكثر الخدمات التي تستخدم داخل تطبيقات الاندرويد وفي هذه السلسلة سوف نقوم بعمل تطبيق يمكن المستخدم من إنشاء طلبات وايضا يستطيع المندوب قبول هذه الطلبات مع امكانية اضافة ملاحظات وتظهر البيانات لدى المستخدم لذلك ان لم تشاهد المقالات من الاول فانصحك ان ترجع إلى أول مقال في دروس الفايربيرد لكي تفهم آلية عمل الكود من الالف الى الياء .
كيفية عمل onClick داخل RecyclerView
اولا توجة الى AdptorOrder الذي قمنا بإنشاءة سابقا وقم بعمل انترفيس في الاخير بعد class OrderViewHHolder وقم بإعطاءة اي اسم public interface ## بدل علامات الشباك قم بوضع اي اسم واسفلة قم بعمل onClick وضع بداخلة كلاس بيانات الطلب كما بالصورة
ارجع للكود الاول في الاعلى وقم بتعريف الاسم الذي اطلقتة على الانترفيس وفي حالتي قمت بتسميتة Orderinterface قم بأخذ منة object ويفضل اخذ نفس اسمة لكي لا تختلط الاسماء منك
بعدها قم بحذف constructor القديم وعمل واحد جديد يوجدبه الانترفيس كما ستشاهدون بالصورة بعد قليل
اخيرا قم بعمل holder.itemView داخل onBindViewHolder وقم بعمل orderinterface.onClick(orderData) بداخلة بحيث عندما ينقر المستخدم علية يتم عرض البيانات الموجودة في orderData داخل الانترفيس
الاكواد المكتوبة باللون الاحمر هي التغيرات على الكود السابق .
داخل OrderData Clas.s قم بعمله Serializable لكي يتم نقله للانترفيس بدون مشاكل
اقرء المزيد
انشاء صفحة لعرض البيانات
الان قم بعمل Activity جديدة والتي يحتوي ملف xml الذي بداخلها على نفس الاكواد الموجوده في TalabatActivityولكن مع تغيير id وايضا عمل enabled وجعلها false لكي يتم عرض البيانات دون اماكنية التعديل عليها .
الان توجة الى الكود الخاص بها وقم بتعريف متغيراتك وايضا تعريف كلاس OrderData عن طريق عمل object منة وكتابتة بعدة getIntent().getSerializableExtra("order"); وقم بتغيير order الى الاسم الموجود في فاير ستور ستشاهد وجود ايرور قم بعمل alt + enter واختر cast to
وبعد قم بعمل setText لمتغيراتك ونقل البيانات لها كما بالصورة .
كيفية عرض البيانات لكل cardview
ارجع الى كلاس عرض الطلبات والذي تم إنشائة سابقا بإسم TalabatActivity قم بزيادة orderinterface داخل adptorOrder سوف تلاحظ ظهور ايرور
كل ما عليك هو خارج onCreate قم بكتابة AdptorOrder.Orderinterface وضع له اسم اوبجكت وهو orderinterface واكمال تعريفه كما تعودنا بعدها قم بعمل { } واكتب بداخلهم public void onClick بحيث عندما يتم النقر عليهم يتم عرض البيانات , وننقل المستخدم من هذة الصفحة الى صفحة التفاصيل وارسال البيانات النصيه بعدها .
الان عند عمل run للكود سوف تشاهد ان الكود يعمل بدون مشاكل بإذن الله ولكن هناك مشكلة بسيطة وهي انه يمكن لاي مستخدم عرض البيانات لجميع المستخدمين ونحن نريد عرض بيانات كل مستخدم فقط والمندوب يتم عرض له كل الطلبات فحل هذة المشكلة هو التوجة الى ميثود getorder والتعديل في firestore وهو بعد اسم الملف نضع whereEqualTo وبداخلها نكتب userid التي تم انشائها في firebase وعمل , وبعدها نكتب uid وهو id المستخدم وبذلك نجعل كل مستخدم يتم عرض طلباته فقط .
الاكواد الموجودة باللون الاحمر هي فقط التي تم انشائها او التعديل عليها .
رابط المشروع كامل على Github
شاهد ايضا
- شرح كيفية ربط تطبيقك بالفايربيز "Firebase" بطريقة يدوية وتلقائية
- كل ما تريد معرفتة عن خدمة فايربيز "Firebase" واهميتها في تطبيقك
- كيفية حفظ بيانات المستخدم في قواعد البيانات داخل الاندرويد ستوديو Firebase with Firestore
- كيفية عرض معلومات المستخدم داخل صفحة الاعدادات "فاير بيز" - أندرويد ستوديو
- كيفية انشاء صفحة لتحديث بيانات المستخدم داخل برنامج الاندرويد ستوديو
- انشاء صفحة لاضافة طلبات make order بإستخدام "فايربيز" ( أندرويد ستوديو )
- كيفية عرض الطلبات التي قام بها المستخدم داخل Recyclerview في الاندرويد ستوديو
- عرض تفاصيل الطلب الذي قام بة المستخدم في برنامج الاندرويد ستوديو | firebase with android studio
- طريقة عمل حساب للعميل وحساب للمندوب بخصائص معينه - استخدام Firebase داخل android studio
- اضافة بيانات للطلب من طرف المندوب - استخدام الفايربيز داخل الاندرويد ستوديو android studio
- انشاء صفحة للطبات المقبولة من طرف المندوب وربطها بالفاير بيز داخل الاندرويد ستوديو
- جعل المندوب قادر على قبول الطلب وكتابة ملاحظات والانتهاء منه - تطبيق "فايربيز" بألاندرويد ستوديو