本書のサンプルプロジェクトデータを、以下のリンクからダウンロードしていただけます。サンプルデータは、ZIP形式で圧縮しておりますので、展開してご利用ください。
展開していただいたら、まず「ReadMe.txt」をお読みいただいてから、ご利用くださいますようお願い申し上げます。
**************************************************
*
*
**************************************************
—- サンプルプロジェクトのAndroid Studioバージョン3.3への対応による修正点 —-
ダウンロードのサンプルプロジェクトを、Android Studio 3.3環境で動作するように修正しました。下記にありますバージョン3.2への対応時の修正に加えて、以下の修正を行っております。
●修正内容(Kotlinのバージョンの更新)
Android Studio 3.3でプロジェクトを開くと、Android Gradle Pluginのバージョンのアップデートが求められるので、アップデートを行います(Android Studio 3.3が公開されてすぐは、Android Gradle Pluginバージョン3.3.0でした)。Android Gradle Plugin 3.3以上では、Kotlinのバージョンが1.3.0以上でないとエラーが表示されます。
これに対応するため、各サンプルプロジェクトのプロジェクトビューの「Gradle Scripts」の「build.gradle(Project: プロジェクト名)」を開き、以下の箇所を修正しています。
(修正前)ext.kotlin_version = ‘1.2.30’
(修正後)ext.kotlin_version = ‘1.3.11’
(バージョン3.2への対応サンプルでは、「1.2.61」にしていました)
●ビルドエラーなどへの対応
Android Gradle Pluginのバージョン更新にともない、第8章の「Map」アプリ、「SQLiteOpenHelper」アプリ、「Location(行動記録)」アプリでは、プロジェクトビューの「Gradle Scripts」の「build.gradle(Module:app)」にある以下の指定の「jre 」を「jdk」に修正しております。
(修正前)implementation “org.jetbrains.kotlin:kotlin-stdlib-jre7”
(修正後)implementation “org.jetbrains.kotlin:kotlin-stdlib-jdk7”
さらに、「Map」アプリでは、AndroidManifestのタグの配下に、以下の1行の追加が必要です。
(追加)<uses-library android:name=”org.apache.http.legacy” android:required=”false” />
—- サンプルプロジェクトのAndroid Studioバージョン3.2への対応時の修正 —-
ダウンロードのサンプルプロジェクトを、Android Studio 3.2環境で動作するようにしたときの修正です。ただし、ビルド時に警告が発生するところが残りますので、以下の説明をお読みください(警告がある場合も、ビルドはでき、動作します)。
●修正内容(Kotlinのバージョンの更新)
Android Studioをバージョン3.2にバージョンアップすると、Android Gradle Pluginのバージョンが古いので、プラグインのアップデートを求められますので、アップデートを行います。
このアップデートを行うと、Kotlinのバージョンが古く、新しいAndroid Gradle Pluginに対応していないという内容のGradle Sync Issuesが表示されるようになりました。
これに対応するため、各サンプルプロジェクトのプロジェクトビューの「Gradle Scripts」の「build.gradle(Project: プロジェクト名)」を開き、以下の箇所を修正しています。
(修正前)ext.kotlin_version = ‘1.2.30’
(修正後)ext.kotlin_version = ‘1.2.61’
●ビルドエラーへの対応
Android Gradle Pluginのバージョン更新にともない、第8章の行動記録アプリでビルドエラーが発生したので、以下の修正を行っています。
・453ページ 上のコードの4行目
(修正前)switchFragment.onActivityResult(requestCode, resultCode, data)
(修正後)switchFragment?.onActivityResult(requestCode, resultCode, data)
●警告への対応など
Android Gradle Pluginのバージョン更新にともない、第4章の割引計算機アプリ、第5章の世界時計アプリのビルド時の警告に対応するため、以下の修正を行っています。
ただし、第6章のRSSリーダーアプリでは、LoaderManagerなど、Loader系のクラスが全てdeprecatedとなったことによる警告が発生しますが、ビルドはでき、動作します。
・196ページ コードの4行目から
(修正前)
// 入力画面でIntentに詰めた値を取り出す
val price = intent.extras.getInt(“price”, 0)
val discount = intent.extras.getInt(“discount”, 0)
(修正後)
// 入力画面で値が入れられていなければ、何もしない
val extras = intent.extras ?: return
// 入力画面でIntentに詰めた値を取り出す
val price = extras.getInt(“price”, 0)
val discount = extras.getInt(“discount”, 0)
・253ページ コード4行目
(修正前)
val timeZones = pref.getStringSet(“time_zone”, setOf())
(修正後)
val timeZones = pref.getStringSet(“time_zone”, null) ?: setOf()
・254ページ ページ下のコードの下から2行目
(修正前)
val timeZones = pref.getStringSet(“time_zone”, mutableSetOf())
(修正後)
val timeZones = pref.getStringSet(“time_zone”, mutableSetOf())?.toMutableSet() ?: mutableSetOf()
—- 使用上の注意 —-
●ご利用の環境によっては不具合が生じる可能性がありますので、あらかじめご了承ください。なお、運用結果 については、著作権者、著者、出版社は一切の責任を負いませんのでご了承ください。