首页 > 编程知识 正文

map box android,quick app是干嘛的

时间:2023-05-06 15:30:03 阅读:34021 作者:1384

原文链接:

3358 blog.csdn.net/ma yingcai 1987/archive/2011/03/21/6265797.aspx (1) ) ) ) ) ) )。

3358 blog.csdn.net/ma yingcai 1987/archive/2011/03/22/6268732.aspx (2) ) ) ) )。

3358 blog.csdn.net/ma yingcai 1987/archive/2011/03/23/6270881.aspx (三) ) ) ) ) )。

Android中的全局搜索(快速搜索盒详细信息(1) ) ) ) ) ) ) ) ) ) )。

1 .全球搜索(快速搜索盒)介绍:

“全局搜索盒”(QuickSearchBox )是安卓系统的本机APP应用程序,主要功能是接收用户的搜索请求,并将搜索请求传递给支持全局搜索的用户

APP应用程序使APP应用程序执行搜索操作,并将搜索结果返回到全局搜索APP应用程序。 全局搜索APP应用程序根据搜索结果呈现UI界面,当用户单击搜索结果项时

相应的APP应用程序将打开,其中包含搜索结果的详细信息。

2 .全球搜索(QuickSearchBox )技术架构:

Android系统的全局搜索由四大部分组成:搜索管理器、全局搜索app构件、全局搜索APP应用程序和支持全局搜索的APP应用程序(联系人、音乐、浏览器等)

)1)框架层搜索管理器(SearchManager ) :主要功能是支持Android系统的全局搜索,使Android系统能够

启动完成后,将发送系统启动完成(BOOT_COMPLETED )广播,当搜索管理器收到此广播时,它将在包管理器中进行搜索

中支持全局搜索的APP应用程序(后面的文章将介绍APP应用程序如何支持全局搜索。 支持此全局搜索的APP应用程序称为搜索源。 搜索管理器将解析搜索

搜索源配置信息,并将这些配置信息封装为对象并存储在列表列表中,以便在全局搜索APP应用程序中使用。

)2)全局搜索app构件) app构件是搜索的入口,如果用户需要使用全局搜索,请单击添加到桌面的全局搜索app构件以打开全局搜索APP应用程序。

)3)全局搜索APP应用程序(QuickSearchBox ) :主要角色是接受用户的输入请求,启动异步搜索并查看搜索结果。

)4)启用全局搜索的APP应用程序)需要为每个启用全局搜索的APP应用程序实施一个内容提供程序,通过该内容提供程序向外部提供数据,然后使用全局搜索APP应用程序(quick SSSS )

3 .搜索执行的全过程:

Android系统启动完成、系统启动完成(BOOT_COMPLETED )广播、搜索管理器)搜索管理器

服务)接收到此广播后,它使用PackageManager在系统中搜索支持全局搜索的APP应用程序,并解析这些APP应用程序的配置信息。 在结构信息中

获取支持全局搜索APP应用程序的内容提供程序的authority和其他部署信息,这些部署信息由APP应用程序的开发者部署),然后封装并存储在对象中

在List中,用户单击Launcher全局搜索的app构件组件,然后打开“全局搜索APP应用程序”(QuickSearchBox )主界面,并单击界面的

在搜索输入框中输入搜索后,搜索管理器(搜索管理器)将显示“全局搜索APP应用程序”(QuickSearchBox )

Service (在中,检索与全局搜索对应的所有APP应用程序List,解析它们的配置信息,基于配置信息(authority等)将组作为URI,基于URI调用

支持全局搜索APP应用程序的内容提供程序。 contentprovider查询方法基于URI搜索数据,并将搜索结果设置为Cursor类型

返回表达式,全局搜索APP应用程序解析这些数据,并将其作为列表显示在UI界面中。

Android中的全局搜索(快速搜索盒详细信息(2) ) ) ) ) ) ) ) ) )。

1 .标题:

如何让APP应用程序完全支持搜索

2 .引言:

要使APP应用程序支持全局搜索,必须配置一组APP应用程序,并且可以从外部访问的内容提供者必须搜索APP应用程序

(快速搜索盒)提供搜索结果。 根据配置信息,搜索框架将APP应用程序识别为搜索源。 搜索APP应用程序)快速搜索盒)也是可能的

解析配置信息组并将其与URI请求APP应用程序的ContentProvider绑定,以检索搜索结果。

3 .实现配置:

1.APP应用程序必须存在活动。 此Activity在AndroidManifest.xml中的基本配置如下:

(searchable.xml )

谈谈这个活动的作用:

第一,这样的活动必须存在于你的APP应用中。 因为你被安排了,所以我用红色

注释标注的代码后,这个Activity可以被识别为搜索源,

你的应用支持全局搜索了。

第二,当搜索出結果信息后单击某一个結果项后会打开这个Activity显示搜索出的内容。

2. searchable.xml最基本,最简单配置:

android:label=”@string/search_label”

android:includeInGlobalSearch=”true”

android:searchSuggestAuthority=”com.focus.FISH_ME_AUTHORITY”

android:searchSuggestIntentAction=”com.focus.FISH_ME”>

这个文件的属性介绍会在后面的文章讲到。

3. 在AndroidManifest.xml文件中配置ContentProvider:

android:name = “FishMeProvider”

android:authorities= “com.focus.FISH_ME_AUTHORITY”

/>

4. 如何构建Content Provider:

在QuickSearchBox中通过ContentResolver调用内容提供者的query(Uri, String[], String, String[], String)方法进行信息搜索,应用程序必须实

现这个方法并且返回搜索到的Cursor对象。

下面将对ContentProvider的query方法的参数进行说明:

第一个参数(uri):

content://authority/suggestion.path/search_suggest_query/queryStr?limit=50

authority:对应searchable.xml文件中的android:searchSuggestAuthority属性。

suggestion.path:对应searchable.xml文件中的android:searchSuggestPath属性。

search_suggest_query : 固定字符串。

queryStr: 查询字符串。

limit : 查询条数。

第二个参数(projection):一直为null。

第三个参数(selection):对应searchable.xml文件中android:searchSuggestSelection属性,ContentProvider的query方法将会调用SQLite数据

库的Query方法,用这个参数组成SQL语句中where后面的条件,如:where name like ?,”name like ? ”就是selection参数的值,注意,

android:searchSuggestSelection属性中配置的查询条件不能用“AND”或“OR”等符号连接多个条件(不能写成:“name like ? AND age like ?”)。

第四个参数(selectionArgs):如果searchable.xml文件中android:searchSuggestSelection属性值不为空,程序会将查询字符串做为这个数组

的第一个元素,也是唯一的元素,在上面第三个参数中定义了查询条件,这个参数的作用是给查询条件中的问号赋值。

第五个参数:一直为null。

该方法将搜索到的数据以cursor对象的形式返回。

Android中全局搜索(QuickSearchBox)详解(三)

1. 标题:

支持全局搜索的应用程序的配置文件介绍

2. 引言:

在全局搜索应用程序(QuickSearchBox)进行搜索或打开相关应用程序显示搜索結果时,从搜索源(支持全局搜索的应用程序)中获取配置信

息,根据配置信息可以组拼成URI 请求搜索源的ContentProvider 或构建Intent 打开搜索应用显示搜索結果, 等.

3. 配置介绍:

在应用程序的res目录中新建xml目录,在xml目录中新建searchable.xml文件,默认配置为:

xmlns:android = “http://schemas.android.com/apk/res/android”

android:label = “@string/app_label”

>

属性:

(1)android:label (String字符串,必须存在,一般为应用程序中Activity或Application的名称,在配置中包含

android:includeInGlobalSearch属性时起作用,在设置搜索范围时显示应用名称)。

(2)android:hint (String字符串,搜索输入框中的提示信息,格式为:”Search ***”)。

(3)android:searchMode (关键词,当搜索結果列表中的某一项获得焦点时,使用这一项的某些值进行重新搜索,信息包括二种,第一,

“queryRewriteFromData”,使用搜索結果Cursor中的”SUGGEST_COLUMN_INTENT_DATA”列值,第二,”queryRewriteFromText”,

使用搜索結果Cursor中的”SUGGEST_COLUMN_TEXT_1″列值)。

(4) android:searchButtonText (String字符串,搜索按钮提示内容,默认是图片)。

(5)android:inputType (关键词,搜索框输入法类型)。

(6)android:imeOptions (关键词,搜索框输入法的设置选项)。

(7)android:searchSuggestAuthority (String字符串,提供搜索功能的ContentProvider的Authority)。

(8)android:searchSuggestPath (String字符串,请求搜索ContentProvider的URI的建议路径)。

(9)android:searchSuggestSelection (String字符串,Where条件,例:”uri like ?”)。

(10)android:searchSuggestIntentAction (String字符串,单击搜索結果列表中的某一项时,发出Intent对象中的Action)。

(11)android:searchSuggestIntentData (String字符串,单击搜索結果列表中的某一项时,发出Intent对象中的Data)。

(12)android:searchSuggestThreshold (int值,输入多少个字符后开始搜索)。

(13)android:includeInGlobalSearch (boolean值,是否支持全局搜索QuickSearchBox))。

(14)android:searchSettingsDescription (String字符串,搜索设置的描述信息)。

(15)android:queryAfterZeroResults (boolean值,”true”,”false”如果搜索結果为零,下次搜索时则不会使用搜索源搜索,重启

SearchDialog后又可搜索)。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。