解决Android 离线文档 不能搜索的问题
来源:互联网 发布:杰科网络电视机顶盒gk 编辑:程序博客网 时间:2024/05/23 02:06
最近开始学安卓,发现用Android Studio 下载的doc文档不能直接搜索。
自己写了个小程序解决了,将程序放到docs文件夹中,运行就行了
注意:
1.docs路径不能包含中文或空格
2.修改前最好备份docs文件夹,以防修改失败
3.仅在 2017/12/21 下载的文档上测试通过,如果谷歌更新文档可能会失效。
链接: https://pan.baidu.com/s/1nu9EDkP 密码: v2gn
下面阐述一下原理,感兴趣的可以看一看
经过观察发现主要有以下几个原因:
1.所有html文件中关联几个JavaScript文件的地址错误
例如:
在”SDK路径/Docs/index.html” 中,下例5个js文件用的是相对路径,这并没有问题。但在”SDK路径/Docs/reference/packages.html”中,内容还是一摸一样的,这就导致js文件读取失败,事实上,所有的html中的该处都是一样的。
所以只要把所有的路径换为绝对路径就行了
其中
src=”https://developer.android.com/ytblogger_lists_unified.js”
这个文件也是必要的,但docs中并没有,需要自己下载
<script src="https://developer.android.com/ytblogger_lists_unified.js" defer></script><script src="/jd_lists_unified_en.js?v=17" defer></script><script src="/reference/lists.js?v=17" defer></script><script src="/reference/gcm_lists.js?v=17" defer></script><script src="/reference/gms_lists.js?v=17" defer></script>
2.JavaScript文件内容有误
主要的js文件就是上面列出的几个,其中ytblogger_lists_unified.js需要从原网页上抓取
jd_lists_unified_en.js 这个文件也没有。但docs文件夹下有个jd_lists_unified.js文件,对它稍作更改,并重命名就可以得到jd_lists_unified_en.js 。
jd_lists_unified.js部分内容如下:
window.METADATA = window.METADATA || {};METADATA[''] = {};METADATA[''].about = [];METADATA[''].design = [];METADATA[''].develop = [];METADATA[''].distribute = [];METADATA[''].extras = [];
将所有的METADATA[”] 改为METADATA[‘en’]。然后从源网页上找到android_metadata_en.js这个文件,将里面的全部内容复制到jd_lists_unified.js中,再删除METADATA[”] = {};这也行,保存,重命名为jd_lists_unified_en.js 。
经过以上更改,应该能够搜索了,但输入内容后,候选内链接并不能点击。还需要修改"SDK路径/Docs/assets/js/doc.js"文件。修改内容如下:(注释了if(normalClick){...})
function onSuggestionClick(e) { var normalClick = e.which === 1 && !e.ctrlKey && !e.shiftKey && !e.metaKey; /*if (normalClick) { e.preventDefault(); }*/ // When user clicks a suggested document, track it var url = $(e.currentTarget).attr('href'); ga('send', 'event', 'Suggestion Click', 'clicked: ' + url, 'query: ' + $('#search_autocomplete').val().toLowerCase(), {hitCallback: function() { if (normalClick) { document.location = url; } }}); }
至此,docs文档已经修改完成
- 解决Android 离线文档 不能搜索的问题
- 解决Android离线文档打开慢的问题
- 解决Android SDK离线文档打开慢的问题
- 解决android离线文档慢
- 如何解决Android SDK中离线文档打开慢的问题
- 解决Android sdk docs(离线帮助文档)访问速度慢(访问失败)的问题
- 如何解决Android SDK中离线文档打开慢的问题
- 解决Android SDK的离线文档(Docs)加载速度慢问题
- 如何解决Android SDK中离线文档打开慢的问题
- 如何解决Android SDK中离线文档打开慢的问题
- 解决KEIL搜索不能跳转的问题
- 解决Andorid SDK中离线文档打开慢的问题
- 解决Android sdk docs文档访问过慢(不能再国内访问)的问题
- 解决flexpaper搜索文字时不能高亮的问题
- 解决android离线API打开速度缓慢的问题
- 解决android应用程序不能调试的问题
- 解决Android模拟器不能上网的问题
- 解决android虚拟机不能打开的问题
- (C++)用迭代法求 。求平方根的迭代公式为: X[n+1]=1/2(X[n]+a/X[n]) 要求前后两次求出的得差的绝对值少于0.00001。 输出保留3位小数
- ros中串口的使用
- 给自己定个小目标_Java入门
- QML之自定义模态可拖拽窗口
- 替换空格(java)
- 解决Android 离线文档 不能搜索的问题
- AndroidStudio音乐播放器进度条和歌曲时间的操作
- 微信聊天记录删除快速恢复教程
- 在ubuntu环境下MPI分布式集群搭建-安装MPICH2(2)
- Django官方文档笔记
- arxiv 上传文章过程
- git错误记录
- Apache访问日志切割和自定义格式
- 虚拟局域网和三层交换机