【问题标题】:how to get file path of asset folder in android如何在android中获取资产文件夹的文件路径
【发布时间】:2014-05-19 07:42:35
【问题描述】:

我有一个 Android 应用程序,用于将 .png 图像从 Android 应用程序的资产文件夹传输到我的本地服务器。我需要获取asset文件夹中图片的路径,请参考我下面的代码,

String stringPath = "android.resource//"+getPackageName()+"/raw/sample/logout.png";             
File f = new File(stringPath);

如果我使用上面的代码,我会得到“找不到文件异常”。那么如何在asset文件夹中获取图片路径呢?

【问题讨论】:

  • 我找到了一种方法来参考我的答案here

标签: android android-assets


【解决方案1】:

试试:

file:///android_asset/raw/sample/logout.png

如果您有上下文,您可以使用context.getAssets().open("raw/sample/logout.png") 在文件上打开InputStream

【讨论】:

  • java.io.FileNotFoundException: /file:/android_asset/raw/sample/logout.png
  • 不返回实际文件路径。
【解决方案2】:

可以使用 file:///android_asset 和 file:///android_res 访问资产和资源。

 Uri path = Uri.parse("file:///android_asset/raw/sample/logout.png");

 String newPath = path.toString();

【讨论】:

  • 使用 toString() 将 Uri 转换为字符串。使用 Uri.parse() 将 String 转换为 Uri。
  • 我使用的代码与您提供的代码完全相同,但文件未找到异常只会出现,实际上我通过第三方方法传递文件路径,它只会给出该错误。他们是否有任何方法可用于检查上述代码是否正常工作。
  • 同样的问题,您无法通过这种方式获取文件的绝对路径。
  • 返回 FileNotFoundException
【解决方案3】:

您可以将您的 mp3 文件放在 : res/raw 文件夹中。

MediaPlayer mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.myringtone);
mediaPlayer.start();

【讨论】:

    猜你喜欢
    • 2012-01-18
    • 1970-01-01
    • 2023-03-15
    • 2017-01-11
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 2015-02-24
    • 2020-04-18
    相关资源
    最近更新 更多