איך להשתמש בתוספי SQLite מותאמים אישית ב-Capacitor
SQLite סטנדרטי עובד עבור רוב המשימות. לעיתים תזדקקו ליותר.
ייתכן שתזדקקו ל-tokenizer מותאם אישית עבור שפות מסוימות. ייתכן שתזדקקו לפונקציות מתמטיות מותאמות אישית או לעיבוד טקסט מיוחד. אלו נקראים loadable extensions.
התוסף Capacitor SQLite תומך בהם ב-Android וב-iOS.
למה להשתמש בתוספים?
- FTS5 tokenizers מותאמים אישית: שליטה באופן שבו הטקסט מתפצל לצורך חיפוש.
- פונקציות SQL מותאמות אישית: הרצת לוגיקה מורכבת קרוב לנתונים שלכם.
המימוש משתנה בהתאם לפלטפורמה.
Android
ה-SQLite של מערכת Android אינו תומך בטעינת תוספים באופן ישיר. עליכם להשתמש ב-requery backend.
- הפעילו את אפשרות ה-
requeryבקובץvariables.gradleשלכם. - הוסיפו את מאגר ה-JitPack לקובץ
build.gradleשלכם. - קמפלו את קוד ה-C שלכם לספריות native (קבצי
.so) עבור כל ארכיטקטורת CPU. - הניחו את הקבצים הללו בתיקיית
jniLibs. - השתמשו באפשרות
androidExtensionsבעת פתיחת מסד הנתונים.
iOS
אפליקציות iOS אינן יכולות לטעון ספריות דינמיות בזמן ריצה (runtime). עליכם לקשר (link) את התוסף שלכם באופן סטטי.
- הוסיפו את קובץ מקור ה-C שלכם לפרויקט ה-Xcode שלכם.
- הגדירו את דגל הקומפיילר
-DSQLITE_COREעבור אותו קובץ. - הצהירו על פונקציית ה-
initב-bridging header שלכם. - רשמו את התוסף ב-
AppDelegateשלכם באמצעותsqlite3_auto_extension.
קוד ה-C עבור התוסף שלכם נשאר זהה. רק שלבי הבנייה והרישום משתנים.
ברגע שהוא נטען, התוסף המותאם אישית שלכם עובד בדיוק כמו תכונה מובנית של SQLite. תוכלו להשתמש ב-tokenizer או בפונקציה החדשה שלכם בשאילתות ה-SQL שלכם באופן מיידי.
תוספים מותאמים אישית מעניקים לכם את העוצמה של קוד native בתוך מסד הנתונים הנייד שלכם.
מקור: https://dev.to/capawesome/how-to-use-custom-sqlite-extensions-in-capacitor-l5k