[Android/おすすめ書籍]はじめてのAndroidプログラミング 第4版 ソース・正誤表・感想

金田浩明さんの書籍、『はじめてのAndroidプログラミング 第4版』ですが、公式サイトが検索で引っかかりにくいので、かわりにリンクを書いておきます。

Amazonの評価は低いですが、とても良い本だと思います。

優れている点
  • 前ページで出た用語でも、そのページで軽く説明してくれるのでページを行き来する必要がない。
  • Deprecated対策の解説もある P257
  • 入門書レベルでデータベースを扱ってるのは見たこと無い。しかもトレンドのRealmとはありがたい。
  • 初版の状態で誤字はありませんでした。(日本語的な誤りはあるのかもしれませんが、プログラムに関する部分でミスはありませんでした。)

こういう入門書は時間が経つと手順通りには動かなくなってしまうものですが、いまなら本の指示どおりに動きますので、急いで学習されたほうが良いと思います。

 

リンク集

公式サイト
https://www.sbcr.jp/products/4815601140.html

ソースコードダウンロード
https://www.sbcr.jp/support/15129.html

正誤表
まだありません

[Android/Kotlin]ログのアウトプット  printlnとLog.dの違い

Android / Kotlin

以下のように出力されます。両者ともLogcatウィンドウにもRunウィンドウにも表示されるから、テストのときはprlntlnのほうが手軽かなあ。ちゃんとしたアプリ作成はLogクラス使ったほうがいいと思います。

 

[Android/Kotlin]Kotlin 複数行のWhen

KotlinではSwitchに代わり、スマートな記法であるwhenが使える。

入門書だと1行処理のWhenの解説しか見かけないので、基本的なことですが、記事にしておきます。

1行のWhenの場合

 

複数行When →{}でブロックを作るのが正解

シンプルさが失われるような…… breakが不要なだけましかな。

[Android]UIレイアウト デザインビュー 制約ビューが消えてしまった時の対策

制約ビューだけ消えてしまうことがあります。その対応

1.歯車アイコンからFloatingModeにチェックを入れて、フローティングモードにする

2.フローティング状態になったAttributes画面の歯車アイコンから、FloationgModeのチェックを外してドックにくっつける。

以上の動作で制約画面が復活するはず。AndroidStudioの不具合だと思います。

[Android]UIレイアウト デザインビュー 項目が消えてしまった時の対策

虫眼鏡アイコンからアトリビュートの検索機能を使うとアトリビュートが消えたままになることがある。

その場合の対応

“UIレイアウト デザインビュー 項目が消えてしまった時の対策” の続きを読む

[Android]エミュレーター作成時のシステムイメージ GoogleAPIsについて

Android API 8.1
Android API 8.1(Google APIs)

このように2つあった場合、(Google APIs)付きのほうは、GoogleMap や GoogleDriveのサポートをしているということ。
これらのサービスを使ってアプリを作る場合は、APIs付きのシステムイメージを使わねばならない。

[Android]リソースフォルダのv付きフォルダ

AndroidStudio

res/drawable-v24
V24 Android7の時だけ使いたいリソースを入れる所。
基本的には、drawable-vXX フォルダには入れないこと。

同じように以下のような例もある。よほどのことがない限り使わないと思う。いちいち対応してたら管理も大変ですし。

“リソースフォルダのv付きフォルダ” の続きを読む

[Android]macOS 版 Android Studio のエミュレーターが異常終了する(調査継続中)

<調査継続中>

以下のようなエラーメッセージが表示されて、エミュレーターが連続的に終了することが有りました。

Emulator: emulator: ERROR: detected a hanging thread ‘QEMU2 CPU1 thread’. No response for 15004 ms
Emulator: emulator: ERROR: detected a hanging thread ‘QEMU2 CPU1 thread’. No response for 15004 ms
Emulator: Process finished with exit code 1

StackOverflowでは、Ubuntu上でIPV6を有効にすれば回避できるとのことでした。

https://stackoverflow.com/questions/47956847/android-studio-emulator-error-detected-a-hanging-thread-qemu2-main-loop

MacOS版ではIPV6は有効になっていますし、原因は違うような気がします。

“macOS 版 Android Studio のエミュレーターが異常終了する(調査継続中)” の続きを読む

[Android/iOS/ニュース]Androidバージョンシェア / iOSバージョンシェア 2019/04/15最新版

2019/04/15時点での最新のシェア状況です。新規アプリ作成時の参考にしてください。

iOSバージョン シェア
iOS12 80%
iOS11 12%
その他 8%

iOSのアプリ対応はiOS10以下は切っても良いでしょう。

 

Android バージョン シェア
6.0 マシュマロ 21.3%
7.0 ヌガー 18.1%
5.1 ロリポップ 14.4%
8.0 オレオ 14.0%
7.1 ヌガー 10.1%
4.4 キットカット 7.6%
8.1 オレオ 7.5%
5.0 ロリポップ 3.5%

Androidのアプリ対応は、4.4キットカット以下は切っても良いでしょう。5.0も55.1も対して変わらないので、5.0からのサポートにすると良いと思います。