在Android平台上访问应用程序的项目文件

时间:2012-02-24 08:30:01

标签: android file android-sdcard

所以在我的Eclipse android项目中,我有一个我想打开的pdf文件,我在android开发者页面上查找了标准地址,我想出了这个指针:

File file = new File("Android/data/com.alex.testing.app/res/raw/jazz.pdf");

其中 jazz.pdf 位于我的eclipse项目中的res->rawcom.alex.testing是我的包裹名称。

但是,当我尝试if(file.exists())时,该函数返回false(在模拟器上,它转到我设置为显示错误消息的其他地方)...

对不起新手问题,但我真的很不满:(。

3 个答案:

答案 0 :(得分:1)

将文件放入assets文件夹并从那里选择文件

现在使用Context.getAssets().open("jazz.pdf")并将生成的InputStream传递给PDf解析器库

答案 1 :(得分:0)

//如果您存储在SD卡中,您的位置将是

"data/data/com.alex.testing/res/raw/jazz.pdf"

//您通过以下代码从原始文件夹中读取资源

InputStream inputStream = getResources().openRawResource(R.raw.jazz);
byte[] reader = new byte[inputStream.available()];

答案 2 :(得分:0)

好的,要从当前应用程序访问资源,您可以使用类似

的内容
Uri path = Uri.parse("android.resource://<you package>/raw/<your_file.pdf>");

OR

Uri path = Uri.parse("android.resource://" + getPackageName() + "/" R.raw.<your_file.pdf>);

但我怀疑你是否试图在你的应用程序中使用这个pdf文件然后确定,但如果你想使用任何第三方应用程序查看此文件,那么我认为你不能这样做。

因为外部应用程序无法访问应用程序的包资源文件。

将文件放在/asset目录中然后将其复制到任何公共访问区域然后从该路径查看该文件的方式更好。