android第九章-使用网络技术

一、WebView的用法

遇到一些特殊的请求:在程序中展示一些网页。但加载和显示网页都是浏览器的任务,在不打开浏览器的情况下先写一个浏览器,webView控件可以在应用程序中嵌入一个浏览器,从而展示各种各样的网页。

1.新建一个WebViewTest项目,修改activity_main.xml,定义了一个WebView控件,用于显示网页。

<?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>

2.修改MainActivity.java

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支持javaScript脚本
        webView.setWebViewClient(new WebViewClient());//目标网页在应用程序打开
        webView.loadUrl("https://www.baidu.com/");
        WebSettings webSettings = webView.getSettings();
        webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //设置缓存
        webSettings.setDomStorageEnabled(true);//设置适应Html5 重点是这个设置
    }

}

注意:android9.0系统默认禁止http协议,即禁止明文传输,必须使用https来通讯;默认uri是https开头的,如果你的uri是http,要到AndroidManifest.xml加入这一句:android:usesCleartextTraffic="true"

如果你想打开你手机的默认浏览器,可以参考:https://www.go2live.cn/program/android/%E8%A7%A3%E5%86%B3-android-neterr_unknown_url_scheme.html

3.修改AndroidManifest.xml,添加权限的声明:

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

运行程序,可以看到,WebViewTest这个程序现在已经具备了一个简易浏览器的功能,不仅成功将百度的首 页展示了出来,还可以通过点击链接浏览更多的网页。

android第九章-使用网络技术

 

参考文章:

1.https://www.cnblogs.com/Mrchengs/p/10714362.html

2.https://blog.csdn.net/juesai2015/article/details/78206118

android第九章-使用网络技术

上一篇:懂你网络系列7之浏览器缓存cookie,sessions,localStorage,sessioStoage,indexedDB


下一篇:(OperationNotSupportedInTransaction) Cannot create namespace test.application in multi-document transaction 错误的解决方法