שילוב תכונות חיפוש של Android באפליקציה

אפשר לנסות את הדרך של כתיבת הודעה
‫Jetpack Compose היא ערכת הכלים המומלצת לבניית ממשק משתמש ב-Android. איך מוסיפים פונקציית חיפוש במצב כתיבה

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

איור 1. תיבת דו-שיח לחיפוש עם הצעות לחיפוש בהתאמה אישית.

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

אחרי שמגדירים את תיבת הדו-שיח של החיפוש או את ווידג'ט החיפוש, אפשר:

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

הערה: מסגרת החיפוש לא מספקת ממשקי API לחיפוש הנתונים. כדי לבצע חיפוש, צריך להשתמש בממשקי API שמתאימים לנתונים שלכם. לדוגמה, אם הנתונים שלכם מאוחסנים במסד נתונים של SQLite, אתם יכולים להשתמש בממשקי android.database.sqlite API כדי לבצע חיפושים.

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

בדפים הבאים מוסבר איך להשתמש במסגרת של Android כדי להטמיע חיפוש:

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

הגנה על פרטיות המשתמשים

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

  • אל תשלחו פרטים אישיים לשרתים – ואם אתם חייבים, אל תרשמו אותם ביומן.

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

  • לספק למשתמשים דרך למחוק את היסטוריית החיפושים שלהם.

    מסגרת החיפוש עוזרת לאפליקציה לספק הצעות ספציפיות להקשר בזמן שהמשתמש מקליד. לפעמים ההצעות האלה מבוססות על חיפושים קודמים או על פעולות אחרות שהמשתמש ביצע בסשן קודם. יכול להיות שמשתמש לא ירצה שחיפושים קודמים שלו ייחשפו למשתמשים אחרים במכשיר. אם האפליקציה מספקת הצעות שיכולות לחשוף פעילויות חיפוש קודמות, צריך להטמיע דרך למשתמש לנקות את היסטוריית החיפושים שלו. אם אתם משתמשים ב-SearchRecentSuggestions, אתם יכולים להפעיל את השיטה clearHistory(). אם אתם מטמיעים הצעות בהתאמה אישית, אתם צריכים לספק שיטה דומה ל'ניקוי ההיסטוריה' בספק התוכן שלכם, שהמשתמש יוכל להפעיל.