在app应用中,至少要执行如下的三个步骤,才能让app应用能够进行检索。如果要提供搜索建议,还需要执行第4步:
编写搜索配置的XML文件
编写搜索的activity类
在Android的manifest.xml文件中,对两面两个步骤的工作进行配置。
如果要使用搜索建议,则需要增加一个contentprovider。
配置搜索的XML配置文件
首先看下如何配置搜索的XML配置文件。先命名配置文件名称为searchable.xml,保存在res/xml文件夹中。然后需要设置搜索框的文本,并且应该增加一个hint的提示文本信息,如下代码所示:
<searchable xmlns:android="http://schemas.android.com/apk/res/android" android:label="@string/search_label">android:hint="@string/search_hint" </searchable>
关于搜索配置文件有很多的配置选项,建议参考Android的手册可以获得更多:
http://developer.android.com/guide/topics/search/searchable-config.html。
增加搜索的Activity
当用户进行搜索时,Android调用activity进行搜索,代码如下:
publicclass SampleSearchActivity extends ListActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState)handleIntent(getIntent())}public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState) handleIntent(getIntent()) } public void onNewIntent(Intent intent) { setIntent(intent) handleIntent(intent) } public void onListItemClick(ListView l, View v, int position, long id) { // 点每个搜索结果时的处理代码 } private void handleIntent(Intent intent) { if (Intent.ACTION_SEARCH.equals(intent.getAction())) { String query = intent.getStringExtra(SearchManager.QUERY) doSearch(query) } } private void doSearch(String queryStr) { //执行真正的查询结果处理 } }
在上面的代码中,在handleIntent方法中,当按下搜索按钮,系统就会自动发送Intent,action是Intent.ACTION_SEARCH,然后通过intent.getStringExtra(SearchManager.QUERY)获得要搜索的字符串。
其中为什么要包含onNewIntent()方法呢?主要是因为Android的back后退机制。Android会默认把每一个新的activity放到activity栈的顶部。如果用户点了后退键,则会关闭栈顶部的activity。尝试考虑一种情况,用户搜索一个内容并且系统列出了结果,如果用户发现结果不是他所要的,或者希望重新检索,则会重新点击搜索按键,这样将会产生一个新的搜索activity的实例,在activity栈中就会有两个搜索的activity,这是开发者并不期待的,所以,需要将这个搜索的activity声明为singleTop类型的activity,这样的话,无论用户按返回键还是尽心个多次的搜索,在acitivty栈中始终保持的是一个搜索activity的实例。因为当activity被设置为singleTop的加载模式时,如果堆栈的顶部已经存在了该Activity,那么,它便不会重新创建,而是调用onNewIntent。如果,该Activity存在,但不是在顶部,那么该Activity依然要重新创建。
mainifest配置文件
接下来,需要对manifest配置文件进行配置,必须要对其中进行如下配置:
搜索的activity.
使用搜索的intent
activity启动模式
searchable.xml中的元数据
更多的定义搜索的元数据
下面是典型的一个搜索的配置
<application android:icon="@drawable/icon" android:label="@string/app_name" android:name=".YourApp" ><meta-data android:name="android.app.default_searchable" android:value=".YourSearchActivity" /><activity android:label="@string/app_name" android:launchMode="singleTop" android:name=".YourSearchActivity" ><intent-filter ><action android:name="android.intent.action.SEARCH" /></intent-filter><intent-filter ><action android:name="android.intent.action.VIEW" /></intent-filter><meta-data android:name="android.app.searchable" android:resource="@xml/searchable" /></activity></application>
在上面的典型配置中,要注意如下几点:
1)由于当调用搜索activity时,Android调用的是android.intent.action.SEARCH作为搜索的intent,所以必须在intent-filter中包含android.intent.action.SEARCH。
2)在<meta-data>中,指出了searchable.xml的位置
3)同样在<meta-data>中,通过:
<meta-data android:name="android.app.default_searchable" android:value=".YourSearchActivity" />
指出了当执行搜索的字符串提交时,将调用哪一个activity去进行处理。
谢谢兄弟,我需要先提交检索关键词BAG73500BAA87885BAH12888等到网站http://www.ncbi.nlm.nih.gov/protein
检索,然后从返回的网页提取那些内容。检索词最好放在一个文本文件query中。
一、对IE浏览器产生破坏的网页病毒:(一).默认主页被修改
1.破坏特性:默认主页被自动改为某网站的网址。
2.表现形式:浏览器的默认主页被自动设为如********.COM的网址。
3.清除方法:采用手动修改注册表法,开始菜单->运行->regedit->确定,打开注册表编辑工具,按顺序依次打开:HKEY_LOCAL_USER\Software\Microsoft\Internet Explorer\Main 分支,找到Default_Page_URL键值名(用来设置默认主页),在右窗口点击右键进行修改即可。按F5键刷新生效。
危害程度:一般
(二).默认首页被修改
1.破坏特性:默认首页被自动改为某网站的网址。
2.表现形式:浏览器的默认主页被自动设为如********.COM的网址。
3.清除方法:采用手动修改注册表法,开始菜单->运行->regedit->确定,打开注册表编辑工具,按如下顺序依次打开:HKEY_LOCAL_USER\Software\Microsoft\Internet Explorer\Main分支,找到StartPage键值名(用来设置默认首页),在右窗口点击右键进行修改即可。按F5键刷新生效。
危害程度:一般
(三).默认的微软主页被修改
1.破坏特性:默认微软主页被自动改为某网站的网址。
2.表现形式:默认微软主页被篡改。
3.清除方法:
(1)手动修改注册表法:开始菜单->运行->regedit->确定,打开注册表编辑工具,按如下顺序依次打开:HKEY_LOCAL_MACHINE\Software\Microsoft\InternetExplorer\Main 分支,找到Default_Page_URL键值名(用来设置默认微软主页),在右窗口点击右键,将键值修改为 http://www.microsoft.com/windows/ie_intl/cn/start/ 即可。按F5键刷新生效。
(2)自动文件导入注册表法:请把以下内容的任意文件名存在C盘的任一目录下,然后执行此文件,根据提示,一路确认,即可显示成功导入注册表。
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main] "default_page_url"="http://www.microsoft.com/windows/ie_intl/cn/start/"
危害程度:一般
四).主页设置被屏蔽锁定,且设置选项无效不可更改
1.破坏特性:主页设置被禁用。
2.表现形式:主页地址栏变灰色被屏蔽。
3.清除方法:
(1)手动修改注册表法:开始菜单->运行->regedit->确定,打开注册表编辑工具,按如下顺序依次打开:HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\分支,新建“ControlPanel”主键,然后在此主键下新建键值名为“HomePage”的DWORD值,值为“00000000”,按F5键刷新生效。
(2)自动文件导入注册表法:请把以下内容输入或粘贴复制到记事本内,以扩展名为reg的任意文件名存在C盘的任一目录下,然后执行此文件,根据提示,一路确认,即可显示成功导入注册表。
REGEDIT4
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel] "HomePage"=dword:00000000
危害程度:轻度
(五).默认的IE搜索引擎被修改
1.破坏特性:将IE的默认微软搜索引擎更改。
2.表现形式:搜索引擎被篡改。
3.清除方法:
(1)手动修改注册表法:开始菜单->运行->regedit->确定,打开注册表编辑工具,第一,按如下顺序依次打开:HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Search分支,找到“SearchAssistant”键值名,在右面窗口点击“修改”,即可对其键值进行输入为: http://ie.search.msn.com/{SUB_RFC1766}/srchasst/srchasst.htm ,然后再找到“CustomizeSearch”键值名,将其键值修改为: http://ie.search.msn.com/{SUB_RFC1766}/srchasst/srchasst.htm ,按F5键刷新生效。
(2)自动文件导入注册表法:请把以下内容输入或粘贴复制到记事本内,以扩展名为reg的任意文件名存在C盘的任一目录下,然后执行此文件,根据提示,一路确认,即可显示成功导入注册表。
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\InternetExplorer\Search] "SearchAssistant"="http://ie.search.msn.com/{SUB_RFC1766}/srchasst/srchasst.htm" "CustomizeSearch"="http://ie.search.msn.com/{SUB_RFC1766}/srchasst/srchasst.htm"
危害程度:一般
(六).IE标题栏被添加非法信息
1.破坏特性:通过修改注册表,使IE标题栏被强行添加宣传网站的广告信息。
2.表现形式:在IE顶端蓝色标题栏上多出了什么“正点网,即使正点网! http://www.zhengdian.com "尾巴。
3.清除方法:
(1)手动修改注册表法:开始菜单->运行->regedit->确定,打开注册表编辑工具,第一,按如下顺序依次打开:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main分支,找到“Window Title”键值名,输入键值为Microsoft Internet Explorer,按F5刷新。
第二,按如下顺序依次打开:HKEY_CURRENT_MACHINE\Software\Microsoft\InternetExplorer\Main分支,找到“Window Title”键值名,输入键值为Microsoft Internet Explorer,按F5刷新生效。
(2)自动文件导入注册表法:请把以下内容输入或粘贴复制到记事本内,以扩展名为reg的任意文件名存在C盘的任一目录下,然后执行此文件,根据提示,一路确认,即可显示成功导入注册表。
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]"Window Title"="Microsoft Internet Explorer"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main]"Window Title"="Microsoft Internet Explorer"
危害程度:一般
(七).OE标题栏被添加非法信息破坏特性:
破坏特性:通过修改注册表,在微软的集成电子邮件程序Microsoft Outlook顶端标题栏添加宣传网站的广告信息br]
表现形式:在顶端的Outlook Express蓝色标题栏添加非法信息。
清除方法:(1)手动修改注册表法:开始菜单->运行->regedit->确定,打开注册表编辑工具,按如下顺序依次打开:HKEY_LOCAL_USER\Software\Microsoft\Outlook Express分支,找到WindowTitle以及Store Root键值名,将其键值均设为空。按F5键刷新生效。
(2)自动文件导入注册表法:请把以下内容输入或粘贴复制到记事本内,以扩展名为reg的任意文件名存在C盘的任一目录下,然后执行此文件,根据提示,一路确认,即可显示成功导入注册表。
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Outlook Express]"WindowTitle"="""Store Root"=""
危害程度:一般
(八).鼠标右键菜单被添加非法网站链接:
1.破坏特性:通过修改注册表,在鼠标右键d出菜单里被添加非法站点的链接。
2.表现形式:添加“网址之家”等诸如此类的链接信息。
3.清除方法:(1)手动修改注册表法:开始菜单->运行->regedit->确定,打开注册表编辑工具,按如下顺序依次打开:HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\MenuExt分支,在左边窗口凡是属于非法链接的主键一律删除,按F5键刷新生效。
4.危害程度:一般
(九).鼠标右键d出菜单功能被禁用失常:
1.破坏特性:通过修改注册表,鼠标右键d出菜单功能在IE浏览器中被完全禁止。
2.表现形式:在IE中点击右键毫无反应。
3.清除方法:
(1)手动修改注册表法:开始菜单->运行->regedit->确定,打开注册表编辑工具,按如下顺序依次打开:HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Restrictions分支,找到“NoBrowserContextMenu”键值名,将其键值设为“00000000”,按F5键刷新生效。
(2)自动文件导入注册表法:请把以下内容输入或粘贴复制到记事本内,以扩展名为reg的任意文件名存在C盘的任一目录下,然后执行此文件,根据提示,一路确认,即可显示成功导入注册表。
REGEDIT4
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Restrictions] "NoBrowserContextMenu"=dword:00000000
危害程度:轻度
(十).IE收藏夹被强行添加非法网站的地址链接
破坏特性:通过修改注册表,强行在IE收藏夹内自动添加非法网站的链接信息。
表现形式:躲藏在收藏夹下。
清除方法:请用手动直接清除,用鼠标右键移动至该非法网站信息上,点击右键d出菜单,选择删除即可。
危害程度:一般
十一).在IE工具栏非法添加按钮
破坏特性:工具栏处添加非法按钮。
表现形式:有按钮图标。
清除方法:直接点击鼠标右键d出菜单,选择“删除”即可。
危害程度:一般
(十二).锁定地址栏的下拉菜单及其添加文字信息
破坏特性:通过修改注册表,将地址栏的下拉菜单锁定变为灰色。
表现形式:不仅使下拉菜单消失,而且在其上覆盖非法文字信息。
清除方法:(1)手动修改注册表法:开始菜单->运行->regedit->确定,打开注册表编辑工具,按如下顺序依次打开:HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Toolbar分支,在右边窗口找到“LinksFolderName”键值名,将其键值设为“链接”,多余的字符一律去掉,按F5键刷新生效。
危害程度:轻度
(十三).IE菜单“查看”下的“源文件”项被禁用
破坏特性:通过修改注册表,将IE菜单“查看”下的“源文件”项锁定变为灰色。
表现形式:“源文件”项不可用。
清除方法:
(1)手动修改注册表法:开始菜单->运行->regedit->确定,打开注册表编辑工具,第一,按如下顺序依次打开:HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Restrictions分支,找到"NoViewSource"键值名,将其键值设为“00000000”,按F5键刷新生效。
按如下顺序依次打开:HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Internet Explorer\Restrictions分支,找到"NoViewSource"键值名,将其键值设为“00000000”,按F5键刷新生效。
(2)自动文件导入注册表法:请把以下内容输入或粘贴复制到记事本内,以扩展名为reg的任意文件名存在C盘的任一目录下,然后执行此文件,根据提示,一路确认,即可显示成功导入注册表。
REGEDIT4
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Restrictions] "NoViewSource"=dword:00000000
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Internet Explorer\Restrictions] "NoViewSource"=dword:00000000
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)