从MySql DB检索PDF到android(使用Volley)

问题描述 投票:1回答:1

你好,我有一个表中有一些pdf文件就像这样(注意我使用PHP存储pdf和api我将使用发送pdf文件只是简单的PHP)

id(INT) | book_name(BLOB)
   1    | book_one
   2    | book_two
   3    | book_three

我的Android应用程序看起来像这样

Android Layout

是否可以从JSON(使用php)加载pdf到android并以这种方式显示它

如果有人可以提供给我正确的教程或帮助我这样做我会很高兴我是Android编程中的菜鸟,任何帮助将不胜感激

php android android-intent android-volley
1个回答
0
投票

当然,我会加载BLOB数据,存储到App数据目录中的某个临时文件,然后用https://developer.android.com/reference/android/graphics/pdf/PdfRenderer.html显示它

关于“是否可以从JSON加载pdf”:是的,您可以将任何BLOB存储在json中作为base64编码的字符串。在这种情况下,在加载,解析json,读取和解码后,您可以将其再次保存为临时文件并使用PDFRenderer显示。对于Android上的base64解码,请检查此https://developer.android.com/reference/android/util/Base64在php中进行编码,您可以使用base64_encode()

我认为没有针对您的特定复杂用例的教程。我会按以下步骤前进:

  1. 处理从您的数据库加载纯pdf BLOB并将其作为文件存储在本地,直到您可以在普通的PDF阅读器应用程序中成功打开它
  2. 既然您知道您的tmp.pdf文件已正确恢复并且应该可渲染,请尝试使用android.graphics.pdf.PdfRenderer在您的应用程序中渲染它 - 这是第2步,因为您已经知道运行时问题不是文件陷入困境
  3. 接下来尝试在json字符串中使用base64编码的pdf blob执行步骤1和2
  4. DONE

找到你可以使用的东西,学习如何快速使用它,检查它是否能部分地解决你的问题,然后把拼图拼凑到你的解决方案中,这就是我要说的常规练习。没有关于一切的教程,通常只有基本用法。

© www.soinside.com 2019 - 2024. All rights reserved.