Android開發指南(36) —— Search

來源:互聯網
上載者:User

 

前言

  本章內容為Android開發人員指南的 Framework Topics/Search章節,譯為"搜尋",版本為Android 4.0 r1,翻譯來自:"獃獃大蝦",歡迎訪問他的微博:"http://weibo.com/popapa",再次感謝"獃獃大蝦" !期待你一起參與翻譯Android的相關資料,聯絡我over140@gmail.com。

 

聲明

  歡迎轉載,但請保留文章原始出處:) 

    部落格園:http://www.cnblogs.com/

    Android中文翻譯組:http://androidbox.sinaapp.com/

 

 

搜尋

譯者署名: 獃獃大蝦

譯者微博:http://weibo.com/popapa

版本:Android 4.0 r1

原文

         http://developer.android.com/guide/topics/search/index.html

 

主題

建立搜尋介面

增加最近查詢的建議

增加自訂建議項

參考

搜尋設定檔

相關樣本

帶檢索功能的字典

 

  搜尋是Android的核心功能。使用者應該能夠搜尋任何資料,包括裝置上和互連網上的內容。為了建立統一的使用者體驗,Android為應用程式提供了搜尋方塊架以實現搜尋功能。

 

1. 搜尋對話方塊的螢幕,帶有自訂的搜尋建議項。

 

搜尋方塊架提供了兩種搜尋內容錄入模式:位於螢幕頂部的搜尋對話方塊、可嵌入activity layout的搜尋小組件widget(SearchView)。無論採用哪種模式,Android系統都會把搜尋請求發送到執行搜尋的指定activity。還可以讓搜尋方塊或widget使用使用者定義的搜尋建議項。圖1展示了帶有可選搜尋建議項的搜尋方塊範例。

一旦建立了搜尋對話方塊或搜尋widget,就可以:

·       啟用語音搜尋

·       根據使用者最近的請求提供搜尋建議項

·       提供符合應用程式實際資料的自訂搜尋建議項

·       將應用程式的搜尋建議項提交給系統級“快速搜尋框”

注意: 搜尋方塊架並不提供搜尋資料的API。為了實際執行搜尋,還需要根據資料選用相應的API。比如,假設資料存放區在SQLite資料庫中,就應該使用android.database.sqlite API來完成搜尋。

此外,不是所有裝置都保證提供一個專用的搜尋按鈕來觸發搜尋介面。如果使用了搜尋對話方塊或者自訂介面,必須自行在使用者介面上提供一個搜尋按鈕,用於啟用搜尋介面。詳情請參閱提交搜尋對話方塊。

 

以下文檔展示了如何用Android搜尋方塊架來實現搜尋:

建立搜尋介面

如何在應用程式中使用搜尋對話方塊及搜尋widget。

增加最近查詢的建議項

如何根據之前提交過的查詢給出搜尋建議。

增加自訂建議項

如何根據程式自訂資料給出搜尋建議,並把建議項提交給系統級“快速搜尋框”。

搜尋設定檔

搜尋設定檔的參考文檔(其它文檔可能也已從其它角度對設定檔進行過論述了)。

 

 

保護使用者隱私

在程式中實現搜尋功能時,應該採取一些措施保護使用者的隱私。很多使用者把手機上的activity——包括搜尋——視為私人資訊。為了保護所有使用者的隱私,應該遵守以下原則:

· 不要把個人資訊發送到伺服器上去,必須要傳送的話也不要把資訊記錄下來。

個人資訊是指能夠單獨標識使用者的任何資訊,如姓名、email地址、賬單資訊或其它與這些資訊關聯的資料。如果應用程式需要伺服器支援才能完成搜尋,請避免在搜尋請求中發送個人資訊。例如,假設要搜尋某個郵遞區號附近的商店,就沒必要同時發送使用者ID,僅把郵遞區號發到伺服器即可。如果必鬚髮送個人資訊,那就不要記錄這些資訊。如果必須記錄下來,請非常仔細的保護這些資料並要儘快刪除。

· 清空搜尋曆史資料以保護使用者隱私。

搜尋方塊架會協助程式給出與使用者鍵入內容相關的搜尋建議,有時這些建議是根據之前的搜尋內容或者使用者以前的其它操作而作出的。使用者可能並不期望他以前的搜尋內容泄露給其他使用這個裝置的使用者,比如使用者是與朋友合用一個裝置的。如果應用程式給出的搜尋建議可能會暴露以前的搜尋activity,就應該向使用者提供清除搜尋曆史的功能。如果用到了SearchRecentSuggestions,則簡單地調用clearHistory()方法即可。如果是要實現自訂建議功能,那就不必在使用者啟動並執行content provider中提供類似“清除曆史”的方法了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.