Web サービスから画像を使用する方法と、その画像を Android の imageview コントロールに表示する方法を教えてもらえますか?
私はGoogleで多くの例を試しましたが、それらはすべて明確ではありません.
このコンセプトを実現するために、少なくとも 1 つのサンプルを教えてください。
貴重なお時間をありがとうございます…!
Web サービスから画像を使用する方法と、その画像を Android の imageview コントロールに表示する方法を教えてもらえますか?
私はGoogleで多くの例を試しましたが、それらはすべて明確ではありません.
このコンセプトを実現するために、少なくとも 1 つのサンプルを教えてください。
貴重なお時間をありがとうございます…!
どのwebservericeがsoapまたはjsonを使用する場合でも、URLを取得する必要があります。
ImageView imageView = (ImageView) findViewById(R.id.detailImageView);
if(urlToDownload!=null)
{
URL url = new URL(urlToDownload);//url of image to download.
url.openConnection().setConnectTimeout(1000);
bitmap =BitmapFactory.decodeStream(url.openConnection().getInputStream());
imageView.setImageBitmap(bitmap);
}
どのタイプの Web サービスを使用していますか?
KSOAP を使用している場合は、このように使用できます。
try
{
ht.call(SOAP_ACTION, envelope);
final SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
final String encodedImage = response.toString();
byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT);
decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
yourimgView.setImageBitmap(decodedByte);
catch (Exception e) {
e.printStackTrace();
}
サーバーに保存されている画像のURLを使用して、Webサーバーから画像を消費できます....
AndroidのデフォルトImgaeView
はhttp URIをサポートしていません..画像URLのhttp URIをサポートするこのサードパーティRemoteImagView
のライブラリを使用できます....
API から Image_URL を取得します。
たとえば、次のように言います: http://lh6.googleusercontent.com/-jZgveEqb6pg/T3R4kXScycI/AAAAAAAAAE0/xQ7CvpfXDzc/s1024/sample_image_01.jpg
この URL を以下の関数に渡すと、 Bitmap が取得されます。
public static Bitmap loadBitmap(String url) {
Bitmap bitmap = null;
InputStream in = null;
BufferedOutputStream out = null;
try {
in = new BufferedInputStream(new URL(url).openStream(), IO_BUFFER_SIZE);
final ByteArrayOutputStream dataStream = new ByteArrayOutputStream();
out = new BufferedOutputStream(dataStream, IO_BUFFER_SIZE);
copy(in, out);
out.flush();
final byte[] data = dataStream.toByteArray();
BitmapFactory.Options options = new BitmapFactory.Options();
//options.inSampleSize = 1;
bitmap = BitmapFactory.decodeByteArray(data, 0, data.length,options);
} catch (IOException e) {
Log.e(TAG, "Could not load Bitmap from: " + url);
} finally {
closeStream(in);
closeStream(out);
}
return bitmap;
}
image.setImageBitmap(bitmap); を設定できます。
これがあなたを助けることを願っています。
注 : イメージのリストをロードする場合は、レイジー ローダーを使用します。
Web サービスの応答を確認すると、画像の URL が見つかり、その URL を取得して画像ビュー オブジェクトに渡すことができます。Webサービスの応答を投稿すると、質問に対する適切な応答が得られます。