・これからandroidのアプリを作りたいけど難しいのかな?
・何から始めればいいのかな?
・早くアプリを作りたいのだけど、、、
そんな疑問に答えます。
この記事は全くの初心者向けになりますので、一部は上級者には合わないこともあります。
使用するプログラミング言語はJAVAですが、言語選びも解説します。
この記事を読めば、勉強開始から3カ月でちゃんとしたandroidアプリを作れます。
何も知らないところから、3カ月目にはハイレベルなandroidアプリが完成しているということです。
プログラミング言語そのものが初めての方は、以下の関連記事で、限界まで簡単にプログラミング言語の学習方法について解説しています。
【初心者向け】5つの言語を習得した私のプログラミングの効率学習【最短でできる】
記事の信頼性
私は、勉強を2週間で費用2000円程で終わらせて、3カ月目には以下のアプリを完成させました。
Dietplan- 医学に基づく、無料ダイエットサポートアプリ
体重管理機能、グラフ化、万歩計機能、文章を読む機能、データベース機能、写真撮影機能などの機能を含めたアプリです。
以下のサイトでも紹介されています。
1.全体の流れ
全体の流れを把握しないと、理解しにくいと思いますし、計画もたてにくいと思うので、
まず、ざっくり流れを説明します。
プログラミング言語選び
自分が作りたいアプリにより、使うべきプログラミング言語は違うので、各言語の特徴と選び方を解説します。
(この記事ではJAVAという言語を使っていきます。)
勉強方法
最短でandroidを開発するために適した、勉強方法を解説します。
環境を整える
どの環境を使うべきか、どのように環境を整えるには何をすればいいか解説します。
実際に開発を開始する
最短で開発するときの心がけ、ポイントを解説します。
アプリに機能を追加していく
どのようにアプリに機能を追加していくか解説します。
リリースする
リリースの手順
プログラミング言語選び
どのプログラミング言語を選ぶべきかということを解説します。
この記事ではJAVAという言語を選択します。理由は単純で、実際にその言語を使って、私は3カ月で十分な開発できたからです。
JAVAという言語について
1番メジャーです。
メジャーということは、当たり前ですが、みんな使っているということです。
みんな使っているので、以下の2点が利点として挙げられます。最短の開発をする上で超重要です。
トラブルを解消しやすい
ネット上に豊富に情報があります。あまりメジャーではないエラーが起きたり、トラブルに陥った時に同じトラブルに見舞われている人が解決策を上げている可能性が高いです。
外部から組み込める部品が多い
最短開発を目指す上で、様々な機能は外部の部品(=ライブラリといいます)を組み込むことで実現できます。
そうすべき理由は、外部の部品を組み込めるなら、その部品については一から自分で作る必要がなくなるからです。
その外部の部品が多いので、欲しい機能が見つからないということが少ないです。
Kotlinという言語について
比較的に新しい言語です。まだメジャーな点で言ったら、圧倒的にJAVAの方に軍配が上がると考えたので、採用しませんでした。
しかし、プログラミング言語自体はとても書きやすく、javaと同じ動作をコードで書く時、短くて済むようです。
その他の言語
ゲーム作るなら、Unityという名の開発する環境(開発するためのソフト)を使います。
その時に使用するプログラミング言語が「JavaScript」や「C#」です。
ゲームを作る人以外は気にする必要はありません。
その他の手段について
他にもさまざまは開発手段がありそれなりに検討したのですが、私は選択しませんでした。理由は以下の通りです。
- お金がかかる(有料)
- しがらみがある
- できることに制限がある
- メジャーじゃないのでトラブルが起きたときに情報が少なくて、どうにもならなくなる
他者様のウェブサイトでまとめているので、一応そちらを紹介しているので、ご興味ある方は以下をご覧ください。
結局、私はこの記事の方法で、私の目的は達成できたので、私の方法は少なくとも無難な開発を目指す方にはおすすめです。
なんでもそうだと思うのですが、やったことないことってそれを出来るようになるのが、どれくらい簡単かどれくらい難しいのかわからないですよね。
例えば、英語を勉強し始めないと、英語をペラペラ話すことの難易度も理解できないですし。
そしてandroidアプリ開発でいえば、最初はわからないことばかりで、「私にはできそうもない。。。」と思うかもしれませんが、
開発し始めて、1,2週間で「androidアプリ開発、大したことないな、大体のことは自分でもなんでもできそう」って思うようになりますよ。
僕の記事で紹介していることは正攻法で、無難な選択です。
勉強方法
様々なプログラミング言語を学習するうえで、全てに通じる基本的な学習方法は以下の記事に書きました。
簡単に書きましたので、こちらを読んでいただけるとすぐにすっきりわかると思います。
【初心者向け】5つの言語を習得した私のプログラミングの効率学習【最短でできる】
今回はJAVAという言語ということで、上記の記事に、補足します。
JAVAは私は2週間くらい勉強して、あえて完璧を目指しませんでした。
なぜなら、完璧にする理由がないからです。
理由としては以下です。
- 勉強したところが、今回の開発で使わない内容かもしれないの場合もある
- 実際に作ろうとしているアプリに似ているサンプルを探してきて、それを改造して勉強しながら開発していった方が、早く開発できる。
- 改造しているうちに、学習内容は十分に定着する
なので、完璧にしたい気持ちはわかりますが、それは非効率なので、やめた方がいいです。
ですが、開発中にググってもわからないことがあって、という状況なら、その箇所だけ勉強に戻って理解を深めて再挑戦するのはアリです。
実際に私が行った勉強
ちなみに私が勉強に使った本は以下です。簡単でした。
イラストでよくわかるAndroidアプリのつくり方 Android Studio対応版
この本をまず5回くらい高速で目を通しました。文字通り、読むというより目で見るって感じです。
目的は全体像を知り、全体の大まかな流れを知ることです。
各章ずつ、読む前に、その章を5回くらい捲り、見出しと小見出しとキーワードをなんとなく確認してイメージを作ってから、大事そうなところだけ普通に読みました。
精読をするのは不要です。
大事な概念だけ学んで、具体的なコードとか読むのはいいですけど、この時点で正確に覚える必要はないです。
全体的に覚えなくて、イメージが湧けばいいと思います。
そのあとに、ドットインストールで要点を知り、ドットインストール内のメモ機能で端的にメモしていきました。
環境を整える
次にプログラミングをするために環境を整えます。
android studioというgoogleから出ているandroidアプリ開発ソフトをインストールします。
リンクはこちらです。40秒程度の動画で解説してくれています。簡単ですよ。
Android Studio のインストール | Android Developers
実際に開発を開始する
開発のポイントをかいつまんで解説します。
一番簡単そうなページから作る
一番簡単そうな機能を持ったページから作ってください。
そうすれば、一番初歩の学習ができて、動作確認をしたときに知識が定着します。
学習は、例えるなら、雪だるまを転がしていくようなイメージで進みます。
最初の初歩の知識が少しでも確かに定着すると、それを手掛かりに、今持っている知識の少しレベルが上の知識に手が届くようになっていきます。
つまり、少ない知識が段々、周辺の知識を巻き込んで大きな範囲の知識の習得につながっていくイメージです。
わからないことはまずググる
最速で開発を進めるには、ある程度心がけが必要です。
わからないことや、忘れたことがあったら、以下のプロセスを踏むと最短で解消します。
①ググる・・・情報が見つかれば、1分以内に解消する場合があります。
②本で見る・・・本を手に取り、目次を開き、どこの章に書いてあるか確認し、、、遅いですね。後ろにコードの索引があれば、まあまあ速いかもしれませんが、ググるより遅いです。
③ドットインストールで勉強しなおす・・・これも調べるのに時間がかかりますね。そもそも動画はピンポイントで情報を得たいときには向いていません。何分何秒後を再生すればいいかわからないです。
実際にプログラムを動かして動作がうまくいくか試すとき
私は、実際に自分のandroidスマホをPCに接続して、自分のandroidのスマホでテストしていきました。
その際、ループ(繰り返し処理)が無限に起こらないように、つまり、処理が永遠と続くようなエラーが起こらないように気を付けていました。スマホを壊したくなかったからです。
普通は、android studioの機能を使い、自分のパソコンの中に、仮想のスマホ端末(エミュレーターといいます)を表示させて、そのスマホ端末でテストするのですが、
私の場合はパソコンの性能が低く、仮想のスマホ端末を表示させるのに、とてつもなく時間がかかり、進捗に支障が出たため、あえなく、自分のスマホでテストをすることにしました。
トラブルやエラーがどうしても解消できないとき
調べて、いろいろ試行してもどうしてもうまくいかないときは、時間がもったいないので、以下のことをやってみます。
①コードやエラーでググって英語のサイトが出てきたとしても諦めて読む。
(google chromeで右クリックで日本語訳してから、どの辺にヒントが書いてあるかあたりを付けて、そこを英語で精読する)
②ほったらかしにして別の作業をやる。気晴らしに遊びにいってもいい。何かふと解決策を思いつくかもしれないから。
③代替できる方法(コード、機能)はないか?
④ユーザーから見て本当に必要な機能か?
アプリに機能を追加していく
欲しい機能をググりまくって、コードを見つけて、そのコードで実際に動くか試してください。
今作っているアプリを壊す恐れがある場合は、新たに簡単なアプリを作成し、そこで実験用に動かしてみるのも手段の一つです。
そしてgithubというサイトはそのような機能を見つけられて、コードもよく見つかります。このサイトは機能とコードの集合体みたいなサイトです。
リリースする
出来上がったら、後はgoogle playにリリースするだけです。
リリース用にアプリを、1かたまりの圧縮されたフォルダにまとめます。(それをビルドといいます。)
その機能はandroidstudioについています。
テスト用のビルドと、本番用(実際に一般に公開する用)のビルドがあるので、そこは注意してください。
まとめ
以上で終わりです。
実際に始めると、苦労することが多いと思います。
更に、時短を進めるために、自分が書いたコードを別記事で紹介していく予定です。
ちなみに、アプリを作るより、ダウンロード数を伸ばす方が10倍大変ですよ。
何を作るかより、ニーズと競合アプリを調べたり、作る前に事前に確認した方がいいです。
関連記事:【初心者向け】5つの言語を習得した私のプログラミングの効率学習【最短でできる】
関連記事:【1時間の作業】プロなみのホームページを初心者が作る最強の方法【誰でもできる】