android decode string base 64 to bitmap

 ̄綄美尐妖づ 提交于 2019-12-25 07:39:28

问题


Hi guys I wanted to ask you one thing, I have a chat that transfers strings and I can even attach of JPEG images before sending them to convert it into a string and then decode in BITMAP just that when I decode it crashes the app. I wanted to know if it is the right code to decode it.

            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);

    }

回答1:


The code looks fine, if I had to guess I would say you're getting the Out of Memory error, which is very common when loading images. Check out

http://developer.android.com/training/displaying-bitmaps/load-bitmap.html

for some best practices when loading images.




回答2:


The method for Encoding an Image to String 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;
}

The method for Decoding String Base64 to Image :

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();
    }
}


来源:https://stackoverflow.com/questions/16945194/android-decode-string-base-64-to-bitmap

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!