`

WebView注意的几个问题(阅读器也可以WebView实现)

阅读更多

如何创建WebView:

    1、添加权限:AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误。
    2、在要Activity中生成一个WebView组件:WebView webView = new WebView(this);
    3、设置WebView基本信息:
          如果访问的页面中有Javascript,则webview必须设置支持Javascript。
          webview.getSettings().setJavaScriptEnabled(true);  
          触摸焦点起作用
          requestFocus();//如果不设置,则在点击网页文本输入框时,不能弹出软键盘及不响应其他的一些事件。
          取消滚动条
          this.setScrollBarStyle(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)方法。
    public boolean onKeyDown(int keyCoder,KeyEvent event){
                        if(webView.canGoBack() && keyCoder == KeyEvent.KEYCODE_BACK){
                              webview.goBack();   //goBack()表示返回webView的上一页面


                                 return true;
                           }
                        return false;
                   }

  WebView相关问题注意:

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

//此方法可以处理webview 在加载时和加载完成时一些操作
webView.setWebChromeClient(new WebChromeClient(){
  @Override
  public void onProgressChanged(WebView view, int newProgress) {
    if(newProgress==100){                        // 这里是设置activity的标题, 也可以根据自己的需求做一些其他的操作
          title.setText("加载完成");
     }else{
     title.setText("加载中.......");

      }
    }
});


webView.setWebViewClient(new WebViewClient(){
  @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {  //重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边
       view.loadUrl(url);
       return true;
  }

        @Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, android.net.http.SslError error) { // 重写此方法可以让webview处理https请求
handler.proceed();
}

});

分享到:
评论

相关推荐

    com.android.webview-95.0.4638.50

    例如,阅读器应用可以使用WebView展示文章,社交应用可以加载用户动态,甚至游戏也可能使用WebView来显示广告或实现某些交互功能。 在压缩包子文件的文件名称列表中,我们看到只有一个文件...

    WebView在线浏览pdf文件Android_studio例程

    我们将探讨以下几个关键知识点: 1. **WebView组件介绍**:WebView是Android SDK中的一个类,它提供了在应用程序内部加载和显示HTML内容的能力。它不仅可以显示网页,还可以执行JavaScript代码、处理重定向等。 2....

    Android 实现书籍翻页效果TXT阅读器

    本文将深入探讨如何实现这样的应用,主要关注以下几个方面: 1. **文本解析与加载**: 在Android应用中,TXT文件通常作为纯文本资源存在。我们需要编写一个文本解析器来读取TXT文件内容,将其拆分为单独的段落或...

    android 阅读器 源码.rar

    总的来说,“android 阅读器 源码.rar”提供了深入了解Android阅读器开发的宝贵资料,通过深入研究,开发者不仅可以掌握Android应用开发的基本技能,还能提升对复杂功能实现的理解,进一步提高自己的编程能力。

    安卓Android源码——BTAndroidWebViewSelection(webview选择文字).zip

    在Android源码中,处理文字选择的部分通常涉及到以下几个关键类: 1. `WebView`:这是Android系统提供的用于显示网页内容的视图组件,提供了加载URL、执行JavaScript等方法。 2. `WebSettings`:用于配置WebView的...

    新闻阅读器-C#编程

    在这个“新闻阅读器”项目中,源码可能会包含以下几个关键部分: 1. **用户界面**:C#中的Windows Forms或WPF(Windows Presentation Foundation)可用于创建美观的图形用户界面,用户可以轻松地查看、搜索和筛选...

    基于Android系统的电子书阅读器的设计与实现(完整资料).doc

    《基于Android系统的电子书阅读器的设计与实现》 在当今数字化时代,电子书阅读器已经成为人们获取知识的重要工具。在Android平台上开发一款电子书阅读器,不仅需要理解Android系统的基本架构,还需要熟悉数据库...

    android文本阅读器(书架效果)源码

    在源码中,我们可以看到以下几个关键部分: 1. **书籍数据模型**:为了存储和管理书籍信息,源码会定义一个Book类,包含书名、作者、封面图片、文件路径等属性。此外,还会有一个数据管理类用于加载和保存书籍数据...

    Android应用源码之图片轮播(Viwepager)+(读取网络图片)+点击图片(WebView)展示.zip

    综上所述,这个源码实例涵盖了Android应用开发中的几个关键点:`ViewPager`的使用、网络图片加载和`WebView`的交互。通过研究这个源码,开发者不仅可以学习到如何实现图片轮播,还能了解到如何将网络资源与本地UI...

    android RSS阅读器

    在RSS阅读器中,我们可能需要使用ListView或RecyclerView展示RSS条目,使用WebView显示文章详情。此外,还可以添加搜索、过滤、离线阅读等功能,提升用户体验。 在实际开发过程中,RSSReader项目会包含以下关键组件...

    Android代码-文本阅读器源代码.zip

    通过分析和研究这个源代码,我们可以学习到以下几个关键知识点: 1. **Android SDK**:Android应用的基础是Android SDK,它提供了开发环境、工具和API库。源代码中会包含AndroidManifest.xml文件,这是应用配置的...

    Android源码——PDF 阅读器源码.zip

    从这个项目中,我们可以学习到以下几个关键知识点: 1. **PDF解析库**:在Android中,为了解析PDF文件,开发者通常会使用第三方库,如Apache PDFBox、PDF.js或更常见的Android PDF Library(如PDFium)。PDFium是...

    txt阅读器Android项目.rar

    一个标准的Android项目通常包括以下几个关键部分:`src/main/java`(包含Java源代码)、`res`(资源文件)、`AndroidManifest.xml`(应用配置文件)和`build.gradle`(构建配置)。在这个TXT阅读器项目中,`src/main...

    RSS阅读器的源码

    该源码的核心部分可能包括以下几个关键知识点: 1. **Android开发环境**:项目是在Android Studio中开发的,因此需要对Java或Kotlin编程语言有深入理解,以及熟悉Android SDK和Gradle构建系统。 2. **XML解析**:...

    Android应用源码之易读阅读器-IT计算机-毕业设计.zip

    在Android开发中,易读阅读器的源码主要涵盖了以下几个关键知识点: 1. **用户界面(UI)设计**:项目中的XML布局文件展示了如何创建符合Android Material Design指南的界面。包括使用RecyclerView展示书籍列表,...

    新闻阅读器

    对于“新闻阅读器”来说,它可能包含以下几个关键功能: 1. **RSS订阅**:RSS(Really Simple Syndication)是一种内容聚合格式,用于订阅和获取网站的更新信息。在“新闻阅读器”中,用户可能可以通过输入RSS源...

    android 应用 RSS阅读器

    在构建这样的应用时,我们需要考虑以下几个关键知识点: 1. **Android SDK和环境设置**:首先,你需要安装Android Studio,这是Google提供的官方集成开发环境(IDE),包含了开发Android应用所需的所有工具。然后,...

    Android小说阅读器CoolReader源码.zip

    《Android小说阅读器CoolReader源码解析》 在Android平台上,CoolReader是一款广受欢迎的免费电子书阅读器,以其简洁的界面和强大的功能深受用户喜爱。本文将深入探讨其源码,揭示其背后的设计理念和技术实现,帮助...

    Android应用源码之电子书阅读器项目源码.zip

    这个压缩包文件“Android应用源码之电子书阅读器项目源码.zip”包含了一个完整的Android电子书阅读器应用的源代码。从标题和描述中我们可以推测,这是一个专门为Android平台设计的阅读应用程序,允许用户阅读和管理...

    android 2.2的新闻查看 点击图片可以放大

    总结起来,实现"android 2.2的新闻查看 点击图片可以放大"这一功能,需要掌握以下几个关键知识点: 1. ListView的使用和自定义Adapter 2. WebView的配置与加载URI 3. XML数据的解析(DOM, SAX, Pull Parser) 4. ...

Global site tag (gtag.js) - Google Analytics