Skip to content
takafumi nanao edited this page Jan 20, 2018 · 19 revisions

Outline

はじめに

このセッションの対象者

まだAndroidアプリを0から作った事がない人。ちょっとだけコードを触った事がある人。 昔やってたけど、数年のブランクがあって、今風の開発スタイルをざっと眺めたい人。

Java or Kotlin?

このセッションのサンプルは全てKotlinで書かれていますが、これは単純にスピーカーの好みです。Android関連の情報は未だにJavaで書かれた資料が多いですし、Kotlinを利用していても、ある程度のレベルになるとJavaの知識も必要になってきます。

2018年現在、Javaで学習を始めるのもKotlinで始めるのも一長一短があります。Javaの経験がなく、Swiftなら書いた事があるという人であれば、Kotlinの方が親しみを覚えるでしょうし、Javaの経験がある人はどうぞJavaで始めてみてください。

このセッションで話さないこと

とても多くの事を話しますが、とても多くの事が話されずに終わってしまいます。50分という時間の制約がある限り、なるべく大事な事に厳選して取り上げる事になります。

さらに一歩踏み込みたい人のために、有用な資料や、関連するトピックの話が聞けそうなDroidKaigi2018のセッションも紹介していきます。

開発環境の準備 2m

  • 開発用PCの推奨スペック
  • Android Studio

Android アプリの基礎知識 10m

  • プロジェクトの構成
  • gradle
  • AndroidManifest.xml
  • Activity, Fragment, ライフサイクル
  • アプリのリソース管理

アプリのレイアウト作成 5m

  • xmlの書き方
  • 主要コンポーネント
  • ConstraintLayout
  • data binding

通知 5m

  • 通知チャンネルについて
    • できればfirebaseなどのリモート通知も。。。

非同期処理 5m

  • スレッド
  • 非同期処理の歴史
  • Service

ネットワーク通信 5m

  • okhttp + retrofit

アーキテクチャ設計と DI 5m

  • Fat activity問題
  • MVC / MVVM / MVP
  • architecture component

テスト 5m

  • checkstyle, lint
  • junit

デバッグ / 解析 10m

ためしにクラッシュしてみる→スタックトレースが出る→調べる(ブレークポイント)→直す

みたいな流れ

  • Android Studioの操作
  • adbなどコマンド系
  • StethoやTimberなどのライブラリ系
  • crashlytics
  • analytics