-----------------------
ByteArrayOutputStream os = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.JPEG, 100, os);
byte[] bin = os.toByteArray();
-----------------------
としてBitmapをbyteへ変換して送信し、
受信側で
-----------------------
BitmapFactory.Options options = new BitmapFactory.Options();
Bitmap bitmap = BitmapFactory.decodeByteArray(bin, 0, bin.length, options);
-----------------------
として受信できないか、と思っていました。
しかし、実際にはInputStream.read(buffer)してくるときに
うまくデータがreadできていないようです。
デバッグしたところ。おそらくデータサイズが大きいため、
readに渡しているbufferが溢れているため、
一旦readから返ってきているようです。
while(true)でループを回して、再度取得しに行くようにしたのですが、
今度は何度かループを回った後、read(buffer)から返って来なくなってしまいました。
Bluetoothでのbyteデータ受信には、データ量の制限などがあるのでしょうか?
---------read部分--------------
byte[] buf = new byte[1024];
byte[] result = new byte[10 * 1024];
while(true){
try {
bytes = in.read(buf);
// byte連結
setBytes += bytes;
System.arraycopy(buf, 0, result, setBytes, buf.length);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
-----------------------
※何度かreadして、10Mbyteまでは受信できるようにしています。
2012年10月8日月曜日 15時03分19秒 UTC+9 ohisama: