2013-06-05 24 views
0

嗨,大家好,我想問你一件事,我有一個聊天傳輸字符串,我甚至可以附加JPEG圖像,然後發送它們將其轉換爲字符串,然後在BITMAP中解碼只是當我解碼它崩潰的應用程序。我想知道它是否是正確的解碼代碼。android解碼字符串基地64位圖

  NOME = (TextView) row.findViewById(R.id.comment); 
    NOME.setText(coment.comment); 
    String a = NOME.getText().toString(); 

    if(a.length() > 1024) 
    { 
     byte[] image = Base64.decode(a, 0); 
     int lung = a.length(); 
     Bitmap bitmap = BitmapFactory.decodeByteArray(image, 0, lung); 


     Image = (ImageView) row.findViewById(R.id.image); 
     Image.setImageBitmap(bitmap); 

    } 
+0

請在這裏添加logcat的,這樣一看就明白你崩潰的原因 – Arshu

回答

0

方法編碼的圖像,以字符串的Base64

public static String encodeToString() { 
    String imageString = null; 

    try { 
     Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); 
     ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
     bm.compress(Bitmap.CompressFormat.PNG, 100, baos); //bm is the bitmap object 
     byte[] b = baos.toByteArray(); 
     imageString = Base64.encodeToString(b, Base64.DEFAULT); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return imageString; 
} 

解碼字符串的Base64到圖像的方法:

public static void decodeToImage(String imageString) { 

    try { 
     byte[] imageByte = Base64.decode(imageString, Base64.DEFAULT); 
     Bitmap bm = BitmapFactory.decodeByteArray(imageByte, 0, imageByte.length); 
     image_view.setImageBitmap(bm); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
相關問題