応答がpng画像であるため、httpresponseから応答を復号化する必要があります。
HttpPost httppost = new HttpPost(tileURLString);
nameValuePairs.add(new BasicNameValuePair("x", String.valueOf(ValueX)));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
そして私が
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
if (entity == null) {
Log.i("Error","No content download");
}
InputStream in = entity.getContent();
これは仕事です。しかし、xorを使用して復号化するには、この出力を文字列として取得する必要があるため、次のようにします。
String responseText = EntityUtils.toString(response.getEntity());
InputStream in = new ByteArrayInputStream(responseText.getBytes());
PS。これはまだ通常の入力ストリームだけを復号化するわけではありませんが、機能しませんでした。私は一日ググった。お願い助けて。この作業が機能する場合は、次のステップ(復号化)に進みます。前もって感謝します。
編集:または私はこのメソッドを使用します
private String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(
new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append((line + "\n"));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
次に、これを使用してinputstreamに変換し直しましたが、機能しませんでした。
public InputStream convertStringToStream(String text)
throws UnsupportedEncodingException {
return new ByteArrayInputStream(text.getBytes("UTF-8"));
}