recent
أخبار ساخنة

الموضوع العاشر: 📒 مشروع نهائي: تطبيق تدوين الملاحظات مع تحديد الموقع

📒 مشروع نهائي: تطبيق تدوين الملاحظات مع تحديد الموقع

📒 مشروع نهائي: تطبيق تدوين الملاحظات مع تحديد الموقع


في هذا المشروع، سننشئ تطبيقًا يسمح للمستخدم بكتابة ملاحظات، حفظها محليًا باستخدام TinyDB، مع إمكانية إضافة الموقع الجغرافي الحالي لكل ملاحظة باستخدام GPS.

🛠️ 1. التصميم (Designer)

  • TextBox (TextBoxNote): لإدخال نص الملاحظة.
  • Button (ButtonSave): لحفظ الملاحظة.
  • ListView (ListViewNotes): لعرض قائمة الملاحظات المخزنة.
  • LocationSensor (LocationSensor1): للحصول على الموقع.
  • TinyDB (TinyDB1): لتخزين الملاحظات.
  • Label (LabelStatus): لعرض حالة التطبيق.

🔧 2. البرمجة (Blocks)

🔹 عند الضغط على زر حفظ الملاحظة

when ButtonSave.Click do
  if TextBoxNote.Text = "" then
    set LabelStatus.Text to "الرجاء كتابة الملاحظة أولاً."
  else
    get currentLatitude ← LocationSensor1.Latitude
    get currentLongitude ← LocationSensor1.Longitude
    set noteText ← join(TextBoxNote.Text, " | الموقع: ", currentLatitude, ",", currentLongitude)

    // قراءة قائمة الملاحظات المخزنة
    set notesList ← TinyDB1.GetValue(tag="notes", valueIfTagNotThere=make empty list)

    // إضافة الملاحظة الجديدة
    add item noteText to list notesList

    // حفظ القائمة المحدثة
    call TinyDB1.StoreValue(tag="notes", valueToStore=notesList)

    // تحديث عرض القائمة
    set ListViewNotes.Elements to notesList

    // تنظيف مربع النص
    set TextBoxNote.Text to ""

    set LabelStatus.Text to "تم حفظ الملاحظة بنجاح."

🔹 عند تحميل التطبيق أو فتح الشاشة

when Screen1.Initialize do
  set notesList ← TinyDB1.GetValue(tag="notes", valueIfTagNotThere=make empty list)
  set ListViewNotes.Elements to notesList
  set LabelStatus.Text to "مرحبًا! يمكنك كتابة ملاحظتك."

🔹 عند اختيار ملاحظة من القائمة

when ListViewNotes.AfterPicking do
  call Notifier1.ShowMessageDialog(message=ListViewNotes.Selection, title="تفاصيل الملاحظة", buttonText="حسنًا")

📝 ملاحظات مهمة

  • تأكد من تمكين صلاحيات الموقع في الهاتف.
  • يمكن تطوير التطبيق لاحقًا بإضافة ميزات حذف أو تعديل الملاحظات.
  • التنسيق والترتيب يمكن تحسينهما لتجربة أفضل.

🎉 تهانينا! لقد تعلمت الآن بناء تطبيق عملي كامل يجمع بين المكونات الأساسية، التعامل مع الأحداث، تخزين البيانات، واستخدام GPS.

📚 يمكنك الرجوع إلى الفهرس الكامل للسلسلة لتراجع أي درس بسهولة.

google-playkhamsatmostaqltradent