画像データ(写真データ)をサーバーからJSON形式で受信して表示させようとすると、
!!! FAILED BINDER TRANSACTION !!!
となってしまいます。
画像サイズを大幅に落とすと、
エラーがでないのですが、
できれば、画像サイズは落としたくありません。
また、BASE64に変換した文字列が長すぎて、
JSON形式で送信するときも、
途中までしか表示がされません。
お聞きしたいことは2点です。
・サーバー側(Java)でJSON形式にする際に、BASE64以外に圧縮する方法はありますでしょうか?
・画質を落とさずにAndroidとサーバーでデータのやりとりをする方法はありますでしょうか?
【ソースコード】
BASE64へのエンコードをおこなっているソースコードです。
java
1String imageStr1 = Base64.encodeToString(image1 , Base64.NO_WRAP)
サーバー側では
JAVA
1ByteArrayInputStream imageBlob1 = new ByteArrayInputStream(imageStr1);
Blob型としてMySQLに挿入して、
java
1byte[] imageByte1 = imageBlob1.getBytes(1, (int)imageBlob1.length()); 2String imageStr1 = new String(Hex.encodeHex(imageByte1));
MySQLからBlob型で抽出した値をString型に変換して、
JSON形式で送信しております。
そのJSONをAndroid側で
java
1JSONObject json = new JSONObject(result);
受信して、結果を表示させてみると
39583223hkli3u5
BASE64の途中で結果が途切れてしまっている状態です。
何卒、みなさまのお力添えのほど、
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/12 10:08
2015/10/12 10:42
2015/10/12 11:11