Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 受不了Android SDK文檔打開緩慢問題,自己開發簡易脫機浏覽器。

受不了Android SDK文檔打開緩慢問題,自己開發簡易脫機浏覽器。

編輯:關於Android編程

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



    
    
    
    
    
        
            
                

                
            
            
            
                
                
                
            
        
    






  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved