Skip to content

barmej/android-degree-studentproject-architecture-components-base

Repository files navigation

نبذة عن المشروع

ننسى أشياء نريد أن نفعلها فى كثير من الاوقات، احيانا تظهر فى عقولنا فكرة او مهمة نود تنفيذها ولكن بمجرد أن تمر دقائق قليلة ننساها . لذلك نود تطوير تطبيق عبارة عن مذكرة.

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

بمجرد أن يضيف المستخدم الفكرة تظهر فى القائمة. كذلك يمكننا التعديل على كل مذكرة بالضغط عليها.

الهدف من هذا المشروع ؟

في الدروس الأخيرة تعلمت كيفية استخدام مكونات معمارية التطبيق App Architecture Comments. في هذا المشروع سوف نقوم باستخدام هذه المكونات في تطبيق المذكرة الذي قمت بتطويره في دروس سابقة. حيث ستقوم باستخدام كلا من LiveData و ViewModel و Data Binding كما وسنقوم باستخدام Room لحفظ البيانات على جهاز المستخدم.

ما الذي سوف تتعلمه من هذا المشروع ؟

يجمع هذا المشروع العديد من الأفكار والمهارات التي تعلمناها خلال الدروس والتي تشمل على:
  • كيفية استخدام مكتبة Room لتخزين وقراءة البيانات من قاعدة البيانات.
  • كيفية استخدام LiveData لملاحظة التغيرات على البيانات وتحديث الواجهة تبعا لذلك.
  • كيفية استخدام ViewModel لحفظ البيانات أثناء تدوير شاشة الجهاز.
  • كيفية استخدام مكتبة Data Binding لربط البيانات بالواجهات.

متطلبات المشروع

يجب أن يحتوي المشروع على المزايا التالية:
  • قم بتطوير Activity رئيسية تعرض المذكرات أو المهام في قائمة والتي يقوم بإضافتها المستخدم.
  • قم بتطوير Activity تمكن المستخدم من إدخال المذكرة أو المهمة الجديدة. هذه الـ activity تقوم بإرسال البيانات التي أدخلها المستخدم كنتيجة للـ activity التى استدعتها. ملاحظة: لا تسمح بارسال بيانات فارغة.
  • قم باستخدام الـ activity التي طورتها عن طريق اضافة زر لاضافة مذكرة جديدة داخل الـ activity الرئيسية التي تحتوي القائمة.
  • هذا التطبيق يوفر ثلاثة أنواع من المذكرات، ويجب عرض العنصر الخاص بكل مذكرة في القائمة على شكل CardView مختلف يحتوي البيانات ليعبر عن نوع المذكرة.
  • بالنسبه لطريقة العرض يمكنك استخدام StaggeredGridLayoutManager. حيث يتم استخدامه لاستبدال كل من GridLayoutManager و LinearLayoutManager في الـ RecyclerView لعرض العناصر بطريقة مميزة، و يمكنك التعرف عليه من خلال الرابط
  • يمكن للمستخدم الضغط على أي مذكرة ليتم التعديل على محتواها. لذلك ستحتاج إلى تطوير Activity لعرض تفاصيل المذكرة. كذلك يمكن إزالة مذكرة عن طريق الضغط المطول.
  • يجب إنشاء class ليمثل بيانات كل نوع من المذكرات. هذه الـ classes سيتم استخدامها في القائمة لعرض البيانات. ملاحظة: يمكنك استخدام مفهوم الوراثة Inheritance و جمل if لتتمكن من استخدام أكثر من class لعرض البيانات في قائمة واحدة.
  • نقاط اضافية: تغير خلفية المهم التي تم إنجازها للأخضر.

وكذلك يجب استخدام المفاهيم البرمجية التالية:

  • استخدام AndroidX
  • مكتبة Material Components
  • استخدام مكونات معمارية التطبيق مثل Room و LiveData و ViewModel و Data Binding

الشاشة الرئيسية

شاشة إضافة مذكرة

شاشة تفاصيل المذكرة

الرخصة

يمكنك الإطلاع على نسخة من الرخصة من هنا

License: MPL 2.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages