安卓混合開發之使用webView和js的交互和簡單使用

歡迎各個領域的程序員 不管是學生還是上班了的 還是小白加入討論交流

羣,大家一起討論交流學習951701316,有內推工作的也會優先羣裏的朋

友,羣號951701316

今天記錄下webView的簡單使用  和安卓和js的交互,只是簡單的使用,寫的不好請諒解歡迎大家加入羣一起交流學習,相互幫忙相互

提高。

有時候安卓去加載一個web的界面是常有的事情 那麼是怎麼使用的,我這裏使用的原生的webView,先是一個佈局加載webView的

   <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

然後就是代碼去操作webView  還有一些webView的屬性

//  加載webview  先實例化
public WebView webview;
        //配置WebView  綁定id
        webview=(WebView)findViewById(R.id.webView);

// 加載html   getUrl是拼接地址的方法
        webview.loadUrl("www.baidu.com");

//setWebChromeClient輔助WebView處理JavaScript的對話框,網站圖標,網站title,加載進度等
        webview.setWebChromeClient(new WebChromeClient());
/*
*當不設置這個方法的時候,用webview加載網頁會彈出一個對話框,提醒你選擇系統裝的瀏覽器,比如百度, *uc,chrome啥的,設置這個方法意思就是讓我們的webview來加載這個網頁,不需要打開外部瀏覽器了
*/
        webview.setWebViewClient(new WebViewClient());
        //設置webView
        WebSettings settings=webview.getSettings();
        ////可以有數據庫
        settings.setDatabaseEnabled(true);

        //設置可否運行執行javaScrciptEnabled腳本
        settings.setJavaScriptEnabled(true);

        ////關閉加載網絡圖片,在一開始加載的時候可以設置爲true,當加載完網頁的時候再設置爲false
        settings.setBlockNetworkImage(false);

        settings.setDomStorageEnabled(true);//設置允許加載本地js

        //設置腳本是否允許自動打開彈窗,默認false,不允許
        settings.setJavaScriptCanOpenWindowsAutomatically(true);

        settings.setSupportZoom(true);        // 設置可以支持縮放

        //設置WebView中加載頁面字體變焦百分比,默認100,整型數。
        settings.setTextZoom(100);

        settings.setBuiltInZoomControls(true); // 設置出現縮放工具

        settings.setUseWideViewPort(true);// 爲圖片添加放大縮小功能

        settings.setDisplayZoomControls(false); //隱藏webview縮放按鈕

        settings.setAppCacheEnabled(false);  //是否開啓緩存功能
/*
*重寫緩存被使用到的方法,該方法基於Navigation Type,加載普通的頁面,將會檢查緩存同時重新驗證是 
*
*否需要加載,如果不需要重新加載,將直接從緩存讀取數據,允許客戶端通過指定LOAD_DEFAULT、 
*
*LOAD_CACHE_ELSE_NETWORK、LOAD_NO_CACHE、LOAD_CACHE_ONLY其中之一重寫該行爲方法,默認值 
*
*LOAD_DEFAULT
*/
        settings.setCacheMode(WebSettings.LOAD_NO_CACHE);

        //設置加載進來的頁面自適應手機屏幕
        settings.setUseWideViewPort(true);

        //設置WebView是否使用預覽模式加載界面。
        settings.setLoadWithOverviewMode(true);

        //在Android的 addJavaScriptInterface中,需要理解這個類主要能幫助調用你的JavaScript函       //數中的任意活動方式
        webview.addJavascriptInterface(new CrossFireBridge(),"crossFire");

        //通過字段來交互  js通過這個字段來調用安卓代碼jiaohu(自定義的)
        webview.addJavascriptInterface(new YourClass(),"jiaohu");

/**
 * 安卓和js的交互
 */
final class YourClass {

    @JavascriptInterface
    public void share() {
        finish();
    }
}

 以上就是安卓和js的簡單交互 和webView  webSetting的一些屬性,僅僅個人理解

 js通過你定義的字段就可以執行安卓的方法了 

  @JavascriptInterface記得打上這個標註

  然後記得配置網絡權限

  當然webView不止這些還行騰訊X5的webView等

僅供參考

歡迎各個領域的程序員 不管是學生還是上班了的 還是小白加入討論交流

羣,大家一起討論交流學習951701316,有內推工作的也會優先羣裏的朋

友,羣號951701316

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章