热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android开发分享用AndroidWebView加载现有的.html文件

我曾尝试使用WebView从Google代码和其他资源

我曾尝试使用WebView从Google代码和其他资源中尝试示例,演示,但是当我尝试在自己的代码中执行代码时,它不适用于我。

我想加载myfile.html ,我把资产文件夹,并使用:

 private WebView myWebView; myWebView.loadUrl("file:///android_assets/myfile.html"); 

在模拟器上显示错误

file:///android_assets/myfile.html的网页无法加载为:未find请求的文件。 /android_assets/myfile.html

当我把这个文件res/raw/文件夹,并使用:

 myWebView.loadUrl("file:///android_res/raw/myfile.html"); 

那么只有模拟器的android 2.2 API级别8可能会加载该文件,其他旧版本显示相同的错误。 我错过了什么?

有什么方法可以在适用于所有API版本的应用程序包中加载现有的.html文件?

    好吧,那是我非常愚蠢的错误。 我在这里发布答案,以防万一有人有同样的问题。

    资产文件夹中存储文件的正确path是file:///android_asset/* (资产文件夹没有“s”,我一直认为它必须有“s”)。

    而且, mWebView.loadUrl("file:///android_asset/myfile.html"); 在所有API级别下工作。

    我仍然不知道为什么mWebView.loadUrl("file:///android_res/raw/myfile.html"); 仅适用于API级别8,但现在没关系。

    将您的.html文件粘贴到项目文件夹的assets文件夹中。 并使用以下代码在布局文件夹中创build一个xml文件:my.xml:

      

    在活动中添加fol代码

     setContentView(R.layout.my); WebView mWebView = null; mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavascriptEnabled(true); mWebView.loadUrl("file:///android_asset/new.html"); //new.html is html file name. 

    将.html文件复制并粘贴到项目的assets文件夹中,并在onCreate()的Activity上添加下面的代码。

      WebView view = new WebView(this); view.getSettings().setJavascriptEnabled(true); view.loadUrl("file:///android_asset/**YOUR FILE NAME**.html"); view.setBackgroundColor(Color.TRANSPARENT); setContentView(view); 

    如果你的结构应该是这样的:

    /assets/html/index.html

    /assets/scripts/index.js

    /assets/css/index.css

    然后,只要( Android WebView:处理方向更改 )

      if(WebViewStateHolder.INSTANCE.getBundle() == null) { //this works only on single instance of webview, use a map with TAG if you need more webView.loadUrl("file:///android_asset/html/index.html"); } else { webView.restoreState(WebViewStateHolder.INSTANCE.getBundle()); } 

    确保你添加

      WebSettings webSettings = webView.getSettings(); webSettings.setJavascriptEnabled(true); webSettings.setJavascriptCanOpenWindowsAutomatically(true); if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) { webSettings.setAllowFileAccessFromFileURLs(true); webSettings.setAllowUniversalAccessFromFileURLs(true); } 

    然后只需使用url

           

    您可以手动读取html文件,然后使用WebView的loadDataloadDataWithBaseUrl方法来显示它。

    另外请确保你不要忘记:

      以上就是android开发分享用Android WebView加载现有的.html文件相关内容,想了解更多android开发(异常处理)及android游戏开发关注(编程笔记)。


      推荐阅读
      • 今天就跟大家聊聊有关怎么在Android应用中实现一个换肤功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根 ... [详细]
      • CSS3选择器的使用方法详解,提高Web开发效率和精准度
        本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
      • android listview OnItemClickListener失效原因
        最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
      • CF:3D City Model(小思维)问题解析和代码实现
        本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
      • 树莓派语音控制的配置方法和步骤
        本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
      • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
      • 带添加按钮的GridView,item的删除事件
        先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
      • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
        在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
      • Python字典推导式及循环列表生成字典方法
        本文介绍了Python中使用字典推导式和循环列表生成字典的方法,包括通过循环列表生成相应的字典,并给出了执行结果。详细讲解了代码实现过程。 ... [详细]
      • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
      • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
        本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
      • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
      • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
      • 本文介绍了一个Magento模块,其主要功能是实现前台用户利用表单给管理员发送邮件。通过阅读该模块的代码,可以了解到一些有关Magento的细节,例如如何获取系统标签id、如何使用Magento默认的提示信息以及如何使用smtp服务等。文章还提到了安装SMTP Pro插件的方法,并给出了前台页面的代码示例。 ... [详细]
      • 1简介本文结合数字信号处理课程和Matlab程序设计课程的相关知识,给出了基于Matlab的音乐播放器的总体设计方案,介绍了播放器主要模块的功能,设计与实现方法.我们将该设 ... [详细]
      author-avatar
      説悢沵xb
      这个家伙很懒,什么也没留下!
      PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
      Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有