القائمة الرئيسية

الصفحات

عرض تفاصيل الطلب الذي قام بة المستخدم في برنامج الاندرويد ستوديو | firebase with android studio

 

عرض تفاصيل الطلب الذي قام بة المستخدم في برنامج الاندرويد ستوديو


في هذا المقال سوف نتعرف بأذن الله تعالى على كيفية عمل أون كليك 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 المستخدم وبذلك نجعل كل مستخدم يتم عرض طلباته فقط .



الاكواد الموجودة باللون الاحمر هي فقط التي تم انشائها او التعديل عليها .


شاهد ايضا

  1. كيفية عرض الطلبات التي قام بها المستخدم داخل Recyclerview في الاندرويد ستوديو
  2. كل ما تريد معرفتة عن خدمة فايربيز "Firebase" واهميتها في تطبيقك
  3. عمل صفحة تسجيل و دخول وربطها بالفاير بيز داخل تطبيقك في ألاندرويد ستوديو
  4. كيفية حفظ بيانات المستخدم في قواعد البيانات داخل الاندرويد ستوديو Firebase with Firestore
هل اعجبك الموضوع :