欢迎大家加入群里交流:429664282基于:android-6.0.1_r17 f4b8ad6 Android Settings中存在一个SearchIndexablesProvider,它提供了可供快速检索的设置项。通过它,我们可以决定哪些系统设置可以被快速检索, ...
欢迎大家加入群里交流:429664282
基于:android-6.0.1_r17 f4b8ad6
Android Settings中存在一个SearchIndexablesProvider,它提供了可供快速检索的设置项。通过它,我们可以决定哪些系统设置可以被快速检索,那些可以不被检索。
SearchIndexablesProvider简介
SearchIndexablesProvider是Android标准API,在SDK中可以找到,路径是"android.provider.SearchIndexablesProvider"。它是一个虚基类,提供了一些抽象方法和常用方法。
抽象方法如下:
Cursor query
Cursor queryRawData(String[])
Cursor queryNonIndexableKeys(String[])
query方法返回一个Cursor,这个Cursor中包含了所有可以被索引的,方法的参数是个String数组,用来表示传入查询的列。
queryRawData方法同queryRawData很类似,唯一区别是返回所有可以被索引的RawData。
queryNonIndexableKeys返回所有可以不被所有的NonIndexableKey。
检索数据来源:SearchIndexableResources
在Settings中,所有可供检索的数据资源,均被定义在SearchIndexableResources类中。
例如,Wifi设置页面的所有可供检索的数据,都通过WifiSettings.java提供。
1 static { 2 3 sResMap.put(WifiSettings.class.getName(), 4 5 new SearchIndexableResource( 6 7 Ranking.getRankForClassName(WifiSettings.class.getName()), 8 9 NO_DATA_RES_ID,10 11 WifiSettings.class.getName(),12 13 R.drawable.ic_settings_wireless));
原标题:Android源码解析
关键词:Android
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。