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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从MySql DB检索PDF到android(使用Volley)相关的知识,希望对你有一定的参考价值。

你好,我有一个表中有一些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编程中的菜鸟,任何帮助将不胜感激

答案

当然,我会加载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

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

以上是关于从MySql DB检索PDF到android(使用Volley)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 中通过 MediaStore API 检索和打开保存到下载的 PDF 文件?

无法将 pdf 文件上传到 mysql 数据库并使用 PHP 检索它?

如何使用c#winform从mysql db中检索所有数据

使用 jquery .ajax 从 mySQL DB 中检索记录

Android & PHP:使用 PHP 将数据从 Android POST 到 mysql db

从 Mysql DB 检索后,summernote 显示 html 代码