`
shuai1234
  • 浏览: 972569 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

android:WebView使用

 
阅读更多

如何创建WebView: 

    1、添加权限:AndroidManifest.xml中必须使用权限:"android.permission.INTERNET",否则会出Web page not available错误。 

    2、创建WebView实例:WebView webView = new WebView(this); 

    3、WebView基本设置: 
          webview.getSettings().setJavaScriptEnabled(true);   //设置支持Javascript 
          webView.getSettings().setBuiltInZoomControls(true);   //页面添加缩放按钮 
          webView.requestFocus();   //触摸焦点起作用.如果不设置,则在点击网页文本输入框时,不能弹出软键盘及不响应其他的一些事件。 
          webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);   //取消滚动条 

    4、设置WevView要显示的网页: 
          互联网用:webView.loadUrl("http://www.google.com"); 
          本地文件用:webView.loadUrl("file:///android_asset/XX.html");  本地文件存放在:assets文件中 

    5、如果希望点击链接由自己处理,而不是新开Android的系统browser中响应该链接。 
          给WebView添加一个事件监听对象(WebViewClient)      
          并重写其中的一些方法 
                shouldOverrideUrlLoading:对网页中超链接按钮的响应。 
                                          当按下某个连接时WebViewClient会调用这个方法,并传递参数:按下的url 
                onLoadResource   
                onPageStart  
                onPageFinish  
                onReceiveError 
                onReceivedHttpAuthRequest 

    6、如果用webview点链接跳转多页后,如果不做任何处理,点击系统“Back”键,整个浏览器会调用finish()而结束自身,如果希望浏览的网页回退而不是退出浏览器,需要在当前Activity中处理并消费掉该Back事件。 
       覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法。

Java代码  收藏代码
  1. public boolean onKeyDown(int keyCoder,KeyEvent event) {    
  2.     if ( webView.canGoBack() && keyCoder == KeyEvent.KEYCODE_BACK ) {    
  3.         webView.goBack();   //返回webView的上一页面    
  4.         return true;    
  5.     }    
  6.     return false;    
  7. }    



WebView相关问题注意: 

Android的webView很强大,其实就是一个浏览器,你可以把它嵌入到你想要的位置,我这里遇到两个问题,一是怎么知道网页的加载进度,二是加载网页时,点击网页里面的链接还是在当前的webview里跳转,不想跳到浏览器那边。解决办法如下:

Java代码  收藏代码
  1. webView.setWebChromeClient(new WebChromeClient() {    
  2.     public void onProgressChanged(WebView view, int progress) {    
  3.         setTitle("页面加载中 ... " + progress + "%");    
  4.         setProgress(progress * 100);    
  5.         if (progress == 100) {    
  6.             setTitle(R.string.app_name);    
  7.         }    
  8.     }    
  9. });    
  10.   
  11. webView.setWebViewClient(new WebViewClient() {    
  12.     @Override  
  13.     public boolean shouldOverrideUrlLoading(WebView view, String url) {  
  14.         //设置点击网页里面的链接还是在当前的webview里跳转  
  15.         view.loadUrl(url);    
  16.         return true;    
  17.     }    
  18.     @Override  
  19.     public void onReceivedSslError(WebView view,   
  20.             SslErrorHandler handler, android.net.http.SslError error) {   
  21.         //设置webview处理https请求  
  22.         handler.proceed();  
  23.     }  
  24.     public void onReceivedError(WebView view,  
  25.             int errorCode, String description, String failingUrl) {  
  26.         //加载页面报错时的处理  
  27.         Toast.makeText(MainActivity.this,   
  28.                 "Oh no! " + description, Toast.LENGTH_SHORT).show();  
  29.     }  
  30. });    
分享到:
评论

相关推荐

    com.google.android.webview.apk

    webview全称叫做Android System WebView,它是Android生态系统的重要组成部分,也是Chrome浏览器的内核。可以让你的手机变得瞬间畅通,它会及时优化网页相关数据,有着接入式的操作体验数据,各种类型的应用程序可...

    android 使用webview控件,注意在android9.0以后必须使用https才能访问网页

    在Android中,我们可以通过以下步骤创建和使用WebView: 1. 在XML布局文件中添加WebView: ```xml <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_...

    Android之WebView使用Demo

    - 加载进度:使用`WebViewClient`的`onPageStarted()`和`onPageFinished()`监听网页加载的开始和结束,以及`onProgressChanged()`监听加载进度。 ```java webView.setWebViewClient(new WebViewClient() { @...

    com.google.android.webview

    android system webview 适配系统>=5.0

    Android_WebView实例详解

    Android WebView 实例详解 Android WebView 是 Android 平台中一种特殊的组件,可以在应用程序中显示 web 页面。它基于 WebKit 内核浏览器,提供了一个可以在 Android 应用程序中嵌入网页浏览器的解决方案。 一、...

    android的webView的登录实例

    本实例将详述如何使用Android Studio 3.1.2版本,通过WebView来创建一个简单的登录界面,该界面使用本地HTML页面进行设计。下面我们将逐步探讨实现这个功能的关键步骤和涉及的技术点。 1. **创建新项目** 首先,...

    Android webview调用摄像头扫描二维码

    1. Android Webview的使用与配置,包括加载本地HTML、启用JavaScript。 2. 自定义WebViewClient实现URL拦截,调用原生相机API。 3. 使用ZXing库进行二维码扫描,包括Intent接口的使用和AndroidManifest配置。 4. ...

    Android WebView 去除标题

    在Android中,我们可以通过以下方式创建一个WebView: ```java WebView webView = new WebView(this); webView.loadUrl("https://www.example.com"); setContentView(webView); ``` 这段代码会创建一个新的WebView...

    Android使用WebView调用H5完成摄像头扫描二维码

    在Android应用开发中,WebView是一个非常重要的组件,它允许我们加载和显示网页内容。这篇教程将详细介绍如何在Android中利用WebView来调用H5页面,从而实现摄像头扫描二维码的功能。 首先,我们需要理解WebView的...

    com.android.webview-95.0.4638.50

    4. 用户体验:使用`WebView.setWebViewClient()`自定义客户端,以实现页面加载进度条、错误处理等功能。 5. 更新管理:由于WebView是系统组件,用户可能无法获取到最新版本。因此,开发者需要关注官方发布的WebView...

    Android实现WebView懒加载

    4. **图片加载优化**:使用如`WebSettings.setBlockNetworkImage(true)`阻止网络图片的自动加载,然后在JavaScript中添加逻辑,在图片进入视口时手动加载。 5. **资源预加载**:如果有必要,可以预先加载一些关键...

    Android通过WEBVIEW调用HTTPS

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,实现与网页的交互。当涉及到安全的网络通信时,HTTPS协议因其数据加密和身份验证特性成为首选。本文将深入探讨如何在Android...

    Android中WebView使用

    以上就是关于Android中WebView的基本使用和一些常见操作。在实际项目中,你可能还需要根据需求进行更复杂的定制和优化,例如性能调整、内存管理、错误处理等。通过深入理解和实践,你可以将WebView的功能发挥到极致...

    Android下WebView中调用系统相机拍照范例

    `INTERNET`权限允许WebView加载网络资源,`CAMERA`权限允许应用使用设备的摄像头,而`WRITE_EXTERNAL_STORAGE`权限则是为了在SD卡上保存拍摄的照片。 接下来,我们要创建一个自定义的WebView类,扩展`WebViewClient...

    Android中Webview与原生界面交互及二维码扫描功能实现

    总之,"Android中Webview与原生界面交互及二维码扫描功能实现"项目涵盖了Android开发中的关键技术点,包括WebView的使用、JavaScript与原生代码的交互,以及二维码扫描功能的集成。通过学习和实践这个项目,开发者...

    android 简单webview的使用

    本教程将详细介绍如何在Android中简单使用WebView。 一、WebView的基本概念 WebView是Android SDK中的一个类,继承自ViewGroup,它提供了在Android应用中展示网页的能力。WebView的核心功能包括加载URL、执行...

    Android中webview使用js与java交互

    注册这个接口到WebView: ```java webView.addJavascriptInterface(new JsBridge(), "android"); ``` 现在,我们已经在JavaScript和Java之间建立了一座桥梁。在HTML中的JavaScript代码可以通过`window.android....

    Android中WebView返回到上一个网页

    通过这个简单的示例,我们可以了解到在Android中使用WebView加载网页以及处理返回键来实现回退到上一个网页的基本操作。不过,实际开发中可能还需要考虑其他因素,如网页加载进度的显示、设置自定义加载错误页面、...

    Android System Webview 90.0.4430.82

    这是AOSP Webview, 包名com.android.webview, 不带google的 带google包名的可以下载 google system webview覆盖安装,可以略过 此文件包含 arm和arm64的webview这是AOSP Webview, 包名com.android.webview, 不带...

    android使用webView实现java程序与js脚本的相互调用

    本文将详细介绍如何在Android中使用WebView实现Java程序与JS脚本的相互调用。 ### 1. 添加WebView到布局 首先,在XML布局文件中添加WebView组件,例如在`activity_main.xml`中: ```xml <WebView android:id="@+...

Global site tag (gtag.js) - Google Analytics