Android アプリケーションでは、から撮った写真を送信しているので、a をバイト配列Camera Intent
に変換する必要があります。Bitmap
これを行うには、次のように使用ByteArrayOutputStream
します。
private byte[] getRawImageData(Bitmap source) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] rawImageData = null;
try {
source.compress(CompressFormat.JPEG, DEFAULT_COMRESSION, baos);
rawImageData = baos.toByteArray();
} finally {
try {
baos.close();
} catch (IOException e) {
// handle exception here
}
}
return rawImageData;
}
すべてが正常に動作し、実際の問題は、ByteArrayOutputStream
javadoc と Android のドキュメントのドキュメントの違いです。
Javadocの読み取り
ByteArrayOutputStream を閉じても効果はありません。
Androidのドキュメントには次のように書かれています:
このストリームを閉じます。これにより、このストリームに使用されているシステム リソースが解放されます。
何があってもストリームを閉じますが、どのドキュメントが正しいのか、なぜ異なるのかを知りたいです。