WebView 在 APP 中的使用

微信的內嵌瀏覽器使用的是 WebView,當查看分享時打開的頁面就是使用 WebView 呈現的。手機淘寶客戶端也在頁面中使用了 WebView。淘寶頁面這種常常變化很大,對動畫和流程性沒要求的話,會優先使用 WebView。因此 App 的原則是常常變用 WebView,不常常變就 Native。前端

能夠經過下列方式判斷 APP 使用的哪一種技術。打開開發者模式———顯示佈局邊界。如果整塊區域有邊界,則是 WebView。若是每一個元素都有邊界,則不是。android

輸入圖片說明

WebView 中請求頁面

在微信朋友圈中查看分享時,會調到這樣一個頁面。其實就是在這個框架中去請求數據。web

輸入圖片說明

下面模擬這種方案。瀏覽器

package timenull.friendcircle;

import android.os.Bundle;
import android.app.Activity;
import android.view.KeyEvent;
import android.webkit.WebView;

public class MainActivity extends Activity {
    private WebView webview;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        webview = new WebView(this);
        webview.getSettings().setJavaScriptEnabled(true);
        webview.loadUrl("http://fuzhii.com");
        //設置Web視圖
        setContentView(webview);
    }

    @Override
    //設置回退
    //覆蓋Activity類的onKeyDown(int keyCoder,KeyEvent event)方法
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
            webview.goBack();
            return true;
        }
        return false;
    }
}

分爲下面幾步微信

1.在 Activity 中實例化 WebView 組件網絡

webview = new WebView(this);app

2.調用 WebView 的 loadUrl() 方法,設置 WebView 要顯示的網頁。框架

webview.loadUrl("http://fuzhii.com");ide

3.調用 Activity 的 setContentView() 方法顯示網頁視圖佈局

4.另外須要在 AndroidManifest.xml 文件中添加訪問網絡的權限

<uses-permission android:name="android.permission.INTERNET"/>

最後效果以下

輸入圖片說明

WebView 優勢

  • 和前端 JS 無縫結合
  • 變動上線快,運營方便

參考

https://www.zhihu.com/question/35683612/answer/64628667

相關文章
相關標籤/搜索