안녕하세요. 이틀째 작업을 하다가 실패해서 질문 드립니다.


바탕화면의 Bitmap을 얻어온 후 String 변환하여 decode 한 후 서버에 저장했다가


서버에서 받아온 encoding된 String 값을 다시 Bitmap으로 받아오는 작업을 진행중에 있습니다.


서버에 전송이나 응답을 받는 과정에는 문제가 없어 encoding한 String값을 다시 Bitmap으로 변환하는 작업을


진행하였으나 항상 null값을 발생시킵니다. 하단에 소스 첨부합니다.


고수님들의 조언부탁드립니다.


WallpaperManager mWallpaperManager;

public String isCommand(Bitmap bitmap){

String bitString = convertBitmapToString(bitmap); 

sendXml = Base64.encode(bitString);

setWallpaperImg(sendXml);

}

public String convertBitmapToString(Bitmap src){ 

ByteArrayOutputStream os=new ByteArrayOutputStream(); 

src.compress(Bitmap.CompressFormat.PNG, 100, os);

byte[] image = os.toByteArray();

return new String(image); 

}

public Bitmap getBitMapFromString(String src){

Log.d(WALLPAPER_LOGGER,""+src.getBytes().length);

return BitmapFactory.decodeByteArray(src.getBytes(),0,src.getBytes().length);

}

public void setWallpaperImg(String responseXml){

mWallpaperManager = WallpaperManager.getInstance(context);

String pVal = Base64.decode(responseXml);

Bitmap bitmap = getBitMapFromString(pVal);

if(bitmap!=null){

try {

mWallpaperManager.setBitmap(bitmap);

} catch (IOException e) {

e.printStackTrace();

}

}

}