• 使用WebView控件进行网络开发


    WebView在XML中写法

    1. <WebView
    2. android:id="@+id/webView"
    3. android:layout_width="match_parent"
    4. android:layout_height="match_parent"/>

    常用方法:

    loadUrl(String url)   用于加载指定URL对应的网页

    loadData(String data,String mimeType,String encoding)  用于将指定的字符串数据加载进浏览器,data为数据;mimeType为要显示内容的MIME类型,如为NULL默认text/html;encoding为编码方式(中文会出现乱码)

    loadDataWithBaseURL(String baseURL,String data,String mimeType,String encoding,String historyURL)  基于URL加载指定数据(中文无乱码)

    capturePicture()  用于创建当前屏幕快照

    goBack()  执行后退操作,相当于浏览器上后退按钮

    goForward()  执行前进操作,相当于浏览器上前进按钮

    stopLoading()  停止加载

    reload()  重新加载

    1.加载网页 loadUrl() 即加载html文件

    1. WebView webView=findViewById(R.id.webView);
    2. //支持放大缩小
    3. WebSettings settings=webView.getSettings();
    4. settings.setSupportZoom(true);
    5. settings.setBuiltInZoomControls(true);
    6. webView.loadUrl("http://www.baidu.com");

    上述代码运行时,需要访问网络资源,因此还需要在清单文件申请网络权限。

    网页URL:  http://~~

    本地HTML文件URL:  file://~~

    2.执行HTML代码 loadData()  loadDataWithBaseURL()

    在Android程序中,有一些文件提示信息使用HTML代码实现会比较简单快捷,而且界面也会更加美观。WebView类提供了 loadData() 和  loadDataWithBaseURL()方法加载HTML代码。当使用loadData() 方法来加载带中文的HTML代码时会产生乱码,但是使用loadDataWithBaseURL()方法就不会出现这种情况。

    loadDataWithBaseURL(String baseURL,String data,String mimeType,String encoding,String historyURL) 参数解析

    baseURL : 用于指定当前页使用的基本URL。如果为null,则使用默认的 about:blank ,即空白页。

    data : 用于指定要显示的字符串数据。

    mimeType : 用于指定要显示内容的MIME类型如果为null,则默认使用 text/html

    encoding : 用于指定数据的编码方式。如“  utf - 8 ”。

    historyUrl : 用于指定当前页的历史URL,也就是进入该页面前现实页的URL。如果为null,默认 about:bank ,即默认页。

    1. WebView webView=findViewById(R.id.webView);
    2. //支持放大缩小
    3. WebSettings webSettings=webView.getSettings();
    4. webSettings.setBuiltInZoomControls(true);
    5. webSettings.setSupportZoom(true);
    6. StringBuilder builder=new StringBuilder();
    7. builder.append("
      Text
      ");
    8. builder.append("
        ");
    9. builder.append("
    10. t1
    11. ");
  • builder.append("
  • t2
  • ");
  • builder.append("");
  • webView.loadDataWithBaseURL(null,builder.toString(),"text/html","utf-8",null);
  • 3.设置WebView控件支持JavaScript代码

    1. WebView webView=findViewById(R.id.webView);
    2. WebSettings webSettings= webView.getSettings();
    3. //支持放大缩小
    4. webSettings.setSupportZoom(true);
    5. webSettings.setBuiltInZoomControls(true);
    6. //支持JavaScript
    7. webSettings.setJavaScriptEnabled(true);
    8. //支持弹出提示框-重写WebChromeClient中onJsAlert方法
    9. webView.setWebChromeClient(new WebChromeClient());
    10. webView.loadUrl("http://www.baidu.com");

    上述代码运行时,需要访问网络资源,因此还需要在清单文件申请网络权限。

    网页URL:  http://~~

    本地HTML文件URL:  file://~~

  • 相关阅读:
    能聚合各站热点的DailyHot
    ldap服务安装,客户端安装,ldap用户登录验证测试
    ABAP 选择屏幕多页签
    【C++】STL简介 | STL六大组件 | string类 | string类对象操作
    基于redis的分布式锁
    DirtyCow脏牛漏洞复现(CVE-2016-5195)
    位置编码器
    vivo前端智能化实践:机器学习在自动网页布局中的应用
    vue模板语法02
    SCADA的总体设计(一)
  • 原文地址:https://blog.csdn.net/m0_57150356/article/details/133906171