在Android平台上访问应用程序的项目文件
问题描述:
因此,在我的Eclipse安卓项目中,我有一个我想要打开的pdf文件,我查找了android开发人员页面上的标准地址,并且提出了这个指针:在Android平台上访问应用程序的项目文件
File file = new File("Android/data/com.alex.testing.app/res/raw/jazz.pdf");
其中jazz.pdf位于res->raw
在我的Eclipse项目, 和com.alex.testing
是我的包名。
不过,当我尝试if(file.exists())
,函数返回false(在它进入一个else我已经设置了显示错误消息仿真器)...
很抱歉的新手问题,但我真的很坚持这个:(。
答
好了,从目前的应用程序访问的资源,你可以使用像,
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
目录中,然后将其复制到任何公共访问区域,然后从该路径查看该文件。
答
放在资产文件夹中的文件,并选择从那里
文件现在使用Context.getAssets().open("jazz.pdf")
并传递所产生的InputStream
成PDF解析器库
答
//如果您
存储在SD卡的位置会
"data/data/com.alex.testing/res/raw/jazz.pdf"
//你看从原文件夹资源直通下面的代码
InputStream inputStream = getResources().openRawResource(R.raw.jazz);
byte[] reader = new byte[inputStream.available()];
谢谢,我试过[此](http://stackoverflow.com/questions/4447477/android-how-to-copy-files-in-assets-to-sdcard),我试图打开该文件与Adobe Reader应用程序,但它给了我一个错误,“该文件无法打开。”另外,当我检查fileviewer/sdcard /时,那里什么都没有......我做错了什么? : - ?目前我使用的是Yoram Cohen的代码。 – user1123530 2012-03-06 22:57:10