質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

3638閲覧

Kotlin: ダウンロードする画像を、ビューにセットできる程度に縮小する方法が知りたい

Haruto513

総合スコア52

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2020/02/12 08:07

編集2020/02/12 08:51

Androidアプリ開発の勉強中です。
60KBほどの画像をインターネットからダウンロードして画面に置かれたImageViewにセットしたいのですが、
SkImageDecoder::Factory returned nullと出てしまいます。
下記のようなコードになっています。このページを参考に書きました。

Kotlin

1 2 fun onbuttonclick(v:View) { 3 imageDownload().execute() 4 } 5 6 private inner class imageDownload: AsyncTask<String,String,Bitmap>() { 7 override fun doInBackground(vararg params: String?): Bitmap? { 8 var image: Bitmap? = null 9 val url = URL("https://d.kuku.lu/fd1b1dbeb9") 10 11 val con = url.openConnection() as HttpURLConnection 12 con.connectTimeout = 10000 13 con.readTimeout = 10000 14 con.requestMethod = "GET" 15 con.instanceFollowRedirects = false 16       con.setRequestProperty("Accept-Language", "jp") 17 try { 18 con.connect() 19 val inst = con.inputStream 20 val bitmap = BitmapFactory.decodeStream(inst) 21 image = bitmap 22 inst.close() 23 } catch (e: IOException) { 24 Log.e("IOException", e.toString()) 25 } 26 con.disconnect() 27 return image 28 } 29 30 override fun onPostExecute(result: Bitmap?) { 31 val imageview = findViewById<ImageView>(R.id.ivDownload) 32 imageview.setImageBitmap(result) 33 } 34 35

追記 試してみてわかったこと

調べていて、画像のサイズが大きすぎるとSkImageDecoder::Factory returned nullと出てしまうという情報を見かけたので、ダウンロードする画像のURLを変えてみました。

http://books.google.com/books/content?id=BCzrPQAACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api

上記のURLでやってみると、画像がImageViewにセットされました。

やはり画像サイズが大きすぎたのが問題なのでしょうか。
ダウンロードした時に、表示できるくらいに小さくすることはできるのでしょうか。
よろしければご教示くださるとうれしいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Haruto513

2020/02/13 00:28

そもそもリンクが間違っていたんですか……ダウンロードページというので、てっきり通信して画像を取れるものだと考えてました。すいません、教えてくださりありがとうございました。
guest

回答1

0

自己解決

そもそも用意したURLが間違っていました。
ダウンロードしたい画像のURLは、画像を右クリックして画像のアドレスをコピーを選ぶとURLを取得できます。それで改めて同じ処理を行ってみたところ、画像がイメージビューに無事にセットされました。
誤解を指摘してくださった方、ありがとうございました。

投稿2020/02/13 00:51

Haruto513

総合スコア52

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問