一番かんたんなJava入門

これからJavaを始めようという人の為の超入門サイトです。丁寧、簡単にこだわった解説なので初心者にぴったりです

kindle本「Androidアプリを作ろう」のソースコードの誤りを訂正しました

time 2016/12/14

sponsored link

訂正

 kindle本「Androidアプリを作ろう」の誤植を訂正しました。

 該当箇所は、5-3-4 ギャラリーアプリを立ち上げて画像ファイルを取得して返ってくるのonActivityResultメソッドについての解説のところです。

 訂正前の状態では例外が発生する処理をtry/catchブロックで囲んでおらず、コンパイルエラーになっていました。申し訳ありません。

 新しいバージョンでは、例外について追記しております。

 しかしながら、kindleは既に購入しているものはアップデートされない仕様になっています。古いバージョンを購入している方は、以下に追記箇所をそのまま掲載しますので、参考にして下さい。

 

転載ここから↓

例外について

 このままでは、openInputStreamメソッドと、closeメソッドの部分がコンパイルエラーになっているかと思います。

exception1

 コンパイルエラーの原因は、openInputStreamメソッドとcloseメソッドは例外を投げる可能性があるからです。
 例外というのは、何か処理に問題があった場合にその処理を中断しそのエラーログを捕捉するための仕組みです。例外を投げる可能性がある処理を実行する際には、その処理をtry/catchブロックで囲う必要があります。
 例外の仕組みについてはここでは詳しく触れませんが、コンパイルエラーを避ける為に問題の箇所をtryブロックで囲っておきます。
 コンパイルエラーの赤線のところ(openInputStream)をクリックすると、左端に赤い電球マークが出現するので、それをクリックします。

exception2

 そして、Surround with try/catchをクリックします。すると自動的に該当箇所をtry/catchブロックで囲ってくれます。同様にinputStream.close();もtry/catchブロックで囲って下さい。
 これでコンパイルエラーは消えるはずです。

MainActivity.java

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode == 0){
        if(resultCode == Activity.RESULT_OK){
            ContentResolver contentResolver = getContentResolver();

            InputStream inputStream = null;
            try {
                inputStream = contentResolver.openInputStream(data.getData());
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }

            Bitmap  bitmap = BitmapFactory.decodeStream(inputStream);

            try {
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

            imageView.setImageBitmap(bitmap);
        }
    }
}

 

転載ここまで

 既にご購入いただいていた方には、ご迷惑をおかけしました。申し訳ありませんでした。
 ご報告いただいた読者様、ありがとうございました。

分からないことはプロのエンジニアに聞いてみてください↓

sponsored link

Androidアプリを作ろう

down

コメントする



一番かんたんなJava入門

Androidアプリの作り方

忘備録

私の作ったAndroidアプリ

おすすめ入門書・サービス

おすすめプログラミングスクール

 この本は全く何も分からない初心者の方にお勧めです。プログラミングをするには覚えなければならない事が無茶苦茶いっぱいありますが、この本は教えてくれる順番、その構成が素晴らしいです。RPGのゲームを作るというストーリーにのっとってちょっとずつ難しいことを教えてもらえます。
 無機質で膨大なデータが載っているような本は読む気にならないという方は、こういうストーリー仕立ての本でチャレンジしてみてはいかがでしょうか?(注:RPGを作る為の本ではありません。)

 ある程度、Javaを読み書きできるようになったら、オブジェクト指向について学ぶべきです。本書は、抽象的で分かったような分からんようなオブジェクト指向という考え方について、非常に分かりやすい例を出して説明してくれています。オブジェクト指向とは何なのか?という本質を掴むのにこれほど適した本はないと思います。
 オブジェクト志向の理念を理解できれば、より効率のいいコードをより楽に書けるようになるはずです。Java上級者を目指すなら必読の一冊![詳細]

フリーランスで稼ぎたい人へ

管理人

Nobuo_CREATE

Nobuo_CREATE

WordPressテーマPrinciple、マテリアルを作ったり、Androidアプリを作ったり、Java入門サイトを作ったり、本を書いたりしています。どうぞよろしく。 [詳細]



sponsored link

オススメ書籍

 この本は全く何も分からない初心者の方にお勧めです。プログラミングをするには覚えなければならない事が無茶苦茶いっぱいありますが、この本は教えてくれる順番、その構成が素晴らしいです。RPGのゲームを作るというストーリーにのっとってちょっとずつ難しいことを教えてもらえます。
 無機質で膨大なデータが載っているような本は読む気にならないという方は、こういうストーリー仕立ての本でチャレンジしてみてはいかがでしょうか?(注:RPGを作る為の本ではありません。)

 ある程度、Javaを読み書きできるようになったら、オブジェクト指向について学ぶべきです。本書は、抽象的で分かったような分からんようなオブジェクト指向という考え方について、非常に分かりやすい例を出して説明してくれています。オブジェクト指向とは何なのか?という本質を掴むのにこれほど適した本はないと思います。
 オブジェクト志向の理念を理解できれば、より効率のいいコードをより楽に書けるようになるはずです。Java上級者を目指すなら必読の一冊![詳細]

只今、急拡大中

JavaからのRuby on Rails入門

JavaからのRuby on Rails入門

大人気!COBOLからのJAVA

国内の仮想通貨 取引所まとめ

【仮想通貨を始めたい人必見】日本国内の全取引所まとめ&オススメ