为Android应用添加搜索功能




android系统中有一个搜索的应用,在改搜索应用中可以选择要搜索的项目,进行搜索,展示出结果。



如何将自己的应用加入到其中呢?实现以下几个步骤就可以:


  1. 编写搜索配置的XML文件  

    首先看下如何配置搜索的XML配置文件。先命名配置文件名称为searchable.xml,并且应该增加一个hint的提示文本信息,如下代码所示:



但是当我设置文件名为 searchable.xml时,这样是失败的不懂事什么原因。后来把名

改为mysearchable.xml就成功了。


     2.创建一个可用于搜索的Activity

当用户从一个搜索框执行搜索时,SearchManager会通过ACTION_SEARCH Intent把要搜索的内容(关键字)发送到一个可执行搜索的Activity。这个Activity查询数据并显示结果。 创建一个用来执行搜索的Activity


public void onCreate(Bundle savedInstanceState) {  
super.onCreate(savedInstanceState);  
handleIntent(getIntent());  
}  
public void onNewIntent(Intent intent) {  
setIntent(intent);  
handleIntent(intent);  
}  
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) {  
//执行真正的查询结果处理  
}  


    3.在Android的manifest.xml文件中进行配置


 
                


        


             
                
                
                
            
            
        
    

在上面的典型配置中,要注意如下几点:

1)由于当调用搜索activity时,Android调用的是android.intent.action.SEARCH作为搜索的intent,所以必须在intent-filter中包含android.intent.action.SEARCH。

2)在中,指出了searchable.xml的位置

3)同样在中,通过:

 
  
  1. <meta-data 
  2. android:name="android.app.default_searchable" 
  3. android:value=".YourSearchActivity" /> 

指出了当执行搜索的字符串提交时,将调用哪一个activity去进行处理。


实现上面3个步骤就可以简单实现了,如果还要更深入完美的功能,以后再去学习




你可能感兴趣的:(android开发,android,搜索,搜索快捷方式,应用)