我正在构建一个用于查看 pdf 文件的应用程序。我可以建立MuPDF 库。
我希望我的应用程序只打开我将保留在/assets文件夹中的 pdf 文件。提供的源代码附带从 SD 卡读取文件的代码。我想读取和显示应用程序提供的文件(在/assets或/raw文件夹中,无论哪个可行)
我是 NDK 的新手。请指导我。
我正在构建一个用于查看 pdf 文件的应用程序。我可以建立MuPDF 库。
我希望我的应用程序只打开我将保留在/assets文件夹中的 pdf 文件。提供的源代码附带从 SD 卡读取文件的代码。我想读取和显示应用程序提供的文件(在/assets或/raw文件夹中,无论哪个可行)
我是 NDK 的新手。请指导我。
资产中的文件不会作为单独的文件存储在设备上。APK 是一个压缩的 ZIP 文件;assets 文件夹只存在于那里。
在应用程序首次运行时从资产中复制文件(例如,请参见此处的示例)。
编辑:如果 MuPDF 获取文件的唯一方法是按文件名,那么你就不走运了。它不一定是 SD 卡 - 您可以使用应用程序的内部存储文件夹(用于Context.getDir()
获取)。如果它可以获取内存中的数据块,您可以通过AAssetManager
(或在Java中)在调用方读取文件并将数据传递给库。
也许Android有一个你可以利用的内存临时文件系统;我不确定。