2009-10-18 17 views
6

मैं अपने ऐप को त्वरित खोज में कार्यान्वित करने की कोशिश कर रहा हूं, जैसा कि एपीडीमोस 'ऐप/सर्च/इनवोक सर्च "में किया जाता है। मैंने कोड को कॉपी करने के लिए एपीडीमोस में बिल्कुल अलग-अलग उदाहरणों का पालन करने की कोशिश करने से सबकुछ करने की कोशिश की है।एंड्रॉइड ऐप खोज बटन

मैंने जो कुछ पाया है, वह सब एसडीके के पुराने संस्करणों से चिंतित है, और बस काम नहीं किया है। सामान है कि मैं वास्तव चलाने के लिए और ApiDemos में काम कर देख सकते हैं के रूप में, मैं कॉपी करने की कोशिश की है निम्नलिखित

com.example.android.apis.app.SearchInvoke.java 
com.example.android.apis.app.SearchQueryResults.java 
com.example.android.apis.app.SearchSuggestionSampleProvider.java 

res/layout/search_invoke.xml 
res/layout/search_query_results.xml 
res/values/arrays.xml 
res/values/strings.xml 
res/xml/searchable.xml 

... and everything under "Search Samples" in AndroidManifest.xml 

यह नकल मुझे, एक राय यह है कि ठीक एक मैं जब ApiDemos चल सामना करना पड़ रहा हूँ की तरह लग रहा हो जाता है लेकिन जब मैं खोज बटन पर क्लिक करता हूं, त्वरित खोज बॉक्स में, Android हमेशा दिए गए क्वेरी के लिए Google खोज परिणामों के साथ ब्राउज़र ब्राउज़र खोलता है। मुझे एपीडीमोस में महत्वपूर्ण घटक नहीं मिल रहा है जो एंड्रॉइड को बताता है कि मैं खोज अनुरोध को संभालने के लिए अपने स्वयं के कस्टम कोड का उपयोग करना चाहता हूं।

मैं वास्तव में इस मामले में कुछ मदद की सराहना करता हूं। जब इसकी बात आती है तो दोनों दस्तावेज और अन्य ऑनलाइन संसाधनों में बहुत कमी होती है।

धन्यवाद।

उत्तर

10

संदर्भ के लिए, चार महीने (और भगवान जानता है कि कितने प्रयास) बाद में, मुझे उस दस्तावेज का हिस्सा मिला है जिसे मैंने याद किया है, जिसमें पूरा खोज बॉक्स ब्राउज़र खोज परिणामों को आग लगाना चाहता था उन्हें अपनी गतिविधि में गुजरना। यह सब एक छोटे से ध्यान में नीचे आता है here पाया:

ध्यान दें कि सभी उपयोगकर्ता के लिए दृश्यमान तार "@string" संदर्भ के रूप में प्रदान किया जाना चाहिए। हार्ड-कोडेड तार, जिसे स्थानीयकृत नहीं किया जा सकता है, खोज मेटाडेटा में ठीक से काम नहीं करेगा।

+0

वाह खोलने के बजाय स्वयं खोज परिणामों को नियंत्रित करने देता है। यह वही है जो मेरी समस्या को ठीक करता है - यह परीक्षण करते समय हार्ड-कोडित स्ट्रिंग मान स्वीकार नहीं करेगा। मैंने इसे स्ट्रिंग्स.एक्सएमएल में रेफ्स का उपयोग करने के लिए परिवर्तित कर दिया और यह काम नहीं करता है। – DustinB

+0

@ डेविड धन्यवाद बहुत कुछ। मैं सिर्फ एक दिन से अधिक समय तक अटक गया था क्योंकि मैंने स्ट्रिंग को हार्डकोड किया था। एक बार और धन्यवाद। :) – FireAndIce

1

पहले this पढ़ने का प्रयास करें। यदि इससे मदद नहीं मिलती है, तो आप मेरी पुस्तकों में से किसी एक से search example को देखने का प्रयास कर सकते हैं - यह उदाहरण त्वरित खोज बॉक्स के साथ एकीकृत करता है, और शायद यह आपको अधिक सुराग देगा।

+0

हाय। आपकी टिप्पणी के लिए धन्यवाद, लेकिन न तो आपके द्वारा लिंक किए गए संसाधन, या आपके द्वारा प्रदान किए गए उदाहरण कोड, मेरे लिए काम करते हैं। खोज बटन वैश्विक खोज ui को आमंत्रित करता है, जो मैं चाहता हूं, लेकिन इसमें कुछ भी टाइप करने से केवल डिफ़ॉल्ट सुझाव मिलते हैं, और खोज बटन को मारने से हमेशा एक वेब दृश्य खुलता है। मैं चाहता हूं कि खोज बटन के क्लिक को कैप्चर करना है, और अपना खुद का परिणाम देखें। मुझे एक सुझाव प्रदाता की भी आवश्यकता नहीं है, अगर मैं सिर्फ खोज काम कर सकता हूं। निश्चित रूप से, यह काफी कामयाब होना चाहिए ...? –

+0

नहीं, यह ऐसा करने योग्य नहीं है, फर्मवेयर को संशोधित करने से कम, या शायद एक खोज बॉक्स के साथ प्रतिस्थापन होम ऐप लिखना जो आपके इच्छित तरीके से व्यवहार करता है। – CommonsWare

+0

फिर, क्या यह नहीं है, कहें, बाजार कर रहा है? या खोज ApiDemos में डेमो आमंत्रित करें। वे दोनों खोजों के उदाहरण हैं जो डिवाइस के खोज बटन के क्लिक पर दिखाई देते हैं, और जब दिखाई देने वाले दृश्य में बटन क्लिक किया जाता है, तो वे नियमित Google खोज परिणामों के साथ वेबव्यू खोलने के बजाय अपना स्वयं का परिणाम दृश्य उत्पन्न करते हैं ...? –

0

मैं गलत था से पहले ... SDK दस्तावेज़ SearchManager मेरा सुझाव है कि आप पर एक नज़र के लिए डॉक्स में एक thurough व्याख्या है। इसके अलावा, कॉमन्सवेयर का उल्लेख है, blog entry भी एक अच्छा संसाधन है।

संबंधित मुद्दे