hello all i am developing an android application which listen to incoming whatsapp notification and show it in listView using NotificationListenerService
. i need he
Create a class by name BitmapBase64.class and use whereever you need. Either way of conversion can be done.
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Base64;
import java.io.ByteArrayOutputStream;
public class BitmapBase64
{
public static Bitmap convert(String base64Str) throws IllegalArgumentException
{
byte[] decodedBytes = Base64.decode(
base64Str.substring(base64Str.indexOf(",") + 1),
Base64.DEFAULT
);
return BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.length);
}
public static String convert(Bitmap bitmap)
{
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream);
return Base64.encodeToString(outputStream.toByteArray(), Base64.DEFAULT);
}
}
Usage :
Bitmap bitmap = BitmapBase64.convert(BASE_64_STRING);
String base64String = BitmapBase64.convert(BITMAP);
But this is suggested if the image is small, if not go with online storage and retrieval. Be careful with out of memory as well as this is quite often when your dealing with bitmaps.