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

解決済みの質問

Androidアプリでネット上から取得した画像を表

また、お世話になります
Androidアプリを勉強しながら作成しております
以前アプリからインターネット上の画像を読込して表示したいと質問たところ回答頂いたので、いろいろやってみたのですが未だ表示する事が出来ずにいます
回答を頂いて、いろいろ調べて試してみましたが全然わからない状態です
http://bit.ly/dVhcV3

回答でアドバイス頂きそれまで調べれなかった事も検索出来て試行錯誤してやりましたが、どうしても出来ないのでよろしくお願します
(good-failure様本当にありがとうございました)

以下がソースです

package jp.imgs;

import 文字数オーバーの為省略

/** メインクラスの定義 */
public class testimgs extends Activity {
/** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  
  //ここ未処理です
  ImageView img = (ImageView)findViewById(R.id.imageView2);

 ImageInputStream imgin = null;
 InputStream in = null;
 try {
 //インスタンス化
 URL url = new URL("http://www.hoge.com/hoge.png");
 //インスタンスを取得
 HttpURLConnection connect =(HttpURLConnection)url.openConnection();
 //
 connect.setDoInput(true);
 //ダウンロード指定
 connect.setRequestMethod("GET");
 //データ取得
 in = connect.getInputStream();



 //エラー出ていると思われる部分
 imgin = ImageIO.createImageInputStream(in);



 //以下未処理です
 BufferedImage im = ImageIO.read(imgin);
 // 後はBufferedImageを適当に利用する
 // 出来れば img に BufferedImage im を入れたい



 } catch (Exception ex) {
 ex.printStackTrace();
 } finally {
 try {
 imgin.close();
 //eclipseで×出るのでコメントアウト中
// connect.disconnect();
 }
 catch (Exception ex2) {
 ex2.printStackTrace();
 }
 }
 }
}


(ソースには誤りがあると思います)

【私の知識&技術レベル】
PHPとMySQLを少々、Java初体験

【現状】
エミュレータ、実機でテスト
エラー発生(『The application tetings(process jp.imgs)has stopped unexpextedly.Olease try again.』)するのでコメントアウトしながらエラー発生場所を逆上ると
ImageInputStream imgin = ImageIO.createImageInputStream(in);
で、発生しているようです

【開発環境】
Eclipse

【やった事】
ググりました沢山ヒットしますが目的のソースに出会う事は出来ませんでした

【質問・やりたい事】
(1)setContentView(R.layout.main)の中の(R.id.imageView2)に外部から取得した画像を表示したい
(2)finallyの処理のdisconnect();で構文エラー出ているのでその対応方法

以上2点です
質問するにも低レベル過ぎて本当に失礼と思いますが、是非アドバイスと回答よろしくお願いたします

投稿日時 - 2011-03-10 20:28:47

QNo.6584732

すぐに回答ほしいです

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

ああ! 大変、申し訳ないです。Androidでしたね。
前回、普通にJavaのソースをあげてしまいました! 大変失礼しました。
Androidですと、ImageIOクラスがないのです。ですので、動かないのは道理です。

URL url = new URL("http://hoge/hoge.png");
InputStream input= url.openStream();
Bitmap bitmap= BitmapFactory.decodeStream(input);

Androidだと、こんな感じでイメージのダウンロードが出来るのでした。
後は、ImageViewなら、そのままsetImageBitmapメソッドなどでイメージを設定できるはずです。

imageview.setImageBitmap(bitmap);

大変、失礼しました。

投稿日時 - 2011-03-10 20:58:39

お礼

超速攻回答ありがとうございます。
感謝です。

ばっちり表示されました。
ありがとうございます。

なんか知っている人にとっては何でも無い事かもしれませんが、たった1枚の画像だけど超感激しました。

次はデータベースからデータ取得するの頑張ります。

本当にありがとうございます。

投稿日時 - 2011-03-10 21:40:49

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

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

回答(1)

あなたにオススメの質問