私はImageViewに画像を設定したいImageViewに取り組んでいますが、そのImage(バイト配列)はWebサーバーから直接来ています..概念は次のとおりです:
1) さまざまなパラメータを Web サーバーに送信していますが、Web サーバーはその特定の ID の画像を送信しています (URL ではなく画像のみ)。
2) SD カードに保存せずにその画像を ImageView に直接表示したいので、ユーザーが他の ID 関連の画像を見たいときはいつでも画像がサーバーから直接取得され、最後に保存されません。
[編集]
サーバーから値を取得し、byte[] で返します
static BufferedReader in=null;
byte[] result_image;
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);
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_image = String.valueOf(sb).getBytes();
}
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);
}
}
ここでresult_imageはバイト[]であり、このバイト[]を使用してデコードし、ビットマップで表示しています..助けてください.