前半で携帯もJavaも経験はあまり長くないこと(初心者)を示し
詳しく知っているふりなんてしてないけど何で『知ったか』って言われんだか。

見つけたWebからのコピーだけど

byte[] w=new byte[10240];
out=new ByteArrayOutputStream();

while (true) {
size=in.read(w);
if (size<=0) break;
out.write(w,0,size);
}

return out.toByteArray();

HTTPでContent-Lengthが取れれば
にしてByteArrayOutputStream,toByteArrayが省けるな。

とはいうものの
こんなことしなくてもメモリも速度も問題ないんだろうけど
気になっただけ。

この通信中って短い時間ではあるものの
ほかのスレッドが動いてくれないみたいだね。
ちょっとでも止まって欲しくないもんで
細かいことが気になったんですよ。