ספקי תוכן יכולים לעזור לאפליקציה לנהל את הגישה לנתונים שנשמרו בה או באפליקציות אחרות, ולספק דרך לשתף נתונים עם אפליקציות אחרות. הם עוטפים את הנתונים ומספקים מנגנונים להגדרת אבטחת הנתונים. ספקי התוכן הם הממשק הרגיל שמקשר נתונים בתהליך אחד לקוד שפועל בתהליך אחר.
להטמעת ספק תוכן יש יתרונות רבים. החשוב ביותר הוא שאפשר להגדיר ספק תוכן כך שיאפשר לאפליקציות אחרות לגשת לנתוני האפליקציה שלכם ולשנות אותם באופן מאובטח, כפי שמתואר באיור 1.
![תרשים סקירה כללית של האופן שבו ספקי תוכן מנהלים את הגישה לאחסון.](https://developer.android.google.cn/static/guide/topics/providers/images/content-provider-overview.png?authuser=3&hl=he)
איור 1. תרשים סקירה כללית של האופן שבו ספקי תוכן מנהלים את הגישה לאחסון.
אם אתם מתכננים לשתף נתונים, כדאי להשתמש בספקי תוכן. אם אתם לא מתכננים לשתף נתונים, אתם לא חייבים להשתמש בהם, אבל כדאי לעשות זאת כי הם מספקים רמה גבוהה של הפשטה שמאפשרת לבצע שינויים בהטמעה של אחסון הנתונים של האפליקציה בלי להשפיע על אפליקציות אחרות שמסתמכות על הגישה לנתונים שלכם.
בתרחיש הזה, רק ספק התוכן מושפע ולא האפליקציות שמקבלות גישה אליו. לדוגמה, אפשר להחליף מסד נתונים של SQLite באחסון חלופי, כפי שמתואר באיור 2.
![איור של העברת אחסון של ספק תוכן.](https://developer.android.google.cn/static/guide/topics/providers/images/content-provider-migration.png?authuser=3&hl=he)
איור 2. איור של העברת אחסון של ספק תוכן.
מספר כיתות אחרות מסתמכות על הכיתה ContentProvider
:
אם אתם משתמשים באחת מהכיתות האלה, עליכם להטמיע ספק תוכן באפליקציה. כשעובדים עם מסגרת המתאם לסנכרון, אפשר גם ליצור ספק תוכן סטאב (stub) כחלופה. למידע נוסף, ראו יצירת ספק תוכן סטאטי. בנוסף, צריך ספק תוכן משלכם במקרים הבאים:
- כדי להטמיע באפליקציה הצעות חיפוש בהתאמה אישית.
- כדי לחשוף את נתוני האפליקציה לווידג'טים.
- כדי להעתיק ולהדביק נתונים או קבצים מורכבים מהאפליקציה שלכם לאפליקציות אחרות.
מסגרת Android כוללת ספקי תוכן שמנהלים נתונים כמו אודיו, וידאו, תמונות ופרטי איש קשר אישיים. חלק מהם מפורטים במסמכי העזרה של החבילה android.provider
. כל אפליקציה ל-Android יכולה לגשת לספקים האלה, עם הגבלות מסוימות.
אפשר להשתמש בספק תוכן כדי לנהל את הגישה למגוון מקורות של אחסון נתונים, כולל נתונים מובְנים, כמו מסד נתונים יחסיים של SQLite, או נתונים לא מובְנים, כמו קובצי תמונות. מידע נוסף על סוגי האחסון שזמינים ב-Android זמין במאמרים סקירה כללית על אחסון נתונים וקבצים ו תכנון אחסון נתונים.
היתרונות של ספקי התוכן
ספקי התוכן מציעים שליטה מפורטת על ההרשאות לגישה לנתונים. אתם יכולים להגביל את הגישה רק לספק תוכן שנמצא באפליקציה, להעניק הרשאה כללית לגשת לנתונים מאפליקציות אחרות או להגדיר הרשאות שונות לקריאה ולכתיבה של נתונים. למידע נוסף על שימוש מאובטח בספקי תוכן, אפשר לעיין ב טיפים לאבטחת אחסון נתונים וב הרשאות של ספקי תוכן.
אתם יכולים להשתמש בספק תוכן כדי להסתיר את הפרטים לגבי הגישה למקורות נתונים שונים באפליקציה. לדוגמה, יכול להיות שהאפליקציה שלכם שומרת רשומות מובנות במסד נתונים של SQLite, וגם קובצי וידאו ואודיו. אתם יכולים להשתמש בספק תוכן כדי לגשת לכל הנתונים האלה.
בנוסף, אובייקטים מסוג CursorLoader
מסתמכים על ספקי תוכן כדי להריץ שאילתות אסינכררוניות ולאחר מכן להחזיר את התוצאות לשכבת ממשק המשתמש באפליקציה. למידע נוסף על שימוש ב-CursorLoader
כדי לטעון נתונים ברקע, ראו
מטענים.
בנושאים הבאים מוסבר בהרחבה על ספקי תוכן:
- מושגי יסוד לספקי תוכן
- איך לגשת לנתונים ולעדכן אותם באמצעות ספק תוכן קיים.
- יצירת ספק תוכן
- איך מתכננים ומטמיעים ספק תוכן משלכם.
- סקירה כללית על ספקי יומנים
- איך ניגשים לספק היומן שחלק מפלטפורמת Android.
- ניהול אנשי הקשר
- איך ניגשים לספק אנשי הקשר שמהווה חלק מפלטפורמת Android.