私はこのトピックについて多くの研究を行っていますが、手がかりはありません..
Web サービスから画像をダウンロードしていますが、特定の画像のみをダウンロードするには、投稿パラメータに URL を渡す必要があります。
Image の形式は私もわかりませんが、AppTester を使用しているときに URL で post パラメータの値を渡すと、Web サービスを介して得られる応答は "image.png" です。
ここで試しているコードは次のとおりです。
public String HTTPConnect(String uri1,List<NameValuePair> list,Context context)
{
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(uri1);
if(list!=null)
{
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(list);
httpPost.setEntity(formEntity);
}
//URI uri=httpPost.getURI();
HttpResponse httpResponse = httpClient.execute(httpPost);
// Log.i("RESPONSE RETURNS THIS :", ""+httpResponse);
// Log.i("getEntity().getContent() RETURNS THIS :", ""+httpResponse.getEntity().getContent());
in = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent()));
StringBuffer sb = new StringBuffer("");
String line = "";
// String NL = System.getProperty("line.separator");
while ((line = in.readLine()) != null) {
sb.append(line +" "); //sb.append(line +NL);
}
in.close();
result = sb.toString();
}
catch(UnsupportedEncodingException e)
{
String err = (e.getMessage()==null)?"Cant connect to server":e.getMessage();
Log.e("Network Error:",err);
}
catch (MalformedURLException e) {
String err = (e.getMessage()==null)?"Malformed Exception":e.getMessage();
Log.e("Malformed Exception:",err);
}
catch(Exception ex)
{
// Log.i("Exception,ex", ex.getMessage());
String err = (ex.getMessage()==null)?"NetworkConnectionException":ex.getMessage();
Log.e("NetworkConnectionException:",err);
}
finally {
if (in != null) {
try {
in.close();
} catch (Exception ex) {
String err = (ex.getMessage()==null)?"Excepion":ex.getMessage();
Log.e("Exception:",err);
}
}
}
return result;
}
別のクラスでこのメソッドを呼び出して、結果の文字列を次のようにバイトに変換します。
ArrayList<NameValuePair> postParameters2 = new ArrayList<NameValuePair>();
postParameters2.add(new BasicNameValuePair("Token", "token"));
postParameters2.add(new BasicNameValuePair("Action", "GetThumb"));
Bitmap bMap=null;
String CustomerImgXml=HTTPConnect("URL", postParameters2, this);
bMap=BitmapFactory.decodeByteArray(CustomerImgXml.getBytes(), 0, CustomerImgXml.length());
誰か助けてください..私はここで非常に混乱しています