اليوم ، عندما كنت أشاهد رمز مصدر الآخرين ، اكتشفت بطريق الخطأ قطعة قاعدة بيانات مفيدة للغاية. دعني أشاركها هنا.
ما هو DBFLOW؟
DBFLOW هي مكتبة أدوات لنظام Android SQLite ORM الذي يستخدم معالجة التعليقات التوضيحية. ببساطة ، إنها مكتبة Java تعمل على قاعدة بيانات SQLite.
تعتبر ORM (رسم الخرائط المتعلقة بالأشياء) ، التي يتم ترجمتها كخريطة ارتباطية للكائنات باللغة الصينية ، تقنية لحل ظاهرة عدم التطابق بين قواعد البيانات الموجهة نحو الكائنات والعلائقية. ببساطة ، تستمر ORM تلقائيًا الكائنات في البرنامج في قاعدة بيانات علائقية باستخدام البيانات الوصفية التي تصف التعيين بين الكائن وقاعدة البيانات.
لماذا تستخدم DBFLOW؟
1. السرعة
استنادًا إلى معالجة التعليقات التوضيحية (معالج التعليقات التوضيحية) ، يتم إنشاء توليد الكود في وقت الترجمة ، وأداء وقت التشغيل ممتاز. من خلال الكائنات المتعددة وآليات التخزين المؤقت ، يتم الحصول على تجربة جيدة السرعة.
2. التوسيع
يتم تعيين نموذج البيانات إلى كائن بيانات ، ويرث فئة النموذج من خلال الكائن. بشكل عام ، يكفي أن ترث فئة basemodel وإضافة تعليقات توضيحية للأعضاء في الفصل لإنشاء النموذج المطلوب.
3. بيان الاستعلام
إذا كنت قد استخدمت مكتبات أخرى مثل Greendao ، فإن عبارات الاستعلام قريبة جدًا من عبارات SQL.
4. على أساس sqlite
لا يوجد أي قيود على النظام الأساسي ، يمكنك استخدام DBFLOW أينما يوجد SQLITE.
5. المصدر المفتوح
رمز المصدر أمر جيد ، ويمكن أن يتحقق من لديهم القدرة. https://github.com/raizlabs/dbflow
كيفية استخدام DBFlow
تكوين البيئة
بغض النظر عن ما تريد أن تتعلمه ، فإن البيئة هي الشيء الرئيسي. الخطوة الأولى لمكتبة من ثلاثة أحزاب هي استيراد مكتبة الفصل.
أضف أولاً عنوان Maven في Main Build.gradle:
allprojects {repositories {maven {url "https://jitpack.io"}}} ثانياً ، أضف تبعيات في وحدة الفئة الأساسية:
نسخة الكود كما يلي:
def dbflow_version = "4.2.4" تبعيات {enrotationProcessor "com.github.raizlabs.dbflow: dbflow-processor: $ {dbflow_version}" compile "com.github.Raizlabs.dbflow: dbflow-core: $ {dbflow_version} "com.github.raizlabs.dbflow: dbflow-rx2: $ {dbflow_version}" compile "com.github.Raizlabs.dbflow: dbflow-rx2: $ {dbflow_version}" compile "com.github.raizlabs.dbflow: dbflow: $ { }
إذا كنت بحاجة إلى إضافة رمز Kotlin ، فتحقق من عنوان رمز المصدر أعلاه وشاهد التعليمات أدناه.
يستخدم
أضف init في التطبيق
FlowManager.*init*(this) ؛
إنشاء قاعدة بيانات
database (name = dbflowdata.*dbname*، الإصدار = dbflowdata.*الإصدار*) الفئة العامة dbflowdata {السلسلة النهائية الثابتة العامة*dbname*= "dbflowdata" ؛ الإصدار النهائي الثابت العام *= 1 ؛ }استخدم قاعدة بيانات التعليقات التوضيحية ، إصدار قاعدة بيانات اسم قاعدة بيانات الاسم
إنشاء نموذج
Table (database = dbflowdata.class) فئة عامة dbflowModel يمتد basemodel {primarykey (autoincrement = true) public int id ؛ @Column اسم السلسلة العامة ؛ public int getId () {return id ؛ } public void setId (int id) {this.id = id ؛ } السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ }} استخدم كائنات قاعدة بيانات قاعدة بيانات الجدول التعليقات التوضيحية ، وسمات النماذج ، تستخدم التعليقات التوضيحية المختلفة ، والمفاتيح الأساسية الأولية ، وأعمدة colum.
ملاحظة: يتم توفير عواسك الأساسي الذي ورثناه هنا بواسطة DBFLOW ، ولا يمكن مورراها. الاختلافات مختلفة فقط من حيث الإضافة والحذف والتعديل والبحث.
بعد الإنشاء ، انقر فوق Build-> make وسيتم إنشاء الكود اللازم ضمن ../build/generated/source/apt/debug.
إدراج:
قم بإنشاء كائن نموذج ، بعد تعيين القيمة ، اتصل بالطريقة حفظ لإدراج العملية.
نسخة الكود كما يلي: dbflowmodel dbflowModel = جديد dbflowmodel () ؛ dbflowmodel.name = name ؛ dbflowmodel.save () ؛
يمسح:
رمز مشابه لبيانات SQL للعمل
sqlite.*delete*(). from (dbflowmodel.class). where (dbflowmodel_table.*id*.eq (id) ، dbflowmodel_table.*name*.eq (name)) .execute () ؛
استفسار:
هذا لديه العديد من عمليات الاستعلام المعقدة. إذا كنت تريد معرفة المزيد ، يرجى قراءة الوثائق الرسمية.
نسخة الكود كما يلي: قائمة <DBFlowModel> list = sqlite.*select*(). from (dbflowmodel.class) .QueryList () ؛
التجديد:
انهم جميعا متشابهة.
sqlite.*update*(dbflowmodel.class).
ملاحظة: بعد إنشاء نموذج جديد ، تحتاج إلى ترقية إصدار قاعدة البيانات ، وإلا سيتم الإبلاغ عن خطأ.
هنا سأقدم الاستخدام الأساسي لـ DBFLOW ، وخاصة لمشاركة وتسجيل بعض الأشياء المفيدة.
رمز المصدر: https://github.com/xiaogoudandan/williamapp
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.