SQLDelight: الشروع في العمل

أردت تجربة SQLDelight ، مكتبة (ومكوِّن IntelliJ الإضافي) التي تنشئ نماذج Java بناءً على عبارات SQL. لقد استغرق الأمر بعض الوقت حتى أعمل ، وأحاول فهم المفاهيم. لذلك هذا هو دليلي للبدء.

الخطوة الأولى: تثبيت الشيء

في هذا المثال ، سأستخدم AutoValue من Google ، فلماذا لا. إليك ما يجب إضافته إلى ملفات إنشاء gradle.

بالإضافة إلى تغيير الدرجة < ، قد ترغب في تثبيت SQLDelight IntelliJ Plugin. انتقل إلى التفضيلات ثم المكونات الإضافية ثم تصفح المستودعات . ابحث عن المكون الإضافي وثبته ، وأعد تشغيل Android Studio:

كلنا مثبتون ومستعدون للانطلاق …

الخطوة الثانية: كتابة عبارات SQL

يتيح الحصول على بنية المجلد بالترتيب أولاً. انتقل إلى دليل ../src/main وأنشئ مجلدًا باسم “ sqldelight “.
من داخل هذا الدليل ، تحتاج إلى نسخ بنية الحزمة الخاصة بك إلى حيث سنقوم بتخزين النماذج الخاصة بك. مثال:

تخبر الصورة ألف كلمة ، وإليك ما تبدو عليه أدلتي:

حتى الآن ، داخل مجلد sqldelight / {your_structure} أنشئ ملفًا. في هذا المثال ، سأقوم بإنشاء قاعدة بيانات جهات اتصال (نعم ، أصلية ، أعلم) .
لذا أنشئ ملف Contact.sq ​​. سيضم هذا الملف بيان إنشاء الجدول وأي استفسارات لهذا الجدول.

يجب أن تكون العبارة الأولى في هذا الملف هي عبارة CREATE TABLE ؛

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

الخطوة الثالثة: الإنشاء

أنشئ مشروعك ، لم يحدث شيء ، أم فعلت ذلك؟ نعم ، تم إنشاء نماذج SQLDelight. ابحث عن ContactModel وسترى.

الخطوة الرابعة: صنع النماذج

ماذا؟ SQLDelight فعل ذلك بالفعل. نعم ، لكنها ليست مفيدة بعد.
أنشئ نموذجًا يسمى “جهة الاتصال” في حزمة نموذج التطبيقات ، وعلق عليه بـ AutoValue ، واجعله مجردًا ، و تنفيذ ContactModel .

الآن لإنشاء بعض الطرق التي ستساعدنا لاحقًا.

الخطوة الخامسة: استخدم الأشياء

أنشئ فئة SQLiteOpenHelper ، شيء مثل هذا:

اعتنت SQLDelight بهذا الأمر بشكل جيد لنا 🙂

هنا حيث يصبح الأمر رائعًا (حسنًا ، قد يتعين علينا تعريف “رائع”):

لقد أدخلنا للتو صفًا ، رائعًا وبسيطًا.

لقد حصلنا للتو على جميع جهات الاتصال ، وقد تولى SQLDelight مهمة التخطيط لنا 🙂

لقد حذفنا للتو جهة اتصال

لقد انتهينا جميعًا الآن.

لقد كتبت هذا لمحاولة تبسيط عملية التثبيت والإعداد. استخدام المعلومات من المواقع / المدونات التالية:

.. وأخيرًا ، أوصي بشدة باستخدام Facebook Stetho للمساعدة في تصحيح أخطاء قاعدة البيانات ، فضلاً عن إمكانات تصحيح أخطاء الشبكة الرائعة.