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

איור 1. תיבת דו-שיח לחיפוש עם הצעות מותאמות אישית לחיפוש.
מסגרת החיפוש מציעה שני מצבים של קלט חיפוש: תיבת דו-שיח של חיפוש בחלק העליון של המסך או ווידג'ט חיפוש (SearchView
) שאפשר להטמיע בפריסת הפעילות. בכל מקרה, מערכת Android מסייעת בהטמעת החיפוש על ידי העברת שאילתות חיפוש לפעילות ספציפית שמבצעת חיפושים. אפשר גם להפעיל את תיבת הדו-שיח או את הווידג'ט של החיפוש כדי לספק הצעות לחיפוש בזמן שהמשתמש מקליד. איור 1 מציג דוגמה לתיבת הדו-שיח של החיפוש עם הצעות חיפוש אופציונליות.
אחרי שמגדירים את תיבת הדו-שיח של החיפוש או את ווידג'ט החיפוש, אפשר:
- הפעלת החיפוש הקולי.
- הצגת הצעות לחיפושים על סמך שאילתות משתמשים מהזמן האחרון.
- הצגת הצעות מותאמות אישית לחיפוש שתואמות לתוצאות בפועל בנתוני האפליקציה.
- הצגת הצעות חיפוש של האפליקציה בתיבת החיפוש המהיר בכל המערכת.
הערה: מסגרת החיפוש לא מספקת ממשקי API לחיפוש הנתונים. כדי לבצע חיפוש, צריך להשתמש בממשקי API שמתאימים לנתונים שלכם. לדוגמה, אם הנתונים שלכם מאוחסנים במסד נתונים של SQLite, תוכלו להשתמש בממשקי android.database.sqlite
API כדי לבצע חיפושים.
בנוסף, אין ערובה לכך שמכשיר יספק לחצן חיפוש ייעודי שמפעיל את ממשק החיפוש באפליקציה שלכם. כשמשתמשים בתיבת הדו-שיח של החיפוש או בממשק מותאם אישית, צריך לספק לחצן חיפוש בממשק המשתמש שמפעיל את ממשק החיפוש. מידע נוסף זמין במאמר בנושא הפעלת תיבת הדו-שיח של החיפוש.
בדפים הבאים מוסבר איך להשתמש במסגרת של Android כדי להטמיע חיפוש:
- יצירת ממשק חיפוש
- איך מגדירים את האפליקציה לשימוש בתיבת הדו-שיח או בווידג'ט החיפוש.
- הוספת הצעות לשאילתות מהזמן האחרון
- איך מספקים הצעות על סמך שאילתות שהיו בשימוש בעבר.
- הוספת הצעות מותאמות אישית
- איך מספקים הצעות על סמך נתונים בהתאמה אישית מהאפליקציה ומציעים אותן בתיבת החיפוש המהיר בכל המערכת.
- הגדרה שניתן לחפש
- מסמך עזר לקובץ התצורה שאפשר לחפש בו. במסמכים האחרים יש גם דיון בקובץ ההגדרות מבחינת התנהגויות ספציפיות.
הגנה על פרטיות המשתמשים
כשמטמיעים חיפוש באפליקציה, חשוב לנקוט צעדים להגנה על פרטיות המשתמש. משתמשים רבים רואים בפעילויות שלהם בטלפון – כולל חיפושים – מידע פרטי. כדי להגן על פרטיות המשתמשים, חשוב לפעול בהתאם לעקרונות הבאים:
- אל תשלחו פרטים אישיים לשרתים – ואם אתם חייבים, אל תרשמו אותם ביומן.
מידע אישי הוא כל מידע שיכול לזהות את המשתמשים שלכם באופן אישי, כמו השמות, כתובות האימייל, פרטי החיוב או נתונים אחרים שאפשר לקשר באופן סביר למידע כזה. אם האפליקציה שלכם מטמיעה חיפוש בעזרת שרת, אל תשלחו פרטים אישיים יחד עם שאילתות החיפוש. לדוגמה, אם אתם מחפשים עסקים ליד מיקוד מסוים, אתם לא צריכים לשלוח גם את מזהה המשתמש. אתם יכולים לשלוח לשרת רק את המיקוד. אם אתם חייבים לשלוח מידע אישי, אל תרשמו אותו ביומן. אם אתם חייבים לרשום את הנתונים האלה, עליכם להגן עליהם בקפידה ולמחוק אותם בהקדם האפשרי.
- לספק למשתמשים דרך למחוק את היסטוריית החיפושים שלהם.
מסגרת החיפוש עוזרת לאפליקציה לספק הצעות ספציפיות להקשר בזמן שהמשתמש מקליד. לפעמים ההצעות האלה מבוססות על חיפושים קודמים או על פעולות אחרות שהמשתמש ביצע בסשן קודם. יכול להיות שמשתמש לא ירצה שחיפושים קודמים שלו ייחשפו למשתמשים אחרים במכשיר. אם האפליקציה שלכם מספקת הצעות שיכולות לחשוף פעילויות חיפוש קודמות, צריך להטמיע דרך למשתמש לנקות את היסטוריית החיפושים שלו. אם אתם משתמשים ב-
SearchRecentSuggestions
, אתם יכולים להפעיל את השיטהclearHistory()
. אם אתם מטמיעים הצעות בהתאמה אישית, אתם צריכים לספק בנותן התוכן שלכם שיטה דומה של 'ניקוי ההיסטוריה' שהמשתמש יכול להפעיל.