0
私はハイブリッドのAndroidアプリを持っています。JavaScriptを使用して回転/切り抜くために、Androidからwebviewにバイナリイメージファイルを送信しようとしています。AndroidからJavaScriptにバイナリイメージを送信するには
私はそれをbase64文字列に変換してその方法で送信しようとしましたが、時間がかかり過ぎて送信が完了しないことがありました。これは私が現在持っているものです。
public String bitMapToBase64(){
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
//add support for jpg and more.
bitMap.compress(Bitmap.CompressFormat.PNG, 50, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream .toByteArray();
String encoded = Base64.encodeToString(byteArray, Base64.DEFAULT);
return encoded;
}
はJavaScriptを使用してFileオブジェクトに変換後、バイナリとしてデータを送信し、WebViewの上でバイナリとしてそれを受け取るとする方法はありますか?
これを行うより効率的な方法がありますか?
それはあなたがBase64.encodeToString(データをENDCODEするために、この方法を試すことができます –
(でも銀河S8で)エンコードするために時間がかかりすぎるので、私は、Javaの代わりに、base64で画像からバイナリデータを受け取ることができれば、私が求めていました、 Base64.NO_WRAP);私はこのメソッドを使ってバイト配列をエンコードし、大きなサイズの画像を使ってその高速イベントを処理していました。 –
android.util.Base64.encodeToString(data、Base64.NO_WRAP); –