- android
- android.accessibilityservice
- android.accounts
- android.content
- android.database.sqlite
- android.graphics
- android.location
- android.media
- android.net
- android.os
- android.text
- android.view
- android.view.inputmethod
- android.widget
- AbsListView
- AbsoluteLayout
- AbsSeekBar
- AbsSpinner
- AdapterView
- AnalogClock
- BaseAdapter
- BaseExpandableListAdapter
- Button
- CheckBox
- CheckedTextView
- Checkable
- Chronometer
- CompoundButton
- CursorAdapter
- CursorTreeAdapter
- DatePicker
- DialerFilter
- DigitalClock
- EditText
- Filter
- Filter.FilterListener
- Filter.FilterResults
- ExpandableListAdapter
- Filterable
- Gallery
- Gallery.LayoutParams
- GridView
- GridLayout
- RadioGroup
- ImageView
- HorizontalScrollView
- ImageButton
- ImageSwitcher
- FilterQueryProvider
- ListAdapter
- ListView
- MediaController
- QuickContactBadge
- RadioButton
- RatingBar
- RelativeLayout
- RemoteViews
- ResourceCursorAdapter
- ResourceCursorTreeAdapter
- Scroller
- ScrollView
- SearchView
- SeekBar
- SeekBar.OnSeekBarChangeListener
- SimpleAdapter
- SimpleCursorAdapter
- SimpleCursorTreeAdapter
- SimpleExpandableListAdapter
- SlidingDrawer
- Spinner
- SpinnerAdapter
- WrapperListAdapter
- TabHost
- TabHost.TabSpec
- TextView
- TimePicker
- Toast
- TableLayout
- TableRow
- TableRow.LayoutParams
- TabWidget
- TextSwitcher
- ToggleButton
- TwoLineListItem
- VideoView
- ViewAnimator
- ViewFlipper
- ViewSwitcher
- ZoomButtonsController
- ZoomButton
- ZoomControls
- dalvik.system
搜索
译者微博: 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 中提供类似“清除历史”的方法了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论