android中的map,本 Map 像通过android中的本地json

让我们假设您的 drawable 文件夹中有一些图像:

drawable

image_name_1

image_name_2

image_name_3

image_name_4

...

将图像的名称放到json:

[

{

"some_field_1": "some_value_1",

"some_field_2": "some_value_2",

"some_field_3": "some_value_3",

...

"image_name": "image_name_1"

},

{

"some_field_1": "some_value_1",

"some_field_2": "some_value_2",

"some_field_3": "some_value_3",

...

"image_name": "image_name_2"

},

{

"some_field_1": "some_value_1",

"some_field_2": "some_value_2",

"some_field_3": "some_value_3",

...

"image_name": "image_name_3"

},

...

]

从JSON获取名称并加载drawab资源:

JSONArray data; // your JSON

Context context; // context

Resources resources = context.getResources();

for (int i = 0; i < data.length(); i++) {

// getting some another JSON field

// get image name from JSON

String imageName = data.getJSONObject(i).getString("image_name");

// get resource id by image name

final int resourceId = resources.getIdentifier(imageName, "drawable", context.getPackageName());

// get drawable by resource id

Drawable drawable = resources.getDrawable(resourceId);

// get bitmap by resource id

Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), resourceId);

}

Update

将图像资源ID放入HashMap

...

List> aList = new ArrayList>();

JSONArray data; // your JSON

Context context; // context

Resources resources = context.getResources();

for (int i = 0; i < data.length(); i++) {

HashMap hm = new HashMap();

hm.put("txt", "Country : " + countries[i]);

hm.put("cur","Currency : " + currency[i]);

// get image name from JSON

String imageName = data.getJSONObject(i).getString("image_name");

// get resource id by image name

final int resourceId = resources.getIdentifier(imageName, "drawable", context.getPackageName());

hm.put("flag", Integer.toString(resourceId) );

aList.add(hm);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值