gpt4 book ai didi

Android - 获取图像资源到 Uri : IllegalArgumentException

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:25:59 25 4
gpt4 key购买 nike

我正在尝试从我的 Android 应用程序中的资源加载图像,但我不断收到“IllegalArgumentException:URI 中的预期文件方案”错误。

我将我的“missing_album_art.png”文件放在我项目的 drawable-hdpi、drawable-ldpi 和 drawable-mdpi 文件夹中,然后刷新 Eclipse 以显示它们在那里。

我用来创建 Uri 的行是:

Uri uri = Uri.parse("android.resource://android.aberplayer/R.drawable.missing_album_art");

“android.aberplayer”是我的应用程序的主包,也是包含我在其中使用上述行的类的包。

我不断收到的错误是:

03-16 00:16:29.252: E/AndroidRuntime(25598): FATAL EXCEPTION: main
03-16 00:16:29.252: E/AndroidRuntime(25598): java.lang.IllegalArgumentException: Expected file scheme in URI: android.resource://src.android.aberplayer/R.drawable.missing_album_art
03-16 00:16:29.252: E/AndroidRuntime(25598): at java.io.File.checkURI(File.java:245)
03-16 00:16:29.252: E/AndroidRuntime(25598): at java.io.File.<init>(File.java:182)
03-16 00:16:29.252: E/AndroidRuntime(25598): at android.aberplayer.CurrentSongList.getCurrentAlbumArt(CurrentSongList.java:69)

在 Android 应用程序中访问图像资源有什么我不明白的地方吗?

最佳答案

如果你可以将图像文件放入assets文件夹,下面的代码可以用来获取Uri -

Uri uri=Uri.parse("file:///android_asset/images/missing_album_art.png");

请注意,Uri.parse 用于从字符串 Url 中获取 Uri,而不是直接从资源中获取。还有其他更清洁的解决方案,但我不记得了。找到它们后我会更新帖子。

编辑:如果要直接使用资源,String Uri 路径应采用以下格式:-

"android.resource://[package]/[res type]/[res name]"

检查 this post.

关于Android - 获取图像资源到 Uri : IllegalArgumentException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9730210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com