使用应用程序中存储的图像的本地路径将 Web 应用程序加载到 Web 视图中

2024-03-23

我希望能够创建一个使用 WebView 请求 url 的应用程序 从外部 Web 应用程序返回 html 和 css 引用作为实际应用程序中的资产的图像。这 想法基本上是加速一切,以便图像永远不必 被下载。

这是一个简化的示例:

服务器 HTML:

<html> 
  <head> 
  <style> 
     #myImage { background-image: url("file:///android_asset/myImage.jpg"; width: 50px; height: 50px;} 
  </style> 
  </head> 
  <body> 
    <div id="myImage"></div> 
  </body> 
</html>

那么,有什么办法可以做到这一点吗?我的主要目标是让应用程序从服务器请求所有 HTML,但能够将图像 url 映射到应用程序内的本地资源。

提前致谢, 莱昂


为什么不从应用程序端加载所有 HTML?如果您担心该网页无法访问网络 - 请使用 WebView.loadDataWithBaseUrl 方法。

要将图像嵌入网页,您可以使用 data:URI 方案:http://en.wikipedia.org/wiki/Data_URI_scheme http://en.wikipedia.org/wiki/Data_URI_scheme

即使页面是远程加载的,您也可以映射应用程序图像。您可以使用 WebView.loadUrl("javascript:....") 通过 JavaScript 代码“发送”图像数据(也使用 data:URI 方案)。

EDIT.

首先,在 HTML 端,嵌入图像的示例将如下所示:

<html> 
  <head> 
  <style> 
     #myImage { background-image: url('data:image/png;base64,iVBORw0KG.....'); width: 50px; height: 50px;} 
  </style> 
  </head> 
  <body> 
    <div id="myImage"></div> 
  </body> 
</html>

当,如果你想将这个页面存储在应用程序端,你可以将它存储在某个地方(字符串资源、资产文件夹)并在获取它时。

String pageResource = // get it somehow
WebView myWebView;

myWebView.loadDataWithBaseUrl(
    "http://my.site.com",  // The base url
    pageResource,          // page content to load...
    "text/html",           // it's MIME type...
    "UTF-8",               // and encoding
    "http://my.site.com/page.html");

现在 WebView 已加载您的页面。它是从本地资源加载的,但从 WebView 的角度来看,它就像是从网络加载的。它也可以访问网络资源和在这里工作的 JavaScript 代码(这是两者之间的主要区别loadData and loadDataWithBaseUrl).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用应用程序中存储的图像的本地路径将 Web 应用程序加载到 Web 视图中 的相关文章

  • android:应用内计费:错误响应:7:项目已拥有

    我正在学习为我的应用程序实现应用程序内计费 以便人们可以在按下捐赠按钮时捐赠美元 用户可以多次捐赠 即购买的是消耗品 下面的代码来自 TrivalDrive 示例和网上的一些教程 Code IabHelper mHelper static
  • 如何使用MonkeyDevice.instrument?

    嗨 大家好 我正在尝试从 MonkeyRunner 脚本运行我的测试仪器之一 不幸的是我无法让它工作 我尝试使用不同的参数变量调用 MonkeyDevice instrument 但没有成功 我试过了 设备 MonkeyRunner wai
  • 如何获取android中listview特定项目的id?

    我在用Listview并设置多个项目 每个项目都有喜欢 分享和评论选项 实际上我已经获取了 Item Id 并且还setText of TextView 成功了 但无法在特定项目的 Like 按钮单击事件上获取项目 ID 如何获取每个项目的
  • Android 应用内更新 - 无法检测到 AppUpdateInfo 中的更新

    我们使用时会抛出一些日志语句 Task
  • android 6.0运行时需要哪些权限

    我有一个 Android 代码 可以在 Android 5 0 版本上正常运行 我的AndroidManifest xml is
  • 如何在 Android 中嵌入和播放 YouTube 视频

    我们可以在 Android 应用程序中观看 YouTube 视频吗 我的意思是 如果我们有 YouTube 上的视频链接 我们可以在 VideoView 或其他小部件中播放它吗 有什么想法吗 答案很简单 是 请查看以下链接 如何在我的 An
  • 如何在屏幕上动态移动 Textview? (框架布局)

    我有一个应用程序 可以在屏幕上的 FrameLayout 上显示相机视图 屏幕处于固定风景模式 我需要编写一个带有动态确定的屏幕坐标的textView 坐标以百分比确定 例如 将文本视图写入屏幕坐标 x 80 y 20 屏幕上 将文本视图写
  • “赠送”应用内购买 Android

    有没有办法将 Google Billing 中的应用内购买 赠送 给特定帐户 我把这个问题放在这里是因为如果有一种方法可以以编程方式完成它 那很好 但不是必须的 在官方文档中找不到任何相关内容 我想要这个的原因是因为我的一个应用程序目前处于
  • 如何布局文本以围绕图像流动

    你能告诉我是否有一种方法来布局文本 围绕图像 像这样 text text text text text text text text text text text text text text text text text 我已经收到一位
  • 我应该如何使用 Perl URI 类?

    我需要在 Perl 程序中处理一些 HTTP URL 但我怀疑应该如何处理URI https metacpan org module URI类帮助我 特别是 我想使用URI用于解析相对 URL 并获取其组件的类 然而 问题是 我需要一个可以
  • 安装应用程序时复制 SD 卡上的文本文件?

    我正在开发一款安卓游戏 我想在用户第一次安装游戏时将文本文件复制到外部 SD 卡 文本文件对于正确运行游戏非常重要 我怎样才能做到这一点 我应该将文本文件放在 Eclipse 源项目中的哪里 以便当我构建 apk 文件时 我的文本文件也会捆
  • RecyclerView OnClick 位置

    我正在尝试获取我的点击项目的位置RecyclerView 然而 这有点奇怪 只让我在点击时记录位置 而不让我做一个Toast的位置 看这里 public class MainAdapter extends RecyclerView Adap
  • 如何在外部浏览器中打开 Android 应用程序中的链接?

    任何人都可以帮助我在代码中打开外部浏览器或其他 Android 应用程序中的链接吗 现在的情况是链接在应用程序本身中打开 但如果该链接属于 Android 应用程序 则无法打开 它显示安装 Android 应用程序 所以我希望如果链接可以在
  • 从alertDialog构建器获取editText值

    我是新来的android 我需要得到editText s搜索某些东西的价值 但是当我运行程序时 出现错误null pointer exception EditText etSearch 没有获取它的文本 请帮我 谢谢 public bool
  • onCreateOptionsMenu(菜单菜单)是什么

    方法中的Menu和menu两个参数是什么onCreateOptionsMenu Menu menu 以及如何使用这个方法 我还有一个问题为什么this参数用于 Intent intent new Intent this DisplayMes
  • Android - 向 Android 的内置应用程序添加菜单项

    我想在 联系人 菜单中添加按钮或菜单项 是否可以 我使用 Android 2 2 和 Eclipse 3 6 1 不可以 内置 Android 应用程序不支持菜单中的意图选项 即您无法向其中添加任何内容
  • 如何打开相机然后切换到图像模式(反之亦然)

    就我而言 我想拍照或捕捉视频 实际上 如果我创建单独的意图 我可以做到这些 我的意思是我可以将相机打开为图像模式或视频模式 但无法在它们之间切换 这与我使用的意图过滤器有关吗 我应该怎么办 我如何在它们之间切换 我有同样的问题 在我想放置一
  • 如何在 Android Studio 中为单独的模块生成签名的 APK?

    我的项目有 3 个模块 include app include videograbber include audiograbber 现在我想为Videograbber模块生成签名的APK 当我在 Android Studio 中使用 生成签
  • Android相对布局放置问题

    我在 XML 中为列表项创建相对布局以用于 ListView 中的一系列项目时遇到问题 我已经尝试了几个小时 并且正在撕扯我的头发 试图让它看起来像我想要的那样 但无法让所有东西都出现在正确的位置 而不是重叠或错位 我可以获取第一张图像和接
  • 使用 Asp.net 中的路由在 URL 中添加语言名称

    如何使用路由在 URL 中添加语言名称 我的网站运行于http localhost 41213 default aspxURL 成功 但该网站是多语言的 我的客户希望根据他想要的语言运行该网站http localhost 41213 en

随机推荐

  • 使用 Chrome 开发者工具调试 onFocus 事件?断点后无法返回焦点

    我正在尝试调试 JavaScriptonFocus附加到页面上一堆文本框的事件 选择一个文本框然后按 Tab 键切换到下一个文本框时会出现此错误 我试图通过在其中放置一个断点来调试它onFocus使用 Chrome 开发者工具的事件 我面临
  • Prolog 时间重叠问题

    假设我有这个知识库 free ann slot time 8 0 time 9 0 free ann slot time 10 0 time 11 0 free bob slot time 7 0 time 8 30 free bob sl
  • Jenkins Copy Artifact 解析复制的构建 ID

    我在 Jenkins 2 73 1 中使用 在多分支管道中复制神器插件 https wiki jenkins io display JENKINS Copy Artifact Plugin要从其他两个管道获取最后成功的工件 请参阅我的 Je
  • 范围类型如何影响 EntityQuery 对象的重用方式

    for UserList userList UserList Component getInstance UserList class ScopeType METHOD userList getUserByEmailAddress emai
  • iPhone 旋转和全屏视频

    我遇到了一个奇怪的问题 需要帮助解决 我的应用程序始终以纵向模式运行 我明确希望它是这样的 在应用程序的一处 我有一个 UIWebView 它工作得很好 正如预期的那样 此 Web 视图并非始终显示 而是动态添加到主视图并根据用户操作删除
  • 如何加载本地JSON文件?

    我正在尝试通过 jquery 加载本地 JSON 文件 代码工作正常 但数据在数组中不可用 getJSON ajax data myjasonfile json function json console log json 我的控制台仅显示
  • 函数指针和返回类型转换

    假设我有一个执行一些副作用然后返回答案的函数 int foo perform some side effect return 42 我要绑定foo到函数指针 但我对答案不感兴趣 只是副作用 void bar foo 然而 这似乎是一个类型错
  • 正则表达式提取“--!!”之后的所有文本在 R dplyr 中

    我试图在 R 中使用 dplyr 来提取由变量的某些实例过滤的数据框中变量字符串后面的子字符串name在下面的例子中 我正在尝试将所需的结果传递到一个名为的新变量中income rent 我是正则表达式的新手 我的尝试是 income ca
  • 如何在 Perl 中进行字母数字排序?

    我有一个如下所示的文件 80 1p21 81 19q13 82 6p12 3 83 Xp11 22 84 3pter q21 86 3q26 33 87 14q24 1 q24 2 14q24 14q22 q24 88 1q42 q43 8
  • 在 GCP App Engine 标准环境上安装 cmake 的解决方法

    我需要安装dlib封装在应用程序引擎标准对于需要的应用程序cmake 以下是我在安装时遇到的错误 我尝试添加cmake and cmake setup在requirements txt中但没有用 ERROR Failed to build
  • 在 c# 2008 中使用正则表达式验证的电话号码验证?

    我想验证这种格式的电话号码 即 919981424199 91231456789 我正在使用 Asp net c 2008 来开发网站 为此 我使用了正则表达式验证控件 gt 属性 gt 验证表达式 0 9 0 9 但这接受号码为91998
  • Emacs 确定键盘布局

    Emacs 有没有办法检测当前的键盘布局 我经常用英语和德语写文本 切换 Win 操作系统 键盘布局 但是 某些功能 例如 C Y 应始终位于相同的物理键上 无论我当前使用哪种语言进行输入 Thanks 考虑使用M x set input
  • 使用 Firebase 和 APNs 身份验证密钥进行生产推送通知

    在 TestFlight 上测试我的应用程序时 我注意到我没有收到推送通知 我已确认 当从 Xcode 加载构建时 我可以收到从云函数和 firebase 控制台发起的通知 我引用了其他类似的问题 但没有一个反映我正在处理的确切问题 在 F
  • 如何将文件保存到 MongoDB?

    我想将用户选择的文件保存到 MongoDB 如何正确地将文件添加到 BSON 对象以便将其添加到 MongoDB 如果我的方法不正确 请指出正确的方向 下面是客户端代码 此 jQuery 函数收集每个输入字段上的文本 需要文件部分的帮助 并
  • Spring Boot 几分钟后停止解析视图

    我有一个 Spring Boot 应用程序 它突然停止解析视图 而是向我抛出 404 错误 这些是我的依赖项
  • 如何从代码隐藏中确定 ASP.NET 生成的 ID?

    在 ASP NET 中 当您为标签提供 ID 时 它会根据控件层次结构为该元素生成唯一的 HTML id 即
  • 如何在未聚焦时保持 WPF 文本框选择?

    我想在 WPF TextBox 中显示一个选择 即使它没有焦点 我怎样才能做到这一点 我已将此解决方案用于 RichTextBox 但我认为它也适用于标准文本框 基本上 您需要处理 LostFocus 事件并将其标记为已处理 protect
  • d3 强制定向图删除文本光标

    当我向 d3 力定向图形布局中的节点添加文本时 当我将鼠标悬停在该节点上时 鼠标指针会更改为文本光标 有没有办法避免这种情况并始终让它保持常规指针 普通指针 文本光标 这是一个fiddle http jsfiddle net pkerped
  • 在哪里可以找到 Java API 代码[重复]

    这个问题在这里已经有答案了 我听说Java是开源代码 那么 我可以获得 Java API 编码方法吗 如果是这样 请告诉我在哪里可以获取 Java API 的源代码 您可以在src zip在JDK安装目录下 From Java docs h
  • 使用应用程序中存储的图像的本地路径将 Web 应用程序加载到 Web 视图中

    我希望能够创建一个使用 WebView 请求 url 的应用程序 从外部 Web 应用程序返回 html 和 css 引用作为实际应用程序中的资产的图像 这 想法基本上是加速一切 以便图像永远不必 被下载 这是一个简化的示例 服务器 HTM