/ assets或res / raw中的Android映像

时间:2011-12-07 22:22:36

标签: android

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

干杯,

麦克

3 个答案:

答案 0 :(得分:7)

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

资源,允许您访问文件夹中的文件但不能创建子文件夹,而且您必须将文件放在正确的位置,以便位图进入/res/drawable,布局xmls位于/res/layout和等等。由于代码的其他部分具有标识符,因此很容易访问这些部分。 由于你想使用res/raw文件夹,这意味着你无法在其中创建子文件夹,并且你的图像不会被压缩,所以把它们放在一边不进行压缩,并考虑到它们将是很多图像然后你的应用程序将是有点沉重。

以下是您可能会发现有用的两个链接:WiseAndroidProviding Resources - Dev Guide

答案 1 :(得分:0)

将图像添加到应用程序时,应将它们放在“res / drawable”中。该文件夹适用于不特定于任何dpi级别的图像。为了获得最佳效果,每个图像应该有三种尺寸,并将它们放在各自的dpi文件夹中,例如“res / drawable-hdpi”,用于高分辨率图像。 This是阅读资源和设备兼容性文档的一个很好的部分。

答案 2 :(得分:0)

谢谢大家,

我已经做了一些重新思考,关于图像,我将使用我喜欢的jQuery Mobile图库,并为用户提供查看图像的选项,如果手机处于离线状态,他们没有选项,布局简单地默认为具有通用图像的布局,没有活动中带有几个if语句的Web视图以及表示您需要访问Internet才能查看图像的Toast。

我解决了我可能将图像降低到20 - 30Mb这太多了,没有人想要他们的手机,甚至我都没有测试......哈哈。

干杯,

麦克