編輯:Android開發實例
前言
本章內容為Android開發者指南的 Framework Topics/Search章節,譯為"搜索",版本為Android 4.0 r1,翻譯來自:"呆呆大蝦"。
搜索
譯者署名: 呆呆大蝦
譯者微博: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中提供類似“清除歷史”的方法了。
這個功能可以幫你實現,在圖片上進行隨意的塗抹,可以用於SNS產品。 繪圖本身很簡單,但是要實現在圖片上指定的部分精確(位置,縮放)的繪圖,就有點麻煩了。 下面講講
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個
目前有越來越多的手機具備自動對焦的拍攝功能,這也意味著這些手機可以具備條碼掃描的功能。手機具備條碼掃描的功能,可以優化購物流程,快速存儲電子名片(二維碼)等。 本