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

このQ&Aのポイント
  • Androidアプリで外部から読み込んだ画像データを表示する方法について専門書やインターネットで検索してもわからない初心者に向けて、画像表示方法と参考サイトについてご紹介します。
  • 初心者向けのAndroidアプリで外部から画像データを表示する方法について、専門用語を避けてわかりやすく解説します。参考になるサイトもご紹介します。
  • Androidアプリを勉強中の初心者のために、外部から読み込んだ画像データをアプリに表示する方法を解説します。専門書やネット検索でわからない場合でも、参考サイトを使って実装できるように説明します。
回答を見る
  • ベストアンサー

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

こんにちは Androidアプリを勉強しながら作成しています。 今までPHPとMySQLをやっていたのですが、JAVA初体験でわからない事が沢山あり専門書を見たりネットで検索したりしております。 今回の質問は外部(インターネット上)にある画像を端末に表示する方法がわからず質問してみました。 【例】 http://www.hogehoge.com/hoge.png 上記のhoge.pngをアプリ側の画面に表示させたい。 いろいろ検索して調べて見たのですが、素人なので専門用語に弱くここに来ました。 どのようにしたら表示出来るのか教えてください。 また、参考になるサイトありましたら、是非教えてください。 なにぶん初心者なのでよろしくお願いいたします。

  • Java
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
noname#161640
noname#161640
回答No.1

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(); } }

nstammy507
質問者

お礼

感謝です。 ほんとうにありがとうございます。 > ストリーム利用の基本はわかりますか? 全然理解していません 涙 と、言うよりJava初体験でクラス(?)とか各種専門用語、命令すらわかっていません。 (お恥ずかしい話、どれが命令でどれが一意名なのか区別も付かないレベルです) 調べても知りたい事以外の処理も出て来たりして、質問すら出来ないで困っていました。 サンプルコードありがとうございます。 早速やってみたいと思います (このコードをどうやって呼び出すかが今度は問題だっりします)(笑えない悩み) > java.ioのストリーム関連クラス、java.netのURL/HttpURLConnection クラスあたりについてまず勉強してみてください。 ありがとうございます。 検索する方法が見つかりましたので、手探りで頑張ってみます。 この検索する方法すら悩んでいたので、ほんとうに嬉しい回答でした。 ちょっとずつ勉強して行きたいと思いますので、しょうもない質問していると思いますが、また見かけましたよろしくお願します。 重ね重ね感謝しております。ありがとうございました。

nstammy507
質問者

補足

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

関連するQ&A

  • Androidアプリで外部データベースからデータ…

    こんにちは Androidアプリを勉強しながら作成しています。 今までPHPとMySQLをやっていたのですが、JAVA初体験でわからない事が沢山あり専門書を見たりネットで検索したりしております。 今回の質問はAndroidアプリ側で『hogehoge』と入力した場合、外部データベースへ飛んでその中から『hogehoge』に関連した情報を取得したいと思っているのですが、その手法がわかりません。 専門用語が羅列しているので、なかなか検索する事も出来ず困っております。 どのようにしたらデータ取得出来るのか教えてください。 また、参考になるサイトがございましたら、是非教えてください。 【質問内容】Androidアプリで外部(インターネット上)にあるデータベースからデータ取得したい なにぶん初心者なのでよろしくお願いいたします。

    • ベストアンサー
    • Java
  • Androidアプリについて-ファイルの外部読込方

    androidアプリ作成を勉強しています。 (別件も質問しています。) 外部ファイル(http://yahoo.xxx/xxx/xxx/msg.txt) http://yahoo.xxx/xxx/xxx/msg.txtの内容 こんにちは テスト表示です アプリから外部ファイルを読込して、内容を表示したいのですが、どのようになったらいいかわかりません。 いろいろ調べて見たのですが、専門用語の羅列で困惑して質問してみました。 なにぶん初心者なのでよろしくお願いたします。

    • ベストアンサー
    • Java
  • n枚の画像読み込み時の処理について【Android

    こんにちは、ひさしぶりにAndroidアプリ開発(趣味)をやっています。 今回知りたい事は外部にある【画像】を端末で並べて表示したいと言う処理です。 【画像】は自分が撮影した適当な画像なのですが、その時によって何枚あるかわかりません。 よって、レイアウトを固定する事が出来ないので困っています。 あまりレイアウトはこだわらないのですが、枚数が固定されていない時はどのようにして端末(xml)を操作したらよいのか教えてください。 なにぶん専門用語もわからず、検索方法も単純な語句でしかしてないので、参考になるサイトが見つかりません。 【知りたい事】 複数画像(枚数不確定)を読み込んで画面に表示させたい。(レイアウトはさほど重視してません) 【やった事】 いろいろやり過ぎて書ききれません 泣 【開発環境】 Eclipse 以上、初心者なので参考になるサイト等がありましたら、是非ご教授願います。 よろしくお願いします。

  • Androidでの画像管理アプリ

    最近iPhoneからAndroidに変更したのですが、画像管理アプリについて質問です。 使用端末とAndroidのバージョン 端末:Nexus5 Android:5.1.1 Android標準の「フォト」というアプリだと、カメラで撮った画像、インターネットから保存した画像、スクリーンショットなどがフォルダ分けされて表示されてしまい、端末内に保存されている全ての画像が一括で表示されません。 iPhoneの「写真」という標準アプリであれば、カメラ画像もインターネットから保存した画像も一括して見られたので、同じよう出来ないでしょうか。 Androidのフォトというアプリで出来るのであれば、その設定方法。 もしフォトで出来ないのであれば、それに代わる画像管理アプリを教えていただけないでしょうか。 なお、QuickPicというアプリを試してみたのですが、「フォト」と同様にフォルダ分けされてしまい、全ての画像を一括表示することはできませんでした。

  • 外部DBアクセスするAndroidアプリについて

    Androidアプリで、外部DBに登録されているユーザを検索→一覧画面に表示し、一覧画面に表示された詳細ボタンから詳細画面へ遷移する仕組みを作りたいと思っています。 Androidから直接DBアクセスするためにはサーバ側でポートを解放しなければならず、セキュリティ上よろしくないので、サーバにPHPプログラムを置き、DBアクセスはPHPで行いたいと思っています。 しかし、検索まではいくものの、Androidへの結果の返し方がわかりません。 どなたか方法をご存じの方いらっしゃいますでしょうか。 また、そもそもこういった外部DBにある大量データを扱うアプリの場合、全てWebviewにしてしまうのが一般的なのでしょうか?なるべくならAndroidのコンポーネントを使った画面にしたいと思っているのですが。。

  • Android:複数アプリを一括削除できるアプリ

    Android 4.0を搭載してる、auのHTC-J(秋冬モデルなでく、春夏モデルの方)なる端末を持っています。 で、表題の通り、 複数アプリを一括削除できるアプリ でおすすめはありますか? なお、k's uninstaller を使っていて、まあまあ便利なのですが、 文字列を入力してアプリを検索できる機能がありません。 あと、アプリすべてを表示できません(内部ストレージにあるアプリと外部ストレージにあるアプリで別々に表示されます) なので、おすすめをお教えいただけますでしょうか? なお、複数候補を比較検討したいので、 すでにどなたかが回答されてても、さらに回答をいただけると幸いです。 よろしくお願いします。

  • 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点です 質問するにも低レベル過ぎて本当に失礼と思いますが、是非アドバイスと回答よろしくお願いたします

    • ベストアンサー
    • Java
  • Androidアプリでネット上の画像を表示

    また、お世話になります Androidアプリを勉強しながら作成しております 以前、ネット上にある画像をアプリに読込して表示する方法を聞いて、勉強しながら表示する事が出来ました。 しかし、たまに取り損ねる事がありこの回避方法を教えてください。 現在のソース String url = "http://www.hogehoge.com/hoge.jpg"; try { URL url = new URL(url); InputStream input = url.openStream(); Bitmap bitmap = BitmapFactory.decodeStream(input); Bitmap bitmap1 = Bitmap.createScaledBitmap(bitmap, 100, 75, true); getimg1.setImageBitmap(bitmap1); } catch (Exception ex) { ex.printStackTrace(); } finally { } 【知りたい事】 ネット上にある(必ずあるのが条件)画像を取り損ねる事があるので、その対応方法を知りたい。 【開発環境】 eclipse galaxy S Windows vista スペルミス等がありましたら、ご了承ください。 宜しくお願します。

    • ベストアンサー
    • Java
  • android htmlアプリ内のiframe

    よろしくお願いします。ローカルhtml(assetsフォルダ内)をWebviewに読み込むアプリを作成しています。この中にiframeがあり、そこにもローカルに準備した別のhtmlを読み込むようにしたく、htmlファイル内で相対パスを指定しています。 基本的にはこれで問題なく動いているのですが、一部の端末もしくはバージョン(事象が確認できたのはXperiaHD android4.0.4 で、別のブラウザをデフォルトに設定しているケース)で、 「アプリの起動時にデフォルトブラウザが立ち上がり、ファイルが無いと言われる」 事象が発生しています。 この時ブラウザ(デフォルト設定されたもの)のアドレスバーには「file:///アプリのフォルダ名~/assets/~」といった、アプリ作成時に使っているパスが表示されています。 ちなみにiframeの方にもhtmlは読み込まれているので、単に余計なブラウザが立ち上がってしまっている状態、です。 この現象を回避したいのですがなにかよい手だてはないでしょうか? なおアプリから開いた別のURLは別のブラウザを起動して表示したいので、java側でsetWebViewClientとする方法はとりたくありません。 よろしくお願いします。

    • ベストアンサー
    • Java
  • コマンドプロンプト バッチ|結果を変数に代入する方法

    バッチで、外部のEXEを実行した結果を変数に代入する方法を教えてください。 外部のEXEは hogehoge.exe あいうえお と実施した場合 おえういあ という結果を返します。 たとえば… SET HOGE=hogehoge.exe あいうえお ECHO %HOGE% の結果として おえういあ を表示する という風にしたいです。

専門家に質問してみよう