1

我需要从云数据库中获取给定的可绘制名称,并检查本地包中是否存在匹配的可绘制对象。如果没有,我需要创建图像的本地副本以供使用,这样我就不会经常访问远程资源。最好的方法是什么?我可以访问数据库,执行 SQL,所有这些东西。我只需要知道如何 A)检查本地包是否存在名为(例如)“图标”的 Drawable,如果它在本地不存在,我需要知道如何创建和存储本地副本(通过HTTPstream 也许?)。

4

1 回答 1

6

1:像这样检查你的drawable:

int resID = getResources().getIdentifier("icon", "drawable", "your.package.namespace");
if (resId == 0){
    //drawable isn't there. You have to fetch it through Http or whatever
} else {
    //getDrawable like this
    Drawable d = getResources.getDrawable(resId);
}

2:您不能将下载的drawable放入drawableFolder中。但您可以将其下载到 res/raw 或 sdcard。如果您已经下载了这个特定的可绘制对象,请注意检查该位置。

于 2012-05-15T16:09:48.173 回答