1

我正在为 android 开发一个应用程序,该应用程序显示了狂欢节的活动列表。我希望应用程序具有每个活动的图像,以避免用户在运行应用程序时必须下载它,并改善用户对应用程序的体验。

为此,我已将每个活动的图像添加为资源,但我不知道这是否是最好的方法。Resource 有一些我不喜欢的限制,例如您不能在可绘制文件夹中创建子文件夹来组织图像,唯一接受作为资源名称的字符是 [a-zA-Z0-9_] 等。 ...

有什么好的方法吗?或者如果我想避免用户必须下载图像,我必须使用资源。

谢谢

4

3 回答 3

1

android 系统旨在将所有可绘制项目(又名图像)放在资源文件夹中。如果您希望图像与您的应用程序一起打包(而不是事后下载),则需要将它们包含在 res/drawable 中

于 2012-06-01T18:26:09.070 回答
1

下载图像总是更好,但如果您的要求是应用程序应该事先拥有所有图片,那么您可以使用“资产”文件夹,我认为对图片名称没有限制。我已经尝试了以下代码并且它有效:

ImageView img = (ImageView)findViewById(R.id.activity_image);
    try {
        Drawable d = Drawable.createFromStream(getAssets().open("@ahd ka.png"), null);
        img.setImageDrawable(d);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

我特意使用了一个名称中带有特殊字符的 png 文件,只是为了表明程序可以运行。希望这可以帮助。

于 2012-06-01T18:46:57.093 回答
1

您可以在用户第一次加载您的应用程序时下载图像,然后将其保存到 sdcard。

当您的应用程序再次运行时,请检查 sdcard 中是否可用的天气图像。

如果没有,则下载图像,否则使用 sdcard 中的图像。

于 2012-06-01T18:16:00.713 回答