hashmap - difference between two way of converting JSON byteArray -


i have json image response this:

"userimage":[ 255, 216, 255, 224, 0,.....] 

there 2 way make response byte array:

1 -

        jsonarray resultimage = result.getjsonarray("userimage");         byte[] byteuserimage = resultimage.tostring().getbytes();         hashuserimagemap.put(userid, byteuserimage); 

2-

            byte[] tmp=new byte[result.getjsonarray("userimage").length()];         for(int i=0;i<result.getjsonarray("userimage").length();i++){             tmp[i]=(byte)(((int)result.getjsonarray("userimage").get(i)) & 0xff);         }         hashuserimagemap.put(userid, tmp); 

in second way convert bytearray bitmap:

byte[] arr = getmapinstance().get(name);                  bitmap bitmap = bitmapfactory.decodebytearray(arr, 0, arr.length); 

but in first way bitmap null. want know deference between these tow way?

the first method calls resultimage.tostring.getbytes. create json string , give ascii values each of characters contained in there.

for "[42]" these bytes: [0x5b, 0x34, 0x32, 0x5d]. wrong , there many of them. bitmapfactory reject it.

the second method goes through array element element, treats number found there byte value , constructs new array of value.

for "[42]" [0x2a] (which want).


Comments

Popular posts from this blog

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

python Tkinter Capturing keyboard events save as one single string -

sql server - Why does Linq-to-SQL add unnecessary COUNT()? -