热门标签 | 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游戏开发关注(编程笔记)。


      推荐阅读
      • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
      • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
      • 微软推出Windows Terminal Preview v0.10
        微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
      • 原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ... [详细]
      • 解决Bootstrap DataTable Ajax请求重复问题
        在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
      • Android开发技巧:使用IconFont减少应用体积
        本文介绍如何在Android应用中使用IconFont来显示图标,从而有效减少应用的体积。 ... [详细]
      • 第二十五天接口、多态
        1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
      • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
      • 本文详细解析了Autofac在高级应用场景中的具体实现,特别是如何通过注册泛型接口的类来优化依赖注入。示例代码展示了如何使用 `builder.RegisterAssemblyTypes` 方法,结合 `typeof(IEventHandler).Assembly` 和 `Where` 过滤条件,动态注册所有符合条件的类,从而简化配置并提高代码的可维护性。此外,文章还探讨了这一方法在复杂系统中的实际应用及其优势。 ... [详细]
      • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
      • 本文详细解析了 Yii2 框架中视图和布局的各种函数,并综述了它们在实际开发中的应用场景。通过深入探讨每个函数的功能和用法,为开发者提供了全面的参考,帮助他们在项目中更高效地利用这些工具。 ... [详细]
      • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
      • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
      • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
        本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
      • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
      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社区 版权所有