位置: 编程技术 - 正文

android5.0系统设置搜索功能简析(安卓的系统设置在哪)

编辑:rootadmin

推荐整理分享android5.0系统设置搜索功能简析(安卓的系统设置在哪),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android系统设置,android系统怎么升级5.0,安卓5.0操作系统,android5.0系统的手机,安卓5.0操作系统,android5.0.2系统,android系统设置,android5.0.2系统,内容如对您有帮助,希望把文章链接给更多的朋友!

一、目的: 简单介绍系统设置搜索功能实现,初步熟悉搜索数据库构建规则以及匹配逻辑。 二、相关问题解答 1、系统设置可对那些设置项进行构建搜索数据库? 答:系统设置对数据项的构建规则在com.android.settings.search.SearchIndexableResources类中进行定义,例如如下,将wifi设置,wifi高级设置设置项假如搜索数据匹配库。

2、进行关键字搜索时,有多个匹配项,在展示时,他们的排序规则是什么? 答:com.android.settings.search.Ranking,其中定义了每个设置项对应的RAND_ID.例如:

在进行搜索匹配时,会根据RANK_ID进行排序:

3、设置中的设置项如何被解析并加入到搜索匹配数据库中的? 共两类: 类一: 如,下图代码所示,为wifi高级设置项:

android5.0系统设置搜索功能简析(安卓的系统设置在哪)

其中定义了R.xml.wifi_advanced_settings,,那么在Index.java中,会对该xml文件进行解析,并加入到搜索数据库中。如下图代码:

非CheckBoxPreference的设置项,会解析preference的title以及summary。CheckBoxPreference类型的设置项会解析summaryOn,summaryOff等。也就是说解析存在细微差别。 详细解析流程可关注Index.java中的indexFromResource()方法。 类二: 如下图代码所示:

这类与类一的不同在于,它没有明确指定xml文件,这里是:NO_DATA_RES_ID,。那么这种情况,其会在其类中定义名称为:SEARCH_INDEX_DATA_PROVIDER的SearchIndexProvider,在其中会定义加载那些设置项。 4、如何为一个设置项定义多个匹配名字? 答:匹配逻辑本身是弱匹配,我们看下设置的匹配逻辑会匹配以下几项:

title就是每个设置项的title名称,TITLE_NORMALIZED只是对title做了一些格式化操作。最重要的就是我们的keyword了,我们可以使用keywords来实现为一个设置项指定额外匹配名称,例如:

5、系统设置是否支持搜索匹配加载外部设置项? 答:系统设置存在搜索匹配外部应用设置项的功能。系统设置会加载所有应用中AndroidManifest.xml中配置了“android.content.action.SEARCH_INDEXABLES_PROVIDER”的provider,并从该provider中读取设置项到设置的数据库中。 由于android5.0初步实现了该功能,系统中很多应用还没有进行Provider的创建,故而搜索匹配其他应用的体验性不是很好。 三、我们如何将我们新开发的设置项加入到系统设置中。 1、首先如果,新增加的设置项在一级目录,或者多层级目录,并且该设置项为leui新增的,即原生不存在的。需要将该一级设置项加入到:SearchIndexableResources的sResMap成员变量中。 2、如果是在原有设置项内新增设置项,保持title一级summary,fragmeng等配置ok。

Android Service之设备存储空间监控 在负责文件系统模块的过程中,经常会碰到由于系统空间被消耗完而导致的问题,因此要确保为系统功能(如数据库同步)保留一定的空间。在功能机

Linux下多线程查看工具(pstree、ps、pstack) 1.pstreepstree以树结构显示进程$pstree-pwork|grepadsshd()---bash()---ad_preprocess()--{ad_preprocess}()|-{ad_preprocess}()|-{ad_preprocess}()|-{ad_preprocess}()|-{

Android系统架构 1、Linux系统内核层LlinuxKernel):为Android设备的各种硬件提供了底层的驱动eg:显示驱动,音频驱动2、系统运行库层(1)c/c库,SQLite库(Libraries)(2)Androi

标签: 安卓的系统设置在哪

本文链接地址:https://www.jiuchutong.com/biancheng/371096.html 转载请保留说明!

上一篇:Android学习 - Android断点续传核心代码(android基础入门教程)

下一篇:Android Service之设备存储空间监控(androidserviceslibrary设置)

  • 石油税费是多少
  • 借贷利息怎么算
  • 代付的费用收不收手续费
  • 银行承兑汇票提前承兑收多少手续费
  • 冲红的专票要给购买方吗
  • 小规模公司初期注销流程
  • 技术服务费怎么开票税率
  • 辞退职工赔偿金如何计算
  • 进项留底怎么做账
  • 结转报告中错误结转科目是什么意思
  • 个人去税务局开居间费发票
  • 咨询费收入交什么税种
  • 劳务派遣企业的规上企业认定标准
  • 关于免租金的法律规定
  • 集团公司内部无偿借贷增值税
  • 第三方派遣劳务不续签补偿金哪边出
  • 申报更正退税增值税申报表如何反应
  • 工商局查社保吗
  • 支付网银年费计入什么科目
  • 华为鸿蒙os2.0发布
  • 其他综合收益也要交税吗
  • 职工薪酬核算的内容
  • composer.json和composer.lock
  • 企业汇算清缴怎么退税
  • vue3+ts+vite
  • 金融企业呆账核销管理办法
  • 抵扣认证发票统计确认后可以退回吗?
  • 模型训练的过程是什么过程
  • html前端开发教程
  • 保险公司的应收账款有哪些
  • python如何设置窗口背景色
  • 外账和内账哪个比较有发展
  • 性能优化模式
  • 劳务派遣公司账务
  • 企业能否自行填开发票入账
  • php视频加水印
  • 固定资产清理年末余额怎么处理
  • 长期股权投资核算的权益法包括哪些内容
  • 印花税征税范围及税率
  • 纳税申报表上的销售额
  • 企业利润分配项目是什么
  • 商品流通企业采购费用
  • mysql中如何设置默认值
  • 公司 用车
  • 个税申报哪些可以减免
  • 跨年度发票的报表怎么填
  • 毛利差怎么计算公式
  • 会计信息不采集可以考初级吗
  • 超出工资总额
  • sqlserver 获取字符位置
  • mysql5.6 创建用户
  • sqlserver高可用集群搭建
  • sqlserver数据库备份
  • Navicat for MySQL导出表结构脚本的简单方法
  • 加快Vista中多线程下载速度
  • windows update要禁用吗
  • window10系统主题
  • xp系统怎么更改屏幕分辨率
  • linux常用命名
  • mac设置在哪里设置
  • linux ping命令的用法
  • 装win8.1
  • linux 如何查看端口
  • js设计模式有什么用
  • jquery关闭当前页面
  • shell脚本语句
  • css制作排行榜
  • opengl arb
  • unity ui控件
  • shell脚本实现文件移动、复制等操作
  • vue购物车功能
  • javascript取随机数
  • jquery foreach循环
  • js调用url接口
  • jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
  • 陕西省地方税务局关于调整土地增值税预征率的公告
  • 建筑工程资质挂靠合同
  • 稳岗补贴是否需在企业所得税汇算时调增
  • 林则徐家训带来的启示
  • 发生技术入股递增怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设