android webclient使用

public class MyWebViewClient extends Activity
{
   
    private WebView webView;
   
    private final String mimeType = "text/html";
   
    private final String encoding = "utf-8";
   
    @Override
    protected void onCreate(Bundle bundle)
    {
        super.onCreate(bundle);
        setContentView(R.layout.viewclient);
        webView = (WebView) findViewById(R.id.webview);
       
        webView.getSettings().setJavaScriptEnabled(true);
       
        /*
         * 取值
         */
        Bundle myBundle = getIntent().getExtras();
        String url =  myBundle.getString("url");
       
        if (CommonUtil.isNotEmpty(url))
        {
            if (url.startsWith("http"))
            {
                openWebRequest(url);
            }
            else if (url.startsWith("file"))
            {
                openLocalFile(url);
            }
            else
            {
                localHtmlAndImage(url);
            }
        }
       
    }
   
    /**
     * 打開網頁  / 直接網絡圖片顯示 
     *
     * @param String url(URL路徑)
     * @return void
     * @throws
     * @since TianTian
     */
    private void openWebRequest(String url)
    {
       
        try
        {
            webView.loadUrl(url);
           
        }
        catch (Exception ex)
        {
           
            ex.printStackTrace();
           
        }
       
    }
   
   
    /**
     * 中文顯示(空格的處理)
     *
     * @param String data(數據)
     * @return void
     * @throws
     * @since TianTian
     */
    @SuppressWarnings("unused")
    private void localHtmlBlankSpace(String data)
    {
        try
        {
           
            if (CommonUtil.isNotEmpty(data))
            {
                webView.loadData(URLEncoder.encode(data, encoding),mimeType,encoding);
                webView.loadData(URLEncoder.encode(data, encoding).replaceAll("\\+", " "),mimeType,encoding);
            }  
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }
    }
   
    /**
     * 顯示本地網頁文件    / 顯示本地圖片文件  
     *
     * @param String data(數據)
     * @return void
     * @throws
     * @since TianTian
     */
    private void openLocalFile(String url)
    {
        try
        {  
            // 本地文件處理(如果文件名中有空格需要用+來替代) 
            webView.loadUrl(url);
        }
        catch (Exception ex)
        {  
            ex.printStackTrace();
        }
    }
   
    /**
     * 顯示本地圖片和文字混合的Html內容 
     *
     * @param String data(數據)
     * @return void
     * @throws
     * @since TianTian
     */
    private void localHtmlAndImage(String data)
    {
        try
        {
            if (CommonUtil.isNotEmpty(data))
            {  webView.loadDataWithBaseURL("about:blank",data,mimeType,encoding,"");
            }
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }
    }
}

xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_height="fill_parent"
android:layout_width="fill_parent" android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<WebView android:layout_height="fill_parent"
android:layout_width="fill_parent" android:id="@+id/webview" />
</LinearLayout>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章