Androidを開発をしようと思ってネットで調べたけどいろいろ迷うことがあると思います。
僕も仕事でAndroidの開発をやっていますが、Androidって簡単なアプリは10分でできますが、こればこるほど奥が深く難しいです。
そんな奥が深く、楽しいAndroid開発を現役のAndroidエンジニアが4ヶ月で習得する方法お教えします。
この記事でわかること
・Androidエンジニアが有利な理由
・Androidを開発する言語はJava
・入門書はこれ
・ポートフォリオに盛り込む機能
Androidを開発できるエンジニアが有利な理由
AndroidがiOSに比べて有利なところを紹介します。
Androidエンジニアが有利な点
AndroidはPCのWindowsと同じでカスタマイズしやすさから企業で使われているケースが多いです。
iOSもすばらしいOSですが、iOSは他の連携できる機械がそこまで多くないために企業でカスタマイズして使うケースのはAndroidが用いられているのが大半です。
Android開発入門者が選ぶ言語はJava一択
Androidの開発を始めようと情報を見ると、KotlinやXamarinって単語が出てきたと思いますが初心者はJavaで開発するべきです。
Android開発入門者がJavaで開発する理由1つ
KotlinはAndroid開発元のGoogleが公式にサポートしているプログラミング言語です。
Xamarinはマイクロソフトが配布しているライブラリ(プログラミングのかたまり)です。
Xamarinで開発するとAndroidとiOSのアプリ両方生成できるようになっているすぐれものですが、実際開発現場ではまだまだ使い物にならないと言われてますが実際の開発現場ではどちらも使われていません。
Qitaを見ているとKotlinがかなりのシェアを誇っているように見えますが、実際今動いているAndroidのアプリはJavaです。
生まれてまもない技術は安定性がなかったり、開発するノウハウが英語しかなかったりしてなかなか現場では採用できません。
したがって開発現場でもJavaを使います。
プログラミングを始めたばかりの人は勉強するコストを減らすために最新の言語を勉強しがちですが、実際に開発現場で使われている言語で勉強すべきだと思ってます。
理由は、プログラミングの勉強は趣味なら好きな言語を覚えてもいいと思いますが、同じ勉強するならお金にを儲けるべきだと思うからです。
このあたりは個人の好きや嫌いよりビジネスとして割り切りましょう。
Androidの開発を入門するJavaを習得しておこう
Androidの開発する前にJavaの入門してから挑むことをオススメします。
入門するといっても入門サイトかドットインストールでさらっと勉強しておくといいです。
動画で勉強するならドットインストールで、サイトで勉強するならAndroidプログラミング入門がわかりやすいと思います。
Androidの開発は同じJavaでも特殊ですので、入門サイトはサラッと終わらせましょう。
Androidの開発オススメ入門サイトと書籍
プログラミングの入門書ってついついレシピ本としてなりがちで、プログラミングを勉強するより、こう作りたかったらこう書きましょうみたいなのが多くてAndroidの開発であまりオススメできる本はないのですが。
Androidアプリ開発の教科書
この本はGoogleが推奨しているマテリアルデザインまで勉強できます。
Androidはバージョンがすぐ上がってしまい、入門書の内容も古くなることから入門書の質は高くはないですがAndroidの入門をするならこのテキストが一番オススメです。
Javaを勉強した後にAndroid開発に入門して難しかったところ
AndroidはWebとかと違って固有の動きをします。
そのあたり知っていないとAndroidの開発には苦しみますし、そもそもAndroidを勉強したと言えないです。
Android開発入門時に悩んだライフサイクル
Androidで最初の難関はライフサイクルです。
Javaを勉強してきて、Javaはmainメソッドから処理が始まりますと習ったと思いますがAndroidのメインメソッドはonCreateメソッドです。
僕は、Androidを勉強を始めた頃これが全くわからなかったです。
Android開発入門時に苦しんだバージョン違い
Androidの開発を勉強しているとAndroidのバージョンの違いに苦しみます。
Androidバージョン4の頃に使えた書き方も、バージョン8では使えないとかAndroidは結構あります。
このへんはバージョンを意識しながら検索したり、ググる時は指定期間を変えてみたり試行錯誤も必要かと思います。
Android開発入門者がポートフォリトを作るなら
どのプログラムを勉強しても何かポートフォリオを作って公開することは大事です。
理由は第三者に客観的に判断してもらえるからです。
そこで第三者が評価しやすい機能を書いておきますので、下の2つの機能を意識して実装してください。
かなり評価は高いと思われます。
Serviceを使ったバックグラウンド処理
サービスとは、簡単に言うとアプリをバックグランドで動かす機能のことです。
LINEのアプリを想像してください、僕らがLINEアプリのアイコンを押しているときは動いて当然ですが、他のアプリを立ち上げたときもLINEは新しいメッセージが来たら通知します。
このアプリの画面を前面に出してなくても動いていることをバックグラウンド処理と言います。
Androidで何も考えずにアプリを作った場合、サービスという機能を実装していないとバックグラウンド処理をしてくれません。
僕は仕事でAndroidの開発をするようになってから知りましたが、こういった発展的な内容な入門書に書いてないので評価は高いと思います。
ライフサイクルを熟知したアプリ
Android開発者が一番苦しめられる存在としてライフサイクルというものがあります。
一例をあげれば、アプリを起動したときはonCreateメソッドが呼ばれ、表示する前にonStartメソッドが呼ばれ、onResumeメソッドが呼ばれ画面が表示されます。
逆にホームボタンを押すと、onPauseメソッドが呼ばれ、onStopメソッドが呼ばれバックグラウンドで動き続けます。
もう一度アプリを立ち上げると、onRestartメソッドが呼ばれ、onStartメソッドが呼ばれ、onResumeメソッドが呼ばれアプリの画面が開きます。
すごく簡単に書きましたが、ライフサイクルに適切な処理を書かないとアプリが勝手に落ちたりします。
スマホのアプリが突然落ちた経験は誰でもあると思いますが、ライフサイクルを意識していないとアプリは必ず落ちます。
僕もライフサイクルを熟知しているとはいいがたいですが、ライフサイクルを意識してプログラミングできるようになると一人前のAndroidプログラマーです。
Android Studioインストール方法
すみません、僕の環境がMacなのでMac版しかありません。
MacにAndroid Studioをインストールする方法
Android Studioをインストールはこちらからです。
このサイトにアクセスすると、ちょうど画面のセンターにDOWNLOAD ANDROID STUDIOと書いた緑のボタンが表示されますのでクリックします。
クリックすると、この画面に映ります。
画面下の方の、上記の利用規約を読み、同意しますにチェックします。
そうすると、ANDOROID STUDIO FOR MAC ダウンロードというボタンが有効になりますのでこれでダウンロードが始まります。(説明はMacでやっていますが、Windowsでも同じです)
まとめ
Androidを勉強するロードマップをまとめてみました
- Javaの入門をこなす(2週間)
- Androidの入門書を使って勉強(2.2ヶ月)
- ポートフォリを作る(1ヶ月)
4ヶ月でそれなりになれますので、やってみるといいですよー
今回は以上です。