Android 使用位于“原始”或“资产”文件夹中的文件
目前,我可以从互联网上下载一个文件并存储在SD卡上,然后从那里使用该文件。但是,这样可以查看包含专有数据的文件。我更喜欢使用像原始或资产文件夹的文件。 我将跳过下载代码,但我使用该文件的代码如下Android 使用位于“原始”或“资产”文件夹中的文件,android,Android,目前,我可以从互联网上下载一个文件并存储在SD卡上,然后从那里使用该文件。但是,这样可以查看包含专有数据的文件。我更喜欢使用像原始或资产文件夹的文件。 我将跳过下载代码,但我使用该文件的代码如下 File myFile = new File (android.os.Environment.getExternalStorageDirectory() + "/folder/filename.xml"); Intent myIntent = new Intent(Intent.ACTION_V
File myFile = new File (android.os.Environment.getExternalStorageDirectory() + "/folder/filename.xml");
Intent myIntent = new Intent(Intent.ACTION_VIEW);
myIntent.setData(Uri.fromFile(myFile));
Android用默认应用程序打开文件,一切正常
我发现类似的Q/A都是围绕着使用类似
Uri.parse("android.resource://com.projectname.testing/raw/filename");
及
但是我不知道如何将这两种格式中的任何一种恢复为“文件”格式,以便与我的.setData代码一起使用
我想通过简单地以文件的形式访问文件来解决我的问题。但是,由于它正由我读过的外部应用程序使用,我可能需要使用模式_world _readable创建文件的临时副本,然后在应用程序关闭后将其删除。这听起来需要做很多额外的工作,尤其是因为我上面的代码确实适用于存储在SD卡上的文件
有人有什么想法吗?
谢谢
我更喜欢使用像原始或资产文件夹的文件
请注意,这些也可以看到
但是我不知道如何将这两种格式中的任何一种恢复为“文件”格式,以便与我的.setData代码一起使用
setData不接受文件。它需要一个Uri。使用Uri.parse解析其他类型的Uri值-您已经有了上面显示的代码
但是,由于它正由我读过的外部应用程序使用,我可能需要使用模式_world _readable创建文件的临时副本,然后在应用程序关闭后将其删除
它肯定需要具有世界可读性。此外,并非所有应用程序都支持所有方案,因此支持file://或http://的应用程序可能不支持android。资源://。谢谢您的回复。您能否详细说明如何查看原始或资产文件夹中的文件?我认为它们被编码并打包到.apk中,这需要“黑客”才能侵入。因此,如果有人拥有我的私人数据,这将证明获得了“非法活动”——此外,我尝试了各种不同的Uri.parse选项,但似乎没有任何效果。它只在我传递一个文件时才起作用。@lifeIsGood:您能详细说明如何查看原始或资产文件夹中的文件吗?-其他应用程序都可以阅读这些内容。
InputStream ins = getResources().openRawResource(R.raw.filename);