お世話になります。
URLにある画像をもとにOpenGLで表示したいと思い以下のコードを書きました。
しかし、url.openStream()が必ず失敗してしまします。
URLに画像は存在しています。
他に原因はありますでしょうか?
URL url = null;
try {
url = new URL("http://存在している画像.png");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.e("error", "can't read 1");
}
InputStream input = null;
try {
input = url.openStream();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.e("error", "can't read 2");
}
Bitmap bitmap= BitmapFactory.decodeStream(input);
どんな例外が出ているのですか?
2011/7/29 shinriyo <shin...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/cDueAAGh99oJ
> にアクセスしてください。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com
> にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
> からこのグループにアクセスしてください。
>
--
YAMAZAKI Makoto
こんにちは
本日試してみました
<uses-permission android:name="android.permission.INTERNET"></uses-permission> を<manifest>タグのすぐ下へ配置しました。
コードを下記のように修正しました。一応動くようになりましたが、
ソースコードのコメント(1)で「input == null」のでtrue時にも
(2)のNullPointerExceptionでキャッチされませんでしが、input == nullの例外を記載したい時はどのように記載するべきでしょうか?
URL url = null;
try {
url = new URL("http://存在している.png");
} catch (MalformedURLException e) {
Log.e("error", "can't read URL");
}
InputStream input = null;
try {
input = url.openStream();
} catch (IOException e) {
Log.e("error", "can't stream");
}
if (input == null) {
Log.e("error", "input is null"); // (1)
}
Bitmap bitmap = null;
try {
bitmap= BitmapFactory.decodeStream(input);
} catch (NullPointerException e) { // (2)
Log.e("error", "NullPointerException");
} catch (Exception e) {
Log.e("error", "Exception");
}