安卓开发WebView简单用法

作者:郭霖第一行代码(Android Studio开发)


我大概半年前看过图解HTTP这本书,写的非常好,这里推荐大家也看一下。最近我也准备温故而知新,从新花一些时间

来重读这本书。

我们可能会碰到一些比较特殊的需求,比如在应用程序里展示一些网页,加载和显示网页通常都是浏览器的任务,

Android提供了一个WebView控件,借助它我们可以在自己的应用程序里嵌入一个浏览器,从而非常轻松地展示各种

各样的网页。

创建一个WebViewTest项目

首先修改activity_main.xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

</LinearLayout>

这里我们将WebView控件充满屏幕,接下来修改MainActivity中的代码

package com.gougoucompany.clarence.webviewtest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView webView = (WebView) findViewById(R.id.web_view);
        webView.getSettings().setJavaScriptEnabled(true); //让webView支持js脚本
        webView.setWebViewClient(new WebViewClient()); //需要从一个网页跳转到另一个网页时,我们希望目标网页仍然在当前WebView中显示,而不是打开系统浏览器
        webView.loadUrl("http://www.baidu.com");
    }
}

HTTP协议工作原理特别简单,就是客户端向服务器发出一条HTTP请求,服务器收到了请求之后会返回一些数据给客户端,

然后客户端再对这些数据进行解析和处理。我们使用的WebView控件,其实也就是我们向服务器发起一条HTTP请求,

接着服务器分析出我们想要访问的是百度的首页,于是会把该网页的HTML代码进行返回,然后WebView再调用手机

浏览器的内核对返回的HTML代码进行解析,最终将页面展示出来。

猜你喜欢

转载自blog.csdn.net/qq_32252957/article/details/79871927