Android 图片在/assets 或 res/raw

标签 android

如果我想将一堆图像放在一个文件夹结构中,例如,我正在构建一个海滩应用程序,每个海滩都通过我的海滩详细信息 Activity 显示,具体取决于从我的海滩列表中选择的海滩。然后我想显示来自那个特定海滩的五张图片。每个海滩都会有一个文件夹,其名称与海滩的 _id 相对应,然后该文件夹中有五张图像,image1.jpg、image2.jpg…image5.jpg。我应该将文件夹和图像放在/res/raw 文件夹还是/assets 文件夹中以获得最佳/最简单的方式。

干杯,

迈克。

最佳答案

Assets 将允许您创建子目录(目录中的组文件)请注意,它们没有名称限制,但是您只能通过 Assets Manager 访问它,其中包含用于列出给定目录下的文件的 list() 和用于获取的 open()文件的 InputStream。

resources 相反,允许您访问文件夹中的文件,但您不能创建子文件夹,此外,您必须将文件放在正确的位置,以便位图进入 /res/drawable,布局 xmls /res/layout 等等。资源对于代码的其他部分来说很容易访问,因为它们有一个标识符。 由于您要使用 res/raw 文件夹,这意味着您不能在其中创建子文件夹并且您的图像不会被压缩,因此不压缩它们并考虑它们将是很多图像那么你的应用会有点重。

这里有两个链接可能对您有帮助:WiseAndroidProviding Resources - Dev Guide

关于Android 图片在/assets 或 res/raw,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8423460/

相关文章:

android - 如何在台式机上调试 Android 的原生浏览器(不是 Chrome)?

java - RxJava2 上的 MVP。何时使用它

php - android-php-mysql : json + rmi

android - 带障碍的约束布局;如何根据大小限制到障碍的底部/顶部

android - 如何确保服务没有被杀死

Android 相当于 iOS "scale to fill"

android - 输入按键事件在数字输入字段上不起作用?

java - 在一个 Firebase 数据库中使用两种不同的结构

android - 如何为每个项目按钮设置值增加和减少单击并在 TextView 中设置该值

java - 如何将 Telegram 联系人照片同步到 Android 联系人?