2014-01-13 3 views
1
 try 
     { 
      if(json.getString(KEY_SUCESS)!=null) 
      { 
       String res=json.getString(KEY_SUCESS); 
       if(Integer.parseInt(res)==1) 
       { 
        JSONObject json_user = json.getJSONObject("user"); 
        name=json_user.getString(KEY_NAME); 

        String image=json_user.getString(KEY_PHOTO); 

        map.put(KEY_NAME, name); 

        map.put(KEY_PHOTO, image); 

        List.add(map); 


       } 
      } 

Фотографии является строкой, которая закодирована в base64 и я хочу, чтобы расшифровать его и добавить к карте, созданной, но взять два значения строки и если я создать новую карту не добавит к этому списку, который я создал, , что мне нужно сделать, это декодировать строковое изображение, чтобы установить его на ImageView?Android ListView и декодирование изображения

ответ

1

Вы не указали, где ваша карта определена, но вы можете выбрать, какой тип объектов представляет ее пара ключ/значение.

Похоже, вы хотите взять строку, декодировать в растровое изображение и затем сохранить это на карте.

Определим отображение таким образом:

Map map = new HashMap<String, Bitmap>(); 

, а затем сохранить его таким образом:

String image=json_user.getString(KEY_PHOTO); 
byte[] decodedString = Base64.decode(image, Base64.DEFAULT); 
Bitmap bitmap = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); 
map.put(KEY_PHOTO, bitmap); 

И если вы хотите, чтобы установить растровое изображение на ImageView, вы делаете следующее.

imageView.setImageBitmap(bitmap); 
+0

Моя карта принимает 2 значения один тип строка Strin, что для имени и для изображения его строки растрового изображения так, как я могу использовать это два в комбинированном виде – joshapoorva

+0

Я все еще не уверен на 100% о вопросе. Но теперь я думаю, что вы спрашиваете, как добавить два разных типа значений объектов на одну и ту же карту, верно? В этом случае вы должны определить карту, чтобы взять строку как ключ и объект в качестве значения. Затем вы можете добавить строки или растровые изображения в одну и ту же карту. [new Hashmap ();] – bracken

+0

Да, я получил свою точку зрения после выполнения того, что сказал и передал растровое изображение на карте, его давая ошибку, что декодер - >> decode return false – joshapoorva

0

Обновите адаптер, который использует ваш список, с новой записью для строки, необходимой для декодирования.

Затем вызовите notifyDataSetChanged() от адаптера после того, как вы обновили данные в нем

+0

Можете ли вы показать, как это можно сделать, я не получил, ур point – joshapoorva

+0

Можете ли вы разместить свой код адаптера, и я объясню его на основе на что у вас есть? – TheKingInTheNorth

Смежные вопросы