受不了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文檔打開緩慢問題,自己開發簡易脫機瀏覽器。
