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