みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Androidアプリで外部から読み込んだ画像データ

こんにちは
Androidアプリを勉強しながら作成しています。
今までPHPとMySQLをやっていたのですが、JAVA初体験でわからない事が沢山あり専門書を見たりネットで検索したりしております。
今回の質問は外部(インターネット上)にある画像を端末に表示する方法がわからず質問してみました。
【例】
http://www.hogehoge.com/hoge.png
上記のhoge.pngをアプリ側の画面に表示させたい。

いろいろ検索して調べて見たのですが、素人なので専門用語に弱くここに来ました。
どのようにしたら表示出来るのか教えてください。
また、参考になるサイトありましたら、是非教えてください。

なにぶん初心者なのでよろしくお願いいたします。

投稿日時 - 2011-03-08 12:36:04

QNo.6578170

困ってます

質問者が選んだベストアンサー

AndroidでもJavaの基本は同じです。従って、Javaのネットワーク利用のきほんをそのまま活用できます。通常、HttpURLConnectionを使って指定のURLに接続するストリームを取得し、それを使ってデータの送受を行います。このあたりのストリーム利用の基本はわかりますか? 一応、イメージを受信する簡単なサンプルコードをあげておきます。もしわからないということでしたら、java.ioのストリーム関連クラス、java.netのURL/HttpURLConnection クラスあたりについてまず勉強してみてください。

ImageInputStream imgin = null;
InputStream in = null;
try {
URL url = new URL( アクセスするアドレス );
HttpURLConnection connect =
(HttpURLConnection)url.openConnection();
connect.setDoInput(true);
connect.setRequestMethod("GET");
in = connect.getInputStream();
imgin = ImageIO.createImageInputStream(in);
BufferedImage im = ImageIO.read(imgin);
// 後はBufferedImageを適当に利用する
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
imgin.close();
connect.disconnect();
}
catch (Exception ex2) {
ex2.printStackTrace();
}
}

投稿日時 - 2011-03-08 16:21:17

補足


いまく行かないのです
imgin = ImageIO~のImageIO ← でクラスを作成してってでます (eclipse使用)
現在テストソースでビルドターゲットandroid1.6
たった1枚の画像を表示するだけで悪戦苦闘してます。
よろしかったらアドバイスお願します。

投稿日時 - 2011-03-09 15:20:36

お礼

感謝です。
ほんとうにありがとうございます。

> ストリーム利用の基本はわかりますか?
全然理解していません 涙
と、言うよりJava初体験でクラス(?)とか各種専門用語、命令すらわかっていません。
(お恥ずかしい話、どれが命令でどれが一意名なのか区別も付かないレベルです)
調べても知りたい事以外の処理も出て来たりして、質問すら出来ないで困っていました。

サンプルコードありがとうございます。
早速やってみたいと思います (このコードをどうやって呼び出すかが今度は問題だっりします)(笑えない悩み)

> java.ioのストリーム関連クラス、java.netのURL/HttpURLConnection クラスあたりについてまず勉強してみてください。
ありがとうございます。
検索する方法が見つかりましたので、手探りで頑張ってみます。
この検索する方法すら悩んでいたので、ほんとうに嬉しい回答でした。

ちょっとずつ勉強して行きたいと思いますので、しょうもない質問していると思いますが、また見かけましたよろしくお願します。
重ね重ね感謝しております。ありがとうございました。

投稿日時 - 2011-03-08 19:38:12

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問