2019.05.10

はじめてのAndroidプログラミング 第4版

はじめてのAndroidプログラミング 第4版

●Android Studio 3.4における「Attributes」ペインの違いについて

2019年4月16日にリリースされたAndroid Studio 3.4では、本書で画面キャプチャした3.3と比べて、「Attributes」ペインのUIが少し変更されています。以下にその変更点についてまとめます。

ui.png

・「ID」が小文字の「id」に変更されました。

・画面上部の「Show all attributes」ボタンが廃止され、かわりにペイン内の「All Attributes」の左側にある三角マークをクリックすることで、すべてのアトリビュートが表示されることになりました。

・「layout_width」と「layout_height」が制約表示部分の下に移動されました。

・各アトリビュートの右側にある「・・・」ボタンが、縦長の四角ボタンに変更されました。

上記については記述を読み替えてください。またその他の変更点は以下の通りです。

・P163の「textAppearance」のメニュー項目が以下のように変更され、「Large.Inverse」が選択できなくなっています。ここは「Large」にしても画面表示は問題ないので、そちらを選択してください。

textAppearance.png

・P180のSeekBarのアトリビュートで「max」と「progress」が2つずつあります。おそらくバグと思われますが、これらはまったく同じでどちらで設定してもかまいません。

・P202のフラグメントの「layout」プロパティはデフォルトでは表示されなくなりました。「All Attributes」の左側の三角マークを開いて、設定してください。

layout.png・P270の「showAsAction」の設定は左端にある「旗」マークをクリックして、「ifRoom」を選択します。

ifroom.png

・P378の「Search Everywhere」の画面が以下のように変更されています。

search.png

また、検索の絞り込みボタンがbutton.pngに変更され、メニュー項目もシンプルになっています。

select.pngのサムネイル画像

●エミュレータの不具合について

Android Studio 3.4の初期のバージョンにおいて、「起動したエミュレータがオンラインにならない」や、「サンプルアプリの転送ができない」などの不具合が報告されています。現在は修正されているようですので、上記のような不具合が出る場合は最新版をインストールするか、もしくはアップデート(メニューのHelp→Check for Updateを選択)をかけてください(→P.52参照)。

●Android Studio 3.6以降のプロジェクト作成時の注意

書籍内ではプロジェクトの作成時に「Use AndroidX artifacts:チェックを入れる」と説明しています。このチェックはAndroid Studio 3.6以降ではなくなり、代わりに「Use legacy android.support libraries」というチェックに置き換えられていますが、チェックの意味が反対になっていますので注意してください。「Use legacy android.support libraries」にはチェックを入れないようにします

●Android Studio 3.5以降でプロジェクトがビルドできない問題

新規にプロジェクトを作成した時に、次のようなエラーでビルドできないことがあります。

Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6. Please specify proper ‘-jvm-target’ option

これは、次のコードを追加することで解消することができます。

build.gradle(Module.app)を開き、jvmTargetオプションを追加します。

赤字部分が追加するコードです。

apply plugin: ‘com.android.application’
apply plugin: ‘kotlin-android’
apply plugin: ‘kotlin-android-extensions’

android {
compileSdkVersion 29
buildToolsVersion “29.0.3”

defaultConfig {
applicationId “com.example.janken”
minSdkVersion 19
targetSdkVersion 29
versionCode 1
versionName “1.0”

testInstrumentationRunner “androidx.test.runner.AndroidJUnitRunner”
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’
}
}
    kotlinOptions {
        jvmTarget = ‘1.8’
}

}

dependencies {
implementation fileTree(dir: “libs”, include: [“*.jar”])
implementation “org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version
implementation ‘androidx.core:core-ktx:1.3.0’
implementation ‘androidx.appcompat:appcompat:1.1.0’
implementation ‘androidx.constraintlayout:constraintlayout:1.1.3’
testImplementation ‘junit:junit:4.12’
androidTestImplementation ‘androidx.test.ext:junit:1.1.1’
androidTestImplementation ‘androidx.test.espresso:espresso-core:3.2.0’

}

●その他の正誤情報(初版)

P274 下から2行目

誤 次にメニューがタップされたら画像を変更するようにしましょう。

正 次にメニューがタップされたらHTMLファイルを変更するようにしましょう。

P276 上から4行目

誤 メニュー項目をタップすると、それに合わせてHTMLファイル画像が差し替わります。

正 メニュー項目をタップすると、それに合わせてHTMLファイルが差し替わります。

P293 図TextViewの配置

誤 ⓯の矢印がlineSpacingExtraを指し示す

正 ⓯の矢印がtextColorを指し示す

P299 下から1行目

誤 今回使用ないのであれば

正 今回のように使用しないのであれば

P350 下から10行目

誤 0Long型の変数idを用意

正 Long型の変数idを用意

P381のサンプルダウンロードURL

誤 http://isbn.sbcr.jp/95815

正 http://isbn2.sbcr.jp/01140