![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
お世話になっております。
前回
http://oshiete.goo.ne.jp/qa/6829605.html
こちらで質問させて頂き、リストに画像を表示することに成功したのですが、
画像URLが"~~.JPG"(大文字)であったり、画像以外のファイルURLである場合、
エラーが出て強制終了してしまいます。
これを回避するにはどうしたらよいでしょうか。
問題のある画像URLの場合はダミーの画像ファイルを代わりに表示させるか、
なにも表示させないかにしたいです。
どうぞよろしくお願いします。
No.4ベストアンサー
- 回答日時:
ふと思ったのですが。
アクセスするRSSデータは、UTF-8でエンコードされていますか。そのへんの、文字コードによる問題はありませんか。
また、問題の大文字のJPEGファイル名ですが、全角文字が混ざっていたりすることはないでしょうか。あるいは、小文字でアクセスすると表示される、というようなことはないでしょうか。
ParseExceptionでエラーになっているというのは、プログラムの問題というより、元データに問題がある可能性も考えたほうがいいでしょう。
good-failure様
お世話になっております。
あれから色々と調べてみたところ、
やはり元データに問題があったようでした。
毎度毎度ご丁寧にありがとうございます!
No.3
- 回答日時:
ちょっとよくわからなくなってきましたね……。
item.getProfileImageUrlで得られる値(URL)はどうなっているのか確認をして、そのアドレスで正しくイメージが取得されるか調べる、ということぐらいしか思いつかないのですが……。
ちょっと思ったのですが、エラーが起こる要素はきまっているのでしょうか。つまり、必ず同じ項目でエラーになりますか。あるいは、XMLの内容がどう変わってもおかしくなるのでしょうか。そのあたりで、どういう値の時にエラーが起こるかを探ってみるしかないと思います。
例えば、大文字で名前が指定されているとエラーになるとか、そういうエラーになる条件を探りだす、ということですね。表示される場合とされない場合の値の違いを調べてみてはいかがでしょう。それぐらいしか今は思いつかないのですが。
good-failure様
毎度、お世話になっております。
エラーが起こる要素はきまっております。
そのエラーが出る画像はJPG(大文字)形式であり、
また、リストでいうと、21項目目に表示されるものです。
パーサーで、20項目目までしか表示されないようにすると、
エラーも出ず、問題ないのですが、21項目目まで表示されるようにすると
エラーが出てしまいます。
しかし、GIF(大文字)の画像ですと、正常に表示されることを確認いたしました。
他の画像も表示されているので、
item.getProfileImageUrlで得られる値は正常に取得できていると思います。
先ほどのお礼にも記載しましたが、
task.execute("エラーの出てしまう画像URL");
だと、リストの画像がすべてエラーの出てしまう画像になりますが、
エラーも出ず、表示されます。
お手を煩わしてしまって申し訳ございません。
またなにか分かれば補足いたします。
No.2
- 回答日時:
エラーメッセージというのは、そういうことではなくて、Java仮想マシンで実行時に標準出力に書きだされるコードです。
ひょっとして、デバッグモードで実行したことはないですか? デバッグモードで実行してエラーが起こると、コンソールにエラーメッセージが吐き出されるはずですが……。それを追っていくと、どの部分で例外が発生しているのかわかります。もしやったことがないようなら試してみてください。デバッグは、開発の基本ですので、基本的なやり方は理解しておきましょう。また、そのコード部分ですが、例外処理というのはわかりませんか? こういうものです。
try {
……ここに実行する処理を書く……
} catch(Exception e){
……ここにエラー時の処理を書く……
}
先ほどのURLからImageViewを生成する部分を、このtry {……}のところにいれて動かしてみてください。このtryの後の{}内に書いた処理でエラーが起こると、そのままcatchにジャンプし、そこでエラーの処理を行うようになります。
good-failuregood-failure様
お世話になっております。
なにからなにまでお手間を取らせてしまい申し訳ございません。
エラーメッセージは以下の通りです。
ERROR/AndroidRuntime(927): Uncaught handler: thread main exiting due to uncaught exception
ERROR/AndroidRuntime(927): java.lang.RuntimeException: Unable to start activity ComponentInfo{jp.co.test/jp.co.test.MainActivity}: java.lang.RuntimeException: org.xmlpull.v1.XmlPullParserException: Error parsing document. (position:line -1, column -1) caused by: org.apache.harmony.xml.ExpatParser$ParseException: At line 1214, column 49: not well-formed (invalid token)
TwitterAdapterクラスの
ImageView imageView = (ImageView)view.findViewById(R.id.icon);
// バックグラウンドで画像取得
DownloadTask task = new DownloadTask(imageView);
task.execute(item.getProfileImageUrl());
の
task.execute(item.getProfileImageUrl());を、
task.execute("http://test.jpg");にすると、
リストの画像がすべてhttp://test.jpgになりましたので、
try{
DownloadTask task = new DownloadTask(imageView);
task.execute(item.getProfileImageUrl());
}catch(Exception e){
DownloadTask task = new DownloadTask(imageView);
task.execute("http://test.jpg");
}
としてみましたが、やはり、画像以外のURLが読み込まれるとエラーが出て終了してしまいました。
またなにか勘違いをしているかもしれません。
ためしに、
task.execute("エラーの出てしまう画像URL");
にすると、エラーの出てしまう画像URLが問題なく表示されました。
お手数をお掛けしますがどうぞよろしくお願いします。
No.1
- 回答日時:
>エラーが出て強制終了してしまいます。
このような場合は、発生した例外のメッセージを掲載するように心がけましょう。エラーメッセージは、エラー解決の一番の材料なのですから。
一般的にはですが、インスタンスのが生成できずnullであるために例外が発生しているのだろうと思えます。現在、どのようなコードになっているのかわからないのでなんともいえないのですが、URLからオブジェクトを生成するあたりをtry構文で例外処理を組み込み、例外が起こったらcatch内でダミー画像を表示する処理を用意することになるでしょう。
この回答への補足
ごめんなさい、またレスが途中で切れてしまっていまあした。
思いついたのが、Adapterクラスで
ImageView imageView = (ImageView)view.findViewById(R.id.icon);
// バックグラウンドで画像取得
DownloadTask task = new DownloadTask(imageView);
task.execute(item.getProfileImageUrl());
となっているのを
ImageView imageView = (ImageView)view.findViewById(R.id.icon);
// バックグラウンドで画像取得
DownloadTask task = new DownloadTask(imageView);
if(imageView != null){
task.execute(item.getProfileImageUrl());
}else{
task.execute("https://www.sample.png");
とすることでしたが、上手くいきませんでした。
good-failure様
いつもお世話になっております。
焦ってしまって、色々と抜けてしまい申し訳ございませんでした。
エラーメッセージは
"Sorry! The application ~ has stopped unexpectedly.Please try again."
です。
コードは
ttp://labs.techfirm.co.jp/android/cho/1079
こちらのサイト様を参考にしております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- その他(IT・Webサービス) PCを立ち上げ時いつも同じ画像が出ます(トラブル発生、終了) 2 2022/04/23 12:46
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- Windows 10 Windows10にてjpg形式の画像が開けません 4 2022/08/24 14:37
- Windows 10 フォルダ内の全ての画像を矢印キーでスライドできるようにしたい 1 2022/10/21 12:53
- フリーソフト 倍率自動調整して全画面表示できるフリーの画像ビューアー 1 2023/08/24 10:55
- HTML・CSS リンクバナーのHTMLタグ。画像を変えたり、設置位置を変えるとバナー貼付け側はどう見える? 2 2023/02/01 12:01
- 防犯カメラ・監視カメラ・小型カメラ VHSを高画質な動画ファイルにしたいです。 3 2022/05/06 12:08
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
jspのファイルでエラーが出る
-
コンパイル時にエラーが出てし...
-
java1.5 でハッシュマップの使い方
-
Androidアプリ開発・サンプルコ...
-
eclipseでのライブラリの追加に...
-
java socketエラーについて
-
シンボルが見つかりませんとい...
-
Eclipseの環境について
-
Strutsのbean:writeにclassを適...
-
MySQL JDBC エラー
-
(今日の夕方までに)class、inte...
-
Tomcatインストール時に付属し...
-
Antでのビルドにエラー
-
JAVAでアルファベットを数...
-
html上で、バッチやexeファイル...
-
マイクラjavaでForgeを入れたい...
-
Eclipseのアンインストールの仕方
-
サーブレットでhtml,cssや画像...
-
CloudSticky.jarが起動しない。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
シンボルが見つかりませんとい...
-
タグが閉じてないというエラー...
-
Javaのエラーについてです
-
エラー:org.springframeworkが...
-
tomcat起動時エラー
-
JSP内でString型からint型に変...
-
コンパイル時にエラーが出てし...
-
構文エラーのやり直しについて
-
Eclipseで次のエラー箇所にジャ...
-
eclipseをバージョンアップした...
-
「型 ArrayList は総称ではあり...
-
JSP NullPointerException
-
Eclipseの環境について
-
JBossについて
-
eclipseでのsvn認証エラー回避方法
-
JSPのIF文を教えて下さい
-
eclipseでのライブラリの追加に...
-
致命的: StandardServer.await:...
-
Buttonを配列とすることができ...
おすすめ情報