PracticU

Saving Data on the Device

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA › Saving Data on the Device
מילון מושגים:
RAM - זיכרון הגישה האקראית של המחשב, מהיר ונדיף, שבו נשמרים נתונים ותוכניות בזמן ריצתם.
XML - שפת סימון לייצוג נתונים מובְנים בעזרת תגיות, המשמשת להחלפת מידע בין מערכות ולקובצי הגדרות.
JSON - פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.
CSV - קובץ טקסט פשוט לאחסון נתונים טבלאיים, שבו הערכים בכל שורה מופרדים בפסיקים.
בינארי - ייצוג מידע בבסיס 2 בעזרת הספרות 0 ו-1. גם קובץ הכולל קוד מכונה ולא טקסט קריא.
SQLite - מסד נתונים יחסי קל משקל ששמור בקובץ בודד, נפוץ ביישומים מקומיים ובאפליקציות מובייל.
CRUD - ראשי התיבות של ארבע הפעולות הבסיסיות על נתונים: יצירה, קריאה, עדכון ומחיקה.
DELETE - פקודת SQL למחיקת שורות מטבלה. גם שיטת HTTP לבקשת מחיקה של משאב בשרת.

Saving Data on the Device
מידע שנשמר במשתנים, באובייקטים ובקולקשנים נמצא ב-RAM ונעלם כשהאפליקציה נסגרת. כדי שהמידע ישרוד, שומרים אותו בדיסק של המכשיר, והשיעור סוקר את האפשרויות.
RAM מול דיסק
1. RAM: מהיר מאוד לקריאה ולכתיבה, אבל התוכן אובד עם סגירת האפליקציה ואי אפשר לשחזר אותו.
2. דיסק: מכיל תיקיות וקבצים (אפליקציות, תמונות, סאונד, וידאו, מסדי נתונים). איטי יותר מ-RAM, אבל המידע נשמר אחרי סגירת האפליקציה וניתן לטעון אותו בהרצה הבאה.
סוגי המידע שאפשר לשמור
1. Shared Preferences: זוגות של מפתח וערך, שמשמשים לשמירת העדפות המשתמש. נשמרים כ-XML לא מוצפן, ואת כל פריט משחזרים לפי המפתח.
2. קבצי טקסט: כל פורמט טקסטואלי, למשל פורמט משלנו, XML, JSON (מתאים לשליחה ולקבלה מאתר מרוחק) או CSV (ערכים מופרדים בפסיקים).
3. קבצים בינאריים: פורמט בינארי משלנו, תמונות, סאונד, וידאו.
4. מסד נתונים: באנדרואיד זה SQLite, מסד נתונים רלציוני עם טבלאות. עובדים מולו בשפת SQL, ומבצעים CRUD (create, read, update, delete) וסינון. אפשר לגשת אליו מכמה מקומות בו-זמנית בלי לנהל נעילות בעצמנו, בניגוד לקבצים.
הסדר בקורס: קודם Shared Preferences, ואחר כך קבצים ומסדי נתונים.
אחרי השיעור אפשר להסביר מתי כדאי לשמור מידע בדיסק ולבחור בין ארבעת סוגי האחסון.
השיעור הבא בקורס: Save and Load Shared Preferences

פרקי ההרצאה: Saving Data on the Device

  1. 00:00

    זיכרון RAM ונדיפות המידע

  2. 00:41

    שמירה קבועה בדיסק המכשיר

  3. 01:37

    Shared Preferences כזוגות מפתח וערך

  4. 02:15

    קבצי טקסט, XML, JSON ו-CSV

  5. 03:13

    מסד הנתונים SQLite

תמלול ההרצאה: Saving Data on the Device

הטקסט המלא של הדקות הראשונות בהרצאה «Saving Data on the Device» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:19

    המידע הזה נשמר באזור זיכרון שנקרא ראם, Random Access Memory. האזור הזה הוא מאוד מהיר לצורך כתיבה ולצורך קריאה, אבל ברגע שהאפליקציה נסגרת, כל מה ששמרנו נעלם.

  3. 00:35

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

  4. 00:50

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

  5. 01:07

    הטיבה והקריאה הם יותר איטיים מאשר הרם אבל המידע נשמר אפילו שהאפליקציה נסגרת ואז כאשר פותחים את האפליקציה אפשר לשחזר את המידע ולהמשיך לעבוד איתו איזה סוגי מידע אנחנו יכולים לשמור בתוך הדיסק דבר ראשון יש לנו משהו שנקרא shared preferences תכף נראה מה זה אומר אנחנו יכולים לשמור קבצי טקסט אנחנו יכולים לשמור קבצים בינאריים

  6. 01:35

    ואנחנו יכולים לשמור מסד נתונים. מה זה Shared Preferences? Shared Preferences אלו Key Value Pairs, כלומר זוגות-זוגות שכל זוג מכיל מפתח ואת הפריט עצמו.

  7. 01:53

    משמש עבור שמירת העדפות של המשתמש עבור האפליקציה שלנו, מה שנקרא Preferences. המידע נשמר בצורה לא מוצפנת כמידע XMLי במכשיר עצמו.

  8. 02:08

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

  9. 02:28

    קבצי XML מכילים מידע בתגיות. קבצי JSON מכילים מידע בפורמט JSON שמיועד יותר לשליחה לאתר מרוחק או לקבלה מאתר מרוחק, קבצי CSV קיצור של Comma Separated Values כלומר מידע מופרד עם פסיקים, או כל פורמט טקסטואלי אחר שאנחנו רוצים.

  10. 02:55

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

  11. 03:15

    דאטאבייסים הדאטאבייס שקיים בתוך מכשיר אנדרואיד נקרא sqlite database זה הסוג שלו. הדאטאבייס הזה נחשב relational database כלומר המידע שנמצא בו קיים בתוך טבלאות.

  12. 03:32

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

  13. 03:50

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

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

ההרצאה הקודמת: Create Intent Service

ההרצאה הבאה: Save and Load Shared Preferences

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

  • Device Events
  • Data Contracts
  • Data Driven Test - חלק 1
  • Variables and Data Types

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

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