Android पर, खोज करने की सुविधा उपयोगकर्ताओं के लिए एक अहम सुविधा है. उपयोगकर्ताओं के पास, उनके लिए उपलब्ध किसी भी डेटा को खोजने की सुविधा होनी चाहिए. भले ही, वह कॉन्टेंट डिवाइस पर मौजूद हो या इंटरनेट पर. Android, उपयोगकर्ताओं को एक जैसा खोज अनुभव देने के लिए, एक सर्च फ़्रेमवर्क उपलब्ध कराता है. इससे आपको अपने ऐप्लिकेशन में खोज की सुविधा लागू करने में मदद मिलती है.

पहली इमेज. खोज के लिए कस्टम सुझावों वाला डायलॉग बॉक्स.
सर्च फ़्रेमवर्क, खोज के लिए दो तरह के इनपुट मोड उपलब्ध कराता है: स्क्रीन के सबसे ऊपर मौजूद सर्च डायलॉग या सर्च विजेट (SearchView
). इसे गतिविधि के लेआउट में एम्बेड किया जा सकता है. दोनों ही मामलों में, Android सिस्टम खोज की सुविधा को लागू करने में आपकी मदद करता है. इसके लिए, वह खोज क्वेरी को खोज करने वाली किसी खास गतिविधि तक पहुंचाता है. उपयोगकर्ता के टाइप करते समय खोज के सुझाव देने के लिए, खोज डायलॉग या विजेट को भी चालू किया जा सकता है. पहली इमेज में, खोज के डायलॉग का उदाहरण दिखाया गया है. इसमें खोज से जुड़े सुझाव भी दिए गए हैं.
सर्च डायलॉग या सर्च विजेट सेट अप करने के बाद, ये काम किए जा सकते हैं:
- बोलकर खोजने की सुविधा चालू करें.
- उपयोगकर्ता की हाल ही की क्वेरी के आधार पर खोज के सुझाव देना.
- खोज के लिए ऐसे सुझाव दें जो आपके ऐप्लिकेशन के डेटा में मौजूद असल नतीजों से मेल खाते हों.
- सिस्टम-वाइड क्विक सर्च बॉक्स में, अपने ऐप्लिकेशन के खोज सुझाव दिखाएं.
ध्यान दें: खोज फ़्रेमवर्क, आपके डेटा को खोजने के लिए एपीआई उपलब्ध नहीं कराता है. खोज करने के लिए, आपको अपने डेटा के हिसाब से एपीआई का इस्तेमाल करना होगा. उदाहरण के लिए, अगर आपका डेटा किसी SQLite डेटाबेस में सेव है, तो खोज करने के लिए android.database.sqlite
एपीआई का इस्तेमाल करें.
इसके अलावा, इस बात की कोई गारंटी नहीं है कि किसी डिवाइस में खोज के लिए खास तौर पर SEARCH बटन दिया गया हो, जो आपके ऐप्लिकेशन में खोज इंटरफ़ेस को चालू करता हो. सर्च डायलॉग या कस्टम इंटरफ़ेस का इस्तेमाल करते समय, आपको अपने यूज़र इंटरफ़ेस (यूआई) में एक सर्च बटन देना होगा. इससे सर्च इंटरफ़ेस चालू हो जाता है. ज़्यादा जानकारी के लिए, खोज डायलॉग बॉक्स को चालू करना लेख पढ़ें.
इन पेजों पर, Android के फ़्रेमवर्क का इस्तेमाल करके खोज की सुविधा लागू करने का तरीका बताया गया है:
- सर्च इंटरफ़ेस बनाना
- खोज डायलॉग या खोज विजेट का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन को सेट अप करने का तरीका.
- हाल ही की क्वेरी के सुझाव जोड़ें
- पहले इस्तेमाल की गई क्वेरी के आधार पर सुझाव देने का तरीका.
- पसंद के मुताबिक सुझाव जोड़ना
- अपने ऐप्लिकेशन के कस्टम डेटा के आधार पर सुझाव कैसे दिए जाएं और उन्हें सिस्टम-वाइड क्विक सर्च बॉक्स में कैसे दिखाया जाए.
- खोजे जा सकने वाले कॉन्फ़िगरेशन
- खोजे जा सकने वाले कॉन्फ़िगरेशन फ़ाइल के लिए रेफ़रंस दस्तावेज़. अन्य दस्तावेज़ों में भी, कॉन्फ़िगरेशन फ़ाइल के बारे में बताया गया है. हालांकि, इनमें खास तौर पर कुछ व्यवहारों के बारे में बताया गया है.
उपयोगकर्ता की निजता की सुरक्षा करना
अपने ऐप्लिकेशन में खोज की सुविधा लागू करते समय, उपयोगकर्ता की निजता बनाए रखने के लिए ज़रूरी कदम उठाएं. कई लोग, फ़ोन पर की गई अपनी गतिविधियों को निजी जानकारी मानते हैं. इनमें खोजें भी शामिल हैं. उपयोगकर्ताओं की निजता की सुरक्षा के लिए, इन सिद्धांतों का पालन करें:
- सर्वर को निजी जानकारी न भेजें. अगर आपको ऐसा करना ही है, तो इसे लॉग न करें.
निजी जानकारी ऐसी जानकारी होती है जिससे आपके उपयोगकर्ताओं की पहचान की जा सकती है. जैसे, उनके नाम, ईमेल पते, बिलिंग की जानकारी या ऐसा अन्य डेटा जिसे इस जानकारी से तार्किक रूप से लिंक किया जा सकता है. अगर आपका ऐप्लिकेशन, सर्वर की मदद से खोज की सुविधा लागू करता है, तो खोज क्वेरी के साथ निजी जानकारी न भेजें. उदाहरण के लिए, अगर आपको किसी पिन कोड के आस-पास मौजूद कारोबारों को खोजना है, तो आपको उपयोगकर्ता आईडी भेजने की ज़रूरत नहीं है. सर्वर को सिर्फ़ पिन कोड भेजें. अगर आपको निजी जानकारी भेजनी है, तो उसे लॉग न करें. अगर आपको इसे लॉग करना ही है, तो इस डेटा को बहुत सावधानी से सुरक्षित रखें और इसे जल्द से जल्द मिटा दें.
- उपयोगकर्ताओं को खोज इतिहास मिटाने का तरीका बताएं.
सर्च फ़्रेमवर्क की मदद से, आपका ऐप्लिकेशन उपयोगकर्ता के टाइप करते समय, संदर्भ के हिसाब से सुझाव दे पाता है. कभी-कभी ये सुझाव, पिछली खोजों या उपयोगकर्ता की ओर से पिछले सेशन में की गई अन्य कार्रवाइयों के आधार पर दिए जाते हैं. ऐसा हो सकता है कि कोई व्यक्ति, डिवाइस इस्तेमाल करने वाले अन्य लोगों को अपनी पिछली खोजों के बारे में न बताना चाहे. अगर आपका ऐप्लिकेशन ऐसे सुझाव देता है जिनसे पिछली खोज गतिविधियों का पता चल सकता है, तो उपयोगकर्ता को खोज इतिहास मिटाने का विकल्प दें. अगर
SearchRecentSuggestions
का इस्तेमाल किया जा रहा है, तोclearHistory()
तरीके को कॉल किया जा सकता है. अगर आपको कस्टम सुझाव लागू करने हैं, तो आपको अपने कॉन्टेंट प्रोवाइडर में "इतिहास मिटाएं" जैसा तरीका उपलब्ध कराना होगा, ताकि उपयोगकर्ता उसे लागू कर सके.