Androidアプリ開発を独学で学ぶ人への効果的な勉強法


　この記事では、Android開発を始める方や、初めたての方向けにどのようなサイトを見たり、本を読んだらいいかをレベル別や用途別で解説します。
　本の紹介などはすでに多く存在しますが、使いどころというのは本によって大きく違います。この記事ではその使いどころに意識してソースを紹介できればと思います。
　また、Androidプログラミング初心者とプログラミング初心者は区別しません（合わせて"プログラミング初心者"と記述）。Androidのアプリ開発はベースとなっているJava言語が直感的に理解しやすいこともあり、他のプログラミング言語を習得していなくてもある一定のレベルまでは上達します。本当にAndroidアプリ開発に興味を持ってきた段階でJava言語の勉強を本格的に行うようにし、まずはAndroidをアプリを作成するというところにフォーカスしてやっていきましょう。
　Androidプログラミングを始めた段階から時系列ごとに見ていってみましょう。
　
##1.初心者（0〜1ヶ月）
　プログラミングを始めた段階では、なるべく多くソースコードを自分の手で書く事にフォーカスして勉強をするようにしましょう。そのため、この時期ではサイトでの勉強がおすすめです。
　また、この時期には本を買わないようにしましょう。本を買うと下手に満足感を得てしまいます。特に大型の本を買ってしまうと、家などの落ち着いた場所でしか勉強する事ができず、あなたの勉強の時間を束縛することにつながります。

[おすすめのサイト]

- [ドットインストール](http://dotinstall.com/)

##2.初学者（1〜3ヶ月）
 最初の1ヶ月どうだったでしょうか？どの頻度で学習をしていたかにもよりますが、Buttonを押したらTextViewの内容を変更するところまでは何も見ずにできるようになりましたか？
　ですが、ここで重要なのはあなたが身構える事なくアプリの開発環境を立ち上げられるようなったかどうかです。

　ここからは、いよいよ本の出番です。この1ヶ月は多くのサンプルプログラムと触れるようにしましょう。そのため、本を選ぶ際はサンプルが10個以上載っている、作って覚える系の本を買うようにしてください。だいたいの参考書には、それぞれのサンプルごとに使用している技術が分かれています。そのため、アプリの作成と共にどんな技術を使ったかも記憶しておくようにしましょう。
　また、ソースコードはしっかりと管理するようにしましょう。あなたが書いたプログラムは、あなたがオリジナルのアプリを作りたくなった際に貴重な財産となります。
**※この時期は、本は片手にプログラミングするので紙の本がおすすめ！！**
**※一冊買えば十分だと思います。本が読み終わったら3.中級へ**
　
[おすすめの本]

- [Android アプリ サンプルプログラム大全](http://www.amazon.co.jp/Android-%E3%82%A2%E3%83%97%E3%83%AA-%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E5%A4%A7%E5%85%A8-%E3%82%B9%E3%83%97%E3%83%BC%E3%82%AD%E3%83%BC%E3%82%BA/dp/4883377806/ref=sr_1_94?ie=UTF8&qid=1421322407&sr=8-94&keywords=Android+%E9%96%8B%E7%99%BA)
- [スマートにプログラミング Android入門編 第3版 SDK4.x対応](http://www.amazon.co.jp/%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%81%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Android%E5%85%A5%E9%96%80%E7%B7%A8-%E7%AC%AC3%E7%89%88-SDK4-x%E5%AF%BE%E5%BF%9C-%E5%A0%80%E5%88%87/dp/489797920X/ref=sr_1_7?ie=UTF8&qid=1421322471&sr=8-7&keywords=Android+%E9%96%8B%E7%99%BA%E3%80%80%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB)
- [作ればわかる！Androidプログラミング第2版 -SDK4対応](http://www.amazon.co.jp/%E4%BD%9C%E3%82%8C%E3%81%B0%E3%82%8F%E3%81%8B%E3%82%8B-Android%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-SDK4%E5%AF%BE%E5%BF%9C-Mobile-Developer/dp/479813192X/ref=tmm_pap_title_0?ie=UTF8&qid=1421322471&sr=8-8)
- [作例で覚えるAndroidプログラミング入門](http://www.amazon.co.jp/%E4%BD%9C%E4%BE%8B%E3%81%A7%E8%A6%9A%E3%81%88%E3%82%8BAndroid%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80-%E5%90%89%E4%BA%95-%E5%8D%9A%E5%8F%B2/dp/4881669052/ref=sr_1_18?ie=UTF8&qid=1421322471&sr=8-18&keywords=Android+%E9%96%8B%E7%99%BA%E3%80%80%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB)
- [AndroidエンジニアのためのモダンJava](http://www.amazon.co.jp/Android%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%83%A2%E3%83%80%E3%83%B3Java-%E5%B1%B1%E7%94%B0-%E7%A5%A5%E5%AF%9B/dp/477415878X/ref=sr_1_96?ie=UTF8&qid=1421324385&sr=8-96&keywords=Android)

最後の`AndroidエンジニアのためのモダンJava`は、Androidをやる上でよく使用するJavaの文法について書かれているため、Androidエンジニアのための必要最低限を素早く確認できると思うので、適当なタイミングでJavaの知識を補完するといいでしょう。

##3.中級者（4〜6ヶ月）
　サンプルコードを書き写してばかりいたので、そろそろ自分のアプリを作りたくなりました？
　ここからは、いよいよアプリを自作していく人向けの本を紹介していきます。サンプルコードを書き写していてどうでしたか？デザインが微妙だと思いませんでした？それに、一般に公開されているアプリのようなUXはどうやったら実現できるのか、興味わきませんでしたか？
　ここでは、そんなあなたをサポートする本を紹介していきます。デザインの参考本と、トレンド技術のピックアップとでわけるようにします。
**※後で検索して使うことが多いので電子書籍で買う事をおすすめします！！**
　
[おすすめの本-デザイン]
**※上から番号順に読んでいくとよりモチベーションアップ！**

1. [Android UI Cookbook for 4.0　ICS（Ice Cream Sandwich）アプリ開発術](http://www.amazon.co.jp/Android-Cookbook-4-0-ICS-Ice-Cream-Sandwich-ebook/dp/B00AEIAF9O/ref=tmm_kin_swatch_0?_encoding=UTF8&sr=8-3&qid=1421323564)
2. [Android Layout Cookbook　アプリの価値を高める開発テクニック](http://www.amazon.co.jp/Android-Layout-Cookbook%E3%80%80%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E4%BE%A1%E5%80%A4%E3%82%92%E9%AB%98%E3%82%81%E3%82%8B%E9%96%8B%E7%99%BA%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF-%E3%81%82%E3%82%93%E3%81%96%E3%81%84-%E3%82%86%E3%81%8D-ebook/dp/B00APVQ6LG/ref=sr_1_2?ie=UTF8&qid=1421323564&sr=8-2&keywords=Android+%E9%96%8B%E7%99%BA%E3%80%80%E3%81%82%E3%82%93%E3%81%96%E3%81%84%E3%82%86%E3%81%8D)
3. [Android Pattern Cookbook マーケットで埋もれないための差別化戦略](http://www.amazon.co.jp/Android-Pattern-Cookbook-%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%83%E3%83%88%E3%81%A7%E5%9F%8B%E3%82%82%E3%82%8C%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%81%AE%E5%B7%AE%E5%88%A5%E5%8C%96%E6%88%A6%E7%95%A5-%E3%81%82%E3%82%93%E3%81%96%E3%81%84%E3%82%86%E3%81%8D-ebook/dp/B00J3H9322/ref=sr_1_1?ie=UTF8&qid=1421323564&sr=8-1&keywords=Android+%E9%96%8B%E7%99%BA%E3%80%80%E3%81%82%E3%82%93%E3%81%96%E3%81%84%E3%82%86%E3%81%8D)

[おすすめ本-トレンド技術]

- [Effective Android](http://www.amazon.co.jp/Effective-Android-TechBooster/dp/4844335340/ref=sr_1_fkmr1_2?ie=UTF8&qid=1421323564&sr=8-2-fkmr1&keywords=Android+%E9%96%8B%E7%99%BA%E3%80%80%E3%81%82%E3%82%93%E3%81%96%E3%81%84%E3%82%86%E3%81%8D)
- [良いAndroidアプリを作る139の鉄則](http://www.amazon.co.jp/%E8%89%AF%E3%81%84Android%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92%E4%BD%9C%E3%82%8B139%E3%81%AE%E9%89%84%E5%89%87-%E6%9C%A8%E7%94%B0%E5%AD%A6-ebook/dp/B00KX5FKCA/ref=sr_1_1?ie=UTF8&qid=1421324268&sr=8-1&keywords=Android+%E9%96%8B%E7%99%BA%E3%80%80139)

[おすすめのサイト]

- [mixi-inc/AndroidTraining](https://github.com/mixi-inc/AndroidTraining)

##4.上級者への道(6ヶ月~~)
　さぁここからのあなたは自由にAndroidアプリ開発をできるでしょう。しかし、常に振り返りは必要です。常に振り返りながら開発をつづけていくためのソースを紹介します。
　
[おすすめの本]

- [Androidを支える技術〈I〉──60fpsを達成するモダンなGUIシステム](https://www.amazon.co.jp/Android%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93%E3%80%88I%E3%80%89%E2%94%80%E2%94%8060fps%E3%82%92%E9%81%94%E6%88%90%E3%81%99%E3%82%8B%E3%83%A2%E3%83%80%E3%83%B3%E3%81%AAGUI%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0-WEB-DB-PRESS-plus/dp/4774187593)
- [Androidを支える技術〈II〉──真のマルチタスクに挑んだモバイルOSの心臓部](https://www.amazon.co.jp/dp/4774188611/ref=pd_lpo_sbs_14_t_0?_encoding=UTF8&psc=1&refRID=FZD4KZ6GM1CMDKPW6M40)
- [Master of Fragment](http://tatsu-zine.com/books/master-of-fragments)
- [Androidのなかみ InsideAndroid](http://www.amazon.co.jp/Android%E3%81%AE%E3%81%AA%E3%81%8B%E3%81%BF-InsideAndroid-Tae-Yeon-Kim/dp/4893622889/ref=sr_1_38?ie=UTF8&qid=1421324367&sr=8-38&keywords=Android)
- [Android Security　　安全なアプリケーションを作成するために](http://www.amazon.co.jp/Android-Security-%E5%AE%89%E5%85%A8%E3%81%AA%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB-%E3%82%BF%E3%82%AA%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE/dp/4844331345/ref=pd_rhf_gw_s_cp_26_46V3?ie=UTF8&refRID=0GSRDKNDGMYE1NK5WQBB)
- [モバイルアプリ開発エキスパート養成読本](https://www.amazon.co.jp/dp/4774188638/ref=sr_1_2?s=books&ie=UTF8&qid=1496109138&sr=1-2&keywords=kotlin)

[おすすめのサイト]

- [Developer Site](http://developer.android.com/develop/index.html)
- [stackoverflow](http://stackoverflow.com/)
- [Qiita](http://qiita.com/)
- [Android Open Source Project](https://source.android.com/)
- [Material Design Guideline](http://developer.android.com/design/material/index.html)

その他、AndroidSDKからサンプルアプリをインポートしてさわってみるなどすると新しい技術に触れることができます！