EDIT MODE

モバイルアプリ開発に関することを書いています

0 から Android アプリ開発を学びたい人へ

先日「Androidアプリ開発って、どうやって勉強したらいいですかね?」という質問を受けたので、そのときに話した内容に少し追加して、まとめてみました。

ネット上の情報だと断片的で、体系的な学習に使えそうなものが少ないですし、書籍だと何を買ったらいいか選ぶのも難しく、かつ値段も高いという悩みが多いと思います。そのあたりの敷居を下げつつ、きちんとした内容で学習できそうなものを、独断と偏見でピックアップしました。

1. Android アプリ開発の雰囲気を知る

最初はまず Google の Android アプリ開発者向け公式サイトを、ざっと見てみるのがいいと思います。 内容を理解するのは後回しにして、何となく Android アプリ開発の雰囲気を感じてみると、その後の学習も捗ると思います。

Android Developers

サイトは主に以下のようなセクションに分かれているので、参考にしてください。

  • 設計
    • デザインやユーザー体験について、ガイドラインなどが書かれています
    • アプリ内で使えるアイコンやデザイン・テンプレートなどの素材も用意されています
  • 開発
    • さまざまなAPIの使用例やリファレンスを確認できます
    • 開発に必要な各ツールのダウンロードができます
    • GooglePlayServices の使用方法を確認できます
  • 配布
    • GooglePlayStore にアプリを公開する手順を確認できます
    • マネタイズやユーザー獲得についての情報を得られます
    • DeveloperStories の動画を見られます(最近日本のFablic社も取り上げられました)

2. Android の仕組みを学ぶ

Tech Institute アプリ開発者養成講座テキスト

今年の夏まで、開催されていたプログラミング・スクールで使用された教材が、無料PDFで公開されています。

開発環境のセットアップやプログラミングだけでなく、デザインやセキュリティ、プランニングなど幅広い内容が網羅されてます。 たくさんの著者(=講師)が参加しており、それぞれが所属する企業などでAndroidアプリ開発の第一線で活躍されてる方ばかりです。

Vol.1 〜 9 に分かれていて、以下のような構成になっています。

  • Vol.1: ファーストステップ
    • コンピューターとスマートフォン
    • 初回のプランニング
    • 開発環境セットアップ
    • ためしてわかる Android のしくみ
  • Vol.2: 基礎編
    • UI の基礎知識
    • プログラミングとは何か
  • Vol.3: ステップアップ編
    • ユーティリティによる実践
    • Java って何だ
  • Vol.4: 応用編
    • Android のしかけ
    • UI のカスタマイズ
  • Vol.5: 機能編 1
    • ストレージ
    • Android アプリのバックグラウンド処理
    • ゲームによる実践
  • Vol.6: 機能編 2
    • マルチメディア(AV)
    • 外部ライブラリの利用と作成
    • センサーの読み方
  • Vol.7: 機能編 3
    • ネットワークプログラミング
    • Web サーバー
  • Vol.8: 機能編 4
    • 多機種対応
    • ローカライズとアクセシビリティ
    • セキュリティ
  • Vol.9: 実習編
    • オリジナルアプリのプランニング
    • オリジナルアプリの設計
    • GooglePlay にアプリを公開する
    • レビューとブラッシュアップ

techinstitute.jp

mixi-inc AndroidTraining

mixi社が公開している、Androidアプリ開発向けのトレーニング教材です。

さきほどの Tech Institute の教材と比べると、よりプログラミングに重点を置いた内容になっています。 そのためユニットテストやアーキテクチャ設計などにも触れています。

以下のような構成です。

  • 1: まえがき
    • Android-OS について
    • 開発環境の準備
    • プロジェクトの作成(AndroidStudio)
    • プロジェクトの作成(Eclipse)
    • Android のビルドについて(Gradle)
  • 2: 基礎編
    • アプリのレイアウト作成
    • Activity と Fragment
    • アプリのリソース管理
    • メッセージングと通知
    • ActionBar とインタラクション制御
    • ListView と ViewPager
    • 直列化とコレクション、永続化
    • 非同期処理
    • ネットワーク通信
    • データベース
    • テスト(AndroidStudio)
    • テスト
    • Handler と Looper
    • WebView
    • AccountManager
    • ContentProvider の発展
  • 3: 実務編
    • デバッグと自動ビルド(Eclipse)
    • 自動ビルド(AndroidStudio)
    • アーキテクチャ設計と DI
    • 続・アプリのレイアウト作成
    • ユーザインタフェース設計
    • セキュリティ
    • Google API
    • Google Play Service
    • クラウド同期

mixi-inc.github.io

3. 簡単なアプリを習作する

習作とは、練習のために何か作品などを作ることを言います。

アプリ開発でも、いきなりオリジナリティを追求するのではなく、開発に慣れるためのアプリを1つ作ってみると、初級者から中級者へのステップアップに繋がります。

ベタな題材としては、メモ帳アプリ/ToDoアプリ/電卓アプリなどは、通信処理を実装しなくても作成可能(いわゆるスタンドアロンなアプリ)なのでおすすめです。通信を含めると、習作に Twitter クライアントを作成する人が多いように思います。

4. 面白いテーマに触れる

ある程度、基礎的なことを勉強しているとモチベーションも下がってくると思います。 そんなときは、何かワクワクするようなテーマを探してみるといいかもしれません。

おすすめは techbooster という技術サークルが、コミケで販売している書籍です。 最新の技術を中心に、とにかくいろんなトピックが盛り込まれていて、宝箱のような本になってます。 もちろん内容のクオリティも高く、Google のエンジニアも太鼓判を押すほどです。

年末には冬コミ版も発売されるはずなので、気になる人は今からチェックしておきましょう!

techbooster.booth.pm

5. Android アプリ開発者のためのイベント

最後に告知になりますが、来年2月18日19日に DroidKaigi 2016 というイベントが開催されます。 もうすでにイベントページは公開され、募集も始まっていて早期割引枠は完売となってますが、学生割引と一般枠は申し込み可能です。(12/7時点)

年内にはタイムテーブルが発表されると思われます。初級者向けのセッションもあるので、これからAndroidアプリ開発を始めたい人や、始めて間もない人も楽しめるイベントだと思います。

droidkaigi.github.io

droidkaigi.connpass.com