受不了Android SDK文档打开缓慢问题,自己开发简易脱机浏览器。
google android sdk离线文档打开的时候特别慢,据说是要从谷歌官网拉取一些东西导致的。脱机浏览能够解决该问题。PC端能够使用firefox。
可是Android端貌似没有支持脱机工作的浏览器。这让我非常伤心。
决定开发一个简易的脱机浏览器以便在手机端高速查看sdk文档。
设计到的知识点主要为:WebView的初始化以及缩放问题;将应用程序加入到文件打开方式中。
废话不多说:下面为代码部分:
MainActivity:
package net.xby1993.simpleexplorer; import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient; public class MainActivity extends Activity {
private static final String TAG=MainActivity.class.getSimpleName();
private WebView webView; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置全屏无标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
webView = (WebView)findViewById(R.id.webView);
WebSettings settings= webView.getSettings();
//开启缩放支持
settings.setSupportZoom(true);
settings.setBuiltInZoomControls(true);
settings.setJavaScriptEnabled(true);
//默认对缩放比例有限制,导致用户体验不好。所以须要设置为使用随意比例缩放。
settings.setUseWideViewPort(true);
//使页面之间能够点击链接导航
webView.setWebViewClient(new WebViewClient());
webView.setWebChromeClient(new WebChromeClient());
//初始页面一般过大。我们设置为75%
webView.setInitialScale(75);
Intent intent=getIntent();
//提取文件管理器打开方式传送的文件地址
if(intent.getAction().equals(Intent.ACTION_VIEW)){
String strUri=intent.getDataString();
Log.d(TAG,TAG);
Log.d(TAG,strUri);
Log.d(TAG,Uri.encode(strUri));
webView.loadUrl(strUri);
} } @Override
public boolean onKeyDown(int keyCode,KeyEvent event){
//确保能够通过返回键浏览历史页面栈
if(keyCode==event.KEYCODE_BACK&&webView.canGoBack()){
webView.goBack();
return true;
}
return super.onKeyDown(keyCode,event);
} }
AndroidManifest.xml
<? xml version="1.0" encoding="utf-8"? >
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.xby1993.simpleexplorer" >
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- 删除联网权限的代码 <uses-permission android:name="android.permission.INTERNET"/> -->
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- 这里是为了在文件打开方式中加入本应用 -->
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/html"/>
</intent-filter>
</activity>
</application> </manifest>
受不了Android SDK文档打开缓慢问题,自己开发简易脱机浏览器。的更多相关文章
- Android SDK文档如何查找
肯定很多人都会有疑问,怎样使用Android SDK 文档该如何使用呢?里面有那么多内容,又全是英文的,接下来告诉大家. 以下内容来自网络. ----------------------------- ...
- 三种方法解决android帮助文档打开慢
三种方法解决android帮助文档打开慢 经查是因为本地文档中的网页有如下两段js代码会联网加载信息,将其注释掉后就好了 <link rel="stylesheet" h ...
- 关于android帮助文档打开慢
打开慢的原因是:Doc目录下的html文件里含有访问google的js文件<link rel="stylesheet"href="http://fonts.goog ...
- 如何解决Android SDK中离线文档打开慢的问题
原文:http://blog.csdn.net/hansel/article/details/39268511 Android SDK中的离线文档虽然都是本地文件,但是有很多Javascript, C ...
- 解决android sdk docs帮助文档打开慢的问题
解决android sdk docs帮助文档打开慢的问题 转https://blog.csdn.net/yang5726685/article/details/80543849 经查是因为本地文档中的 ...
- 提高打开Android本地文档的速度
非常多Android开发人员在參考Android官方API时,都有一个令人头疼的问题:打开一个index.html平均都须要几分钟甚至更长.尤其是在打开API 8以上的版本号的时候.难道是网速不够好? ...
- 【转】Directx11 SDK文档
原文地址:http://blog.csdn.net/cmt100/article/details/6343274 总结 这是一个初步的教程.我们将通过必要的步骤来创建一个Win32 Applicati ...
- Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构
分享两篇Win 10应用开发的XML文档结构:Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构. Win 10 开发中Adapt ...
- 安装的Android SDK下无doc文件夹问题 以及关联Android帮助文档和查看文档 以及查看在线文档
参考连接:https://blog.csdn.net/fangzicheng/article/details/78344521 https://jingyan.baidu.com/article/29 ...
随机推荐
- SpringBoot学习笔记(4)----SpringBoot中freemarker、thymeleaf的使用
1. freemarker引擎的使用 如果你使用的是idea或者eclipse中安装了sts插件,那么在新建项目时就可以直接指定试图模板 如图: 勾选freeMarker,此时springboot项目 ...
- 解决vuex刷新页面数据丢失
1.前言 vue构建的项目中,vuex的状态存储是响应式的,当vue组件从store中读取状态的时候,若store中的状态发生变化,那么相应的组件也会得到高效刷新,问题来了,vuex存储的数据只是在页 ...
- Oralce中的package和package body
1.Oracle Package的作用: 可以简化应用设计.提高应用性能.实现信息隐藏.子程序重载 2.ORACLE中的function .package.package bodies.pro ...
- Linux CentOs6.5误卸载自带python和yum后的解决办法
事故背景:前几天因项目需要,在服务器上搭建python-mysql模块,结果没安装好,于是乎想卸载重装,遂在网上查询卸载python的方法,结果一不小心直接把系统的python删了个干净....... ...
- vue父子组件通信传值
父组件 -> 子组件 通过props来进行通信 父组件代码: <Children :dataName = "dataContent" /> //dataName: ...
- python学习笔记:第八天
文件操作: 1.文件基本操作方法: 1.打开文件2.文件操作3.文件关闭三种基本的操作模式 r(只可读) w(只可写) a(追加) 2.读文件: # f = open('静夜思','r',encodi ...
- 【LeetCode】Merge Intervals 题解 利用Comparator进行排序
题目链接Merge Intervals /** * Definition for an interval. * public class Interval { * int start; * int e ...
- [Test] Easy automated testing in NodeJS with TestCafe
Quickly get up and running with sensible automated testing scenarios written in ES6. Installing and ...
- 由老同事学习SAP所想到的
前段时间一位老同事在微信上跟我说他们公司正计划导SAP系统,但整个IT中心几乎无人使用过SAP,知道我在这行业干了多年了,所以想问我怎么开始学习.于是我约他今天出来聊聊,顺便把手里的SAP ECC E ...
- 11_HTML5_Local_Storage本地存储
本地存储localStorage是大型cookie,cookie只有4k,