【问题标题】:Android: How to receive a complete html, with images and css files as string?Android:如何接收完整的 html,将图像和 css 文件作为字符串?
【发布时间】:2012-03-16 14:50:55
【问题描述】:

我正在寻找一种仅在 wifi 上缓存我的 html、css 和图像的方法。如果不在 wifi 上,应用程序将从缓存中读取。我知道一种可以在 iPhone ASIHTTPRequest 上使用 Base64 编码解决的方法。

那么,如何接收一个完整的html,以图像和css文件为字符串,以便我可以将其存储在手机上并在离线模式下显示?

编辑 - 已解决

  1. 使用HttpClient获取html
  2. 匹配所有src和href标签(src|href)s*=s*\"([^\"]+)\"
  3. 从服务器获取文件并将其转换为Base64
  4. 用转换后的 html 中的 Base64 字符串替换文件名标签
  5. 将新的 html 字符串插入 Sqlite 数据库以供使用:)

【问题讨论】:

  • HTML 将如何显示?它会以什么速度更新?
  • 你有这个实现的演示代码吗?

标签: android image caching offline


【解决方案1】:

您可以使用HttpClient类下载html文件和其他相关文件并存储。

【讨论】:

  • 我尝试过使用 HttpClient 并且它只是下载了 html。我需要图像和 css - 文件
  • 我猜你需要解析html并下载你自己的相关资源。
  • 如何实现这样的功能?
  • 我认为的一个解决方案是,您可以搜索地址 (a)、图像和其他类似标签 html 标签,解析 url,使用 httpclient 下载内容,然后将所有这些链接更改为本地 url 和保存它。
  • 1.使用这个简单的正则表达式从 HTML 中获取所有 URL: /(src|href)="([\w=:\./\-]+)"/ 2. 下载由您抓取的网址。 3.过滤通过这个简单的正则表达式下载的所有.css文件:/url(\s*[\'"]*([^)]*)[\'"]*\s*)/ 4.下载所有指向的资源通过这些网址。请记住,在此过程中,您必须将 HTML 中的所有 URL 转换为与您的新位置相关的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-18
  • 1970-01-01
  • 1970-01-01
  • 2021-09-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多