学向勤中得,萤窗万卷书。这篇文章主要讲述从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
【从MySql DB检索PDF到android(使用Volley)】是否可以从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()
我认为没有针对您的特定复杂用例的教程。我会按以下步骤前进:
- 处理从您的数据库加载纯pdf BLOB并将其作为文件存储在本地,直到您可以在普通的PDF阅读器应用程序中成功打开它
- 既然您知道您的tmp.pdf文件已正确恢复并且应该可渲染,请尝试使用android.graphics.pdf.PdfRenderer在您的应用程序中渲染它 - 这是第2步,因为您已经知道运行时问题不是文件陷入困境
- 接下来尝试在json字符串中使用base64编码的pdf blob执行步骤1和2
- DONE
推荐阅读
- 安卓材质按钮,文字上方有图标。
- Android(我们什么时候使用getIntent()())
- 如何从我的应用程序在MS-Excel或MS-Word - Android中打开excel,doc文件
- 获取选择选择器意图谷歌驱动器文件文件没有谷歌驱动器Api集成Android
- 如何使用Android Intent System在whatsapp上分享最少n人的文本
- 无法在AndroidManifest.xml中添加Intent
- android插入活动堆栈
- 在Android 4.2+上使用intent安装apk时启用降级
- 不是封闭的类错误Android Studio