Java 允许用户使用的好方法';安卓应用的图片资源?

Java 允许用户使用的好方法';安卓应用的图片资源?,java,android,android-drawable,Java,Android,Android Drawable,在我的应用程序中,我向用户显示列表中的项目,项目如下所示: Map<String, Integer> map = new HashMap<>(); map.put("icon_1", R.drawable.icon_1); 现在,我用于构建此类列表的对象有一个字段,指示我要使用的图标。图标(大小合适)存储在文件夹可绘制hdpi,可绘制mdpi,可绘制xhdpi,可绘制xxhdpi中 public class ListItem { private String

在我的应用程序中,我向用户显示列表中的项目,项目如下所示:

Map<String, Integer> map = new HashMap<>();
map.put("icon_1", R.drawable.icon_1);

现在,我用于构建此类列表的对象有一个字段,指示我要使用的图标。图标(大小合适)存储在文件夹
可绘制hdpi
可绘制mdpi
可绘制xhdpi
可绘制xxhdpi

public class ListItem {
    private String firstLineText, secondLineText;
    private String iconName;
 }
我保留了一个绑定图标名称和资源id的映射,如下所示:

Map<String, Integer> map = new HashMap<>();
map.put("icon_1", R.drawable.icon_1);
Map Map=newhashmap();
地图放置(“图标1”,R.drawable.icon_1);
在我的类扩展ArrayAdapter中,在
公共视图getView(int position,View convertView,ViewGroup parent)
方法中,我只需从地图中获取图标并将其放入相应的ImageView对象中(屏幕上是绿色android)

然而,这种方法对我来说似乎太硬了,因为将来我希望我的应用程序是可定制的。我的应用程序将只是服务器-客户机系统中的一个客户机。我希望系统管理员能够更改或添加新图标,例如使用Web服务


那么,以编程方式存储外部世界的图像,然后向应用程序提供图像的好方法是什么?

在web服务器或设备的内部或外部存储器上。将图像/图标保存到内部或外部存储器中。然后使用
map.put(图标1,“图标的完整路径”)。并更改getView(),首先检查第二个参数是资源标识符还是完整路径。@greenapps如何缩放不同屏幕的图像?Drawable以几种不同的分辨率存储,是否可以动态缩放存储在内存中的图像?是的。这当然是可能的。但对于一台设备,所需的图像将始终相同,因此您可以立即下载正确大小的图像。