PracticU

חיבור למסד נתונים SQLite - חלק 3

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA › חיבור למסד נתונים SQLite - חלק 3
מילון מושגים:
מסד נתונים - אוסף מאורגן של נתונים המאוחסן כך שאפשר לשמור, לחפש, לעדכן ולשלוף אותו ביעילות, לרוב באמצעות שפת שאילתות.
SQLite - מסד נתונים יחסי קל משקל ששמור בקובץ בודד, נפוץ ביישומים מקומיים ובאפליקציות מובייל.
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
טבלה - מבנה במסד נתונים שמאחסן נתונים בשורות ועמודות. כל שורה היא רשומה וכל עמודה היא שדה.
בנאי - מתודה מיוחדת שמופעלת אוטומטית בעת יצירת אובייקט ממחלקה, ומאתחלת את ערכיו ההתחלתיים.
DELETE - פקודת SQL למחיקת שורות מטבלה. גם שיטת HTTP לבקשת מחיקה של משאב בשרת.
Integer - סוג נתונים למספר שלם, כלומר מספר ללא חלק עשרוני.
מפתח ראשי - עמודה או צירוף עמודות שמזהים באופן ייחודי כל שורה בטבלת מסד נתונים.

חיבור למסד נתונים SQLite - חלק 3
איך יוצרים מסד נתונים SQLite בתוך אפליקציית אנדרואיד? בשיעור בונים מחלקה שיורשת מ-SQLiteOpenHelper ומגדירה בה את הטבלה הראשונה.
השלבים העיקריים
1. המחלקה: מחלקה בשם Database שיורשת מ-SQLiteOpenHelper. הבנאי קורא ל-super עם ה-Context של האפליקציה (MyApp.getContext()), שם למסד (למשל ProductsDatabase), null במקום ה-factory שלא בשימוש, ומספר גרסה (כאן 1).
2. שתי הפונקציות החובה: onCreate ו-onUpgrade. מקבלים בהן אובייקט SQLiteDatabase, שדרכו מבצעים פעולות על המסד.
3. onCreate: מתבצעת אוטומטית כשמבצעים פעולה על המסד והוא עדיין לא קיים, למשל בהרצה הראשונה. כאן יוצרים את כל הטבלאות עם execSQL.
4. onUpgrade: מתבצעת כשהגרסה הקיימת ישנה מהגרסה שכתובה בקוד, למשל אחרי שדרוג של האפליקציה. אפשר להחליט לשנות את המסד, או למחוק וליצור מחדש. בדוגמה קוראים ל-drop table products ויוצרים אותה לפי onCreate.
5. יצירת אובייקט: ב-MainActivity מגדירים שדה מסוג Database ויוצרים אותו. משם אפשר לבנות את פעולות ה-insert, update, delete ו-select.
פקודות והגדרות
הפקודה שיוצרת את הטבלה כוללת:
- create table products
- id integer primary key autoincrement: מספר שלם שהוא גם מפתח ראשי, והמסד נותן אותו אוטומטית.
- name text not null: מחרוזת שחובה לספק.
- price real default 0: מספר עשרוני, והמשתמש לא חייב להכניס ערך.
שימו לב
SQL אינו תלוי רישיות ברוב המקרים. מקובל לכתוב את פקודות השפה באותיות קטנות או לפי קונבנציה קבועה. אם אתם לא מכירים SQL, כדאי ללמוד את הבסיס שלה.
כעת אפשר ליצור מסד נתונים עם טבלה בתוך אפליקציית אנדרואיד ולהתחיל לכתוב פעולות עליו.
השיעור הבא בקורס: חיבור למסד נתונים SQLite - חלק 4

פרקי ההרצאה: חיבור למסד נתונים SQLite - חלק 3

  1. 00:00

    מחלקה היורשת SQLiteOpenHelper

  2. 00:36

    בנאי עם שם וגרסת מסד הנתונים

  3. 01:29

    הפונקציות onCreate ו-onUpgrade

  4. 02:42

    הרצת פקודות SQL עם execSQL

  5. 03:19

    כתיבת שאילתת CREATE TABLE

תמלול ההרצאה: חיבור למסד נתונים SQLite - חלק 3

הטקסט המלא של הדקות הראשונות בהרצאה «חיבור למסד נתונים SQLite - חלק 3» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:00

    אז הדבר הראשון שאנחנו הולכים לראות זה איך ליצור את הדאטאבייס. מה שאנחנו הולכים לעשות זה לעבוד עם מחלקה שנקראת sqlite open helper ולמעשה אנחנו הולכים לבנות מחלקה משלנו שיורשת את sqlite open helper ובה אנחנו מבצעים את כל הפעולות שאנחנו רוצים לעשות על הדאטאבייס.

  2. 00:22

    אז בואו ניצור כאן מחלקה באמת בואו נקרא לה דאטאבייס פשוט ו-nirash extends at sqlite open helper. קודם כל, אנחנו רוצים לבנות איזשהו קונסטרקטור, בואו נבנה פה public database, ובקונסטרקטור אנחנו רוצים לגשת ל-super ולשלוח את הקונטקסט.

  3. 00:49

    הקונטקסט שלנו נגיש על ידי myapp.getcontext. זאת אומרת, sqlite open helper דורשת איזשהו קונטקסט ואנחנו מביאים לה את הקונטקסט של האפליקציה.

  4. 01:02

    הדבר הבא, אנחנו צריכים לומר איזה דאטאבייס אנחנו רוצים לבנות, כלומר מה השם שלו. אם אנחנו מתעסקים עם מוצרים, בואו נניח שכל האפליקציה שלנו מתעסקת עם מוצרים, אז בואו נקרא לכל הדאטאבייס כולו "ProductsDatabase", הוא כמובן יהיה רק של האפליקציה שלנו.

  5. 01:20

    לאחר מכן יש לנו איזשהו משתנה מסוג קורס או פקטורי שאנחנו לא מבצעים בו שימוש כרגע, נעביר לו נ"ל, ואז את המספר גרסה של הדאטאבייס וזה יהיה אחד כרגע.

  6. 01:35

    אחרי שבנינו את הקונסטרקטור אנחנו צריכים לממש שתי פונקציות. בואו ניגש ונלחץ כאן על implement methods ושתי הפונקציות הן onCreate ו-onUpgrade. onCreate זאת פונקציה שאוטומטית מתבצעת במידה ואנחנו מבצעים איזושהי פעולה על הדאטאבייס אבל הדאטאבייס לא קיים.

  7. 02:00

    דוגמה בפעם הראשונה שהיוזר מריץ את האפליקציה שלנו ומבצע פעולה על הדאטאבייס. ב-onCreate אנחנו רוצים ליצור את הדאטאבייס מ-0.

  8. 02:11

    onUpgrade תתבצע במידה והגרסה שקיימת היא ישנה יותר מהגרסה שכתובה כאן. נניח אם אנחנו מבצעים איזשהו שדרוג לאפליקציה והיוזר מוריד את השדרוג.

  9. 02:24

    ב-onUpgrade אנחנו מחליטים מה אנחנו רוצים לעשות, האם אנחנו רוצים לשנות את הדאטאבייס, אם אנחנו רוצים למחוק אותו וליצור אותו מחדש, אז בואו נבנה את onCreate ואת onUpgrade.

  10. 02:36

    ב-onCreate אנחנו רוצים לגשת לדאטאבייס עצמו, ואת זה אנחנו עושים על ידי המשתנה db שקיבלנו לתוך הפונקציה.

  11. 02:45

    אנחנו רואים שקיבלנו משתנה מסוג sqliteDatabase, וזה משתנה שמאפשר לנו לבצע פעולות על הדאטאבייס עצמו.

  12. 02:53

    אז אנחנו רוצים לקרוא לפונקציה שנקראת execsql ולתת לה פקודת sql, שיוצרת את כל הטבלאות כרגע אנחנו מתעסקים עם טבלה אחת אז בואו נכתוב פקודת sql שיוצרת טבלה.

  13. 03:08

    במידה ואתם לא כל כך מכירים את שפת sql כדאי לכם לגשת לאיזשהו אתר אינטרנט וללמוד את שפת sql שהיא שפה מאוד מאוד פשוטה הבסיס שלה לפחות בכדי שיהיה לכם את היכולת לבצע פעולות על הדאטאבייס כמו queries כמו insert update delete וכדומה.

  14. 03:30

    אז בואו נכתוב שאילתת sql שיוצרת טבלה. אז יש לנו פה את הפקודה create table ושימו לב ששפת sql היא לא k-sensitive ברוב המקרים אבל מאוד מקובל שהפקודות של שפת sql עצמה יהיו באותיות דלות ושאר הדברים לדוגמה שמות של טבלאות או שמות של עמודות יהיו בשמות שאנחנו מחליטים או בconvention

  15. 03:56

    שלנו. קריאי טייבל ואנחנו רוצים ליצור טבלה שנקראת פרודקטס ואנחנו רוצים שיהיה לה ID והוא יהיה

לקורס המלא: קורס פיתוח אפליקציות לאנדרואיד

ההרצאה הקודמת: חיבור למסד נתונים SQLite - חלק 2

ההרצאה הבאה: חיבור למסד נתונים SQLite - חלק 4

הרצאות קשורות מקורסים אחרים

  • חיבור אפליקציה למסד נתונים
  • קורס PHP - הרצאה 10 - חיבור למסד נתונים
  • חיבור למסד נתונים - Connection String
  • יצירת אפליקציה עם חיבור למסד נתונים

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון