2018.05.11

【ダウンロード】『基本からしっかり身につくAndroidアプリ開発入門 Android Studio 3.x対応 』サンプルプロジェクト

基本からしっかり身につくAndroidアプリ開発入門 Android Studio 3.x対応

本書のサンプルプロジェクトデータを、以下のリンクからダウンロードしていただけます。サンプルデータは、ZIP形式で圧縮しておりますので、展開してご利用ください。
展開していただいたら、まず「ReadMe.txt」をお読みいただいてから、ご利用くださいますようお願い申し上げます。


**************************************************

*

◇ダウンロードデータ: Android3_Sample2

*

**************************************************



—- サンプルプロジェクトの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()

—- 使用上の注意 —-
●ご利用の環境によっては不具合が生じる可能性がありますので、あらかじめご了承ください。なお、運用結果 については、著作権者、著者、出版社は一切の責任を負いませんのでご了承ください。