php - 从 MySql 数据库检索 PDF 到 android(使用 Volley)

标签 php android android-intent android-volley

你好,我有一个表格,里面有一些 pdf 文件 像这样 (注意我正在使用 php 存储 pdf,我将使用简单的 php 发送 pdf 文件的 api)

表格

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

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

Android Layout

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

如果有人可以为我提供正确的教程或帮助我做到这一点,我将非常高兴 我是 android 编程的新手,我们将不胜感激

最佳答案

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

关于“是否可以从 JSON 加载 pdf”:是的,您可以将任何 BLOB 作为 base64 编码字符串存储在 json 中。在这种情况下,加载、解析 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. 接下来尝试第 1 步和第 2 步,使用 json 字符串中的 base64 编码的 pdf blob
  4. 完成

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

关于php - 从 MySql 数据库检索 PDF 到 android(使用 Volley),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54876061/

相关文章:

android - Activity 跳转开始时的动画

android - 方法 findViewById(int) 未定义

java - 无法获取从 BroadcastReceiver 发送的 Intent

java - 我创建了一个默认拨号器应用程序,但 ACTION_CALL Intent 在某些设备上不起作用

android - 在 Facebook 上通过 Intent 共享文本,而不使用 Facebook sdk

javascript - php 页面选项卡未使用 AJAX 加载

php - 点击特定按钮后,访客 IP 被禁止 24 小时

php - 点击浏览器后退按钮时哪种解决方案最好

php - WHERE 语句中的 mySql 正则表达式

java - 插入大量记录