質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

4回答

2010閲覧

プログラミングの勉強のしかた

olee46

総合スコア32

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

2クリップ

投稿2018/01/16 08:46

Androidアプリ初心者です

テキストを1冊購入

テストアプリをいくつか作成

アプリを1つリリース

(半年くらいのブランク)

2つ目のアプリを作成中

という段階です
1つ目のアプリを作っているときに、当たり前ですが、テキストに書いてない知識が必要になりました
その都度、ネットで検索→記事を読む→自分のアプリで実装とやっていたのですが、勉強の仕方がこれでいいのか不安になってきました

1つのテキストで必要なことが全て網羅されていないのは当然ですが、毎回検索するのもなんだか効率が悪いような気がしています
何かおすすめの勉強法/Androidプログラミングの本などあれば、教えてください

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

前提
プログラミングをする上で調査をすることは避けられません。
言語や言語の動作環境について完全に暗記することは不可能ですし、そもそも公式ドキュメントにミスがあったり、言語そのものにバグがあることもあります。

かつ、学習の仕方は人によって異なるので自分にあった学習方法を見つけるしかないと思います。

という前提に立つと
「如何に効率よく調査出来るようになるか、調査する能力を鍛えるか」という点を考えて学習方法を模索してみると言うのが一つの方法になるかなと思います。

私の場合
私の場合、以下の様な事が役立ったように思います。
思いついたままに書いたのでレイヤーもばらばらですが、何かの役に立てば幸いです。

  • まずは数をこなす

同じフレームワークでも言語でもいいので、いくつもアプリケーションを開発すると、だんだんと手癖で開発が出来るようになってきます。ちょっと分かった気分になり、自分に自信が持てたり、思いついたものをパッと作れるようになるので作る事自体が楽しくなってきます。(作る事自体が楽しく無い場合は、義務感であったり使命感、対価に見合った労働としてプログラミングをすることになり、その場合の対応方法はどちらかというとビジネス書で方法論を探したほうが早そうです。)

  • コーディング以外の部分の知識も得てみる

コーディングについての知識や経験が足し算として働くとすると、デザインパターンや設計手法、開発手法、ドキュメント作成方法、情報処理全般の知識などの直接コーディングに関わらない部分は掛け算として機能すると思っています。
最初は理解できなくていいので、とにかく詰め込んでおくと、実際に開発している時にふと理解したり腑に落ちたりして、視野が一気に広がることがあります。
視野が広がると、検索したいことが全体のどのあたりに存在しているものなのかが把握しやすくなり、検索の手探り感が減ってきて、未知の分野でも調査/検索をしやすくなったりします。
例えば、IPAの情報処理技術者検定なんかは教科書も豊富にあって浅く広く、体系的に知識を得るのに役立ちます。

  • コピペで終わらせない

少なくとも、自分でコードを書いた部分(たとえその元のコードが検索してたどり着いたものでも)については、「わからない部分がわかっている」状態までは理解してから組み込む。もちろん、わからない部分が存在しないことがベストですが、自分で責任を取れる範囲であれば理解を後回しにするのもありだと思います。

  • 外部仕様をきっちりと決めてから作リ始めてみる

それなりに経験を積んでいるプログラマ(30代とか)でも、結構な割合で外部仕様を考えてから作り始めるということが出来ない/しない人が居ます。 そういう人は多くのケースで調べるのが下手だったり、調査に時間がかかったりする傾向があるように感じます(逆に、コーディング自体は早くて正確だったりします)
最初にアプリケーション全体の仕様を考えるのが難しければ、ある一連の処理だけ、それも難しればクラスだけ、メソッドだけ、メソッドの中のある処理だけ でも、先に外部仕様をきっちり決めてからコーディングをするようにすると、「実現したいこと」を整理する能力が獲得できると思っています。
「実現したいこと」が整理できていれば、実現したいことを構成する要素や要件を整理できてくるので、調査が効率的に行えるようになりますし、そのものずばりなコードが検索で見つからなくても何とかなるようになってきます。

  • 他人に開発させる、チームで開発する

一人で開発をしていると、手を動かしていればいつかは完成する(してしまう)ので、なかなか問題点などに気付けないです。複数人でコミュニケーションをとりながら分担して開発する、お互いに指示やレビューをしあうという経験が出来るととても勉強になります。
他人が必要になる事なのでなかなか難しいのですが、他の方法では得られない成長の仕方が出来ます。

投稿2018/01/16 13:46

tanat

総合スコア18713

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

プログラミングというのは様々な知識の積み重ねの上に成り立ちます。それは積み木のように例えられることもあります。AndroidのようなSDKを用いるプログラミングは、その積み木の中でも一番上の層に該当します。Androidプログラミングの書籍というのは、当然ながら自分の層についてのみの解説が中心になります。直接触れる下の層については多少の解説がつくこともあるでしょうが、書籍の分量の問題もありますから、その下層を完全に理解できるほどの内容にはならないでしょう。

良いプログラムを作りたいと思ったら、なるべくは下から積み重ねていくのが理想だとは思います。ただ、なかなかそうはいかないでしょうから、その他層の理解の面で壁にあたったのなら、その層を専門に解説した書籍を求めるくらいの気持ちは必要ではないでしょうか。

まー、AndroidプログラミングをするのにはJava言語の基礎の理解は一通り必要ですよと助言しても、それを拒否る人もいるからねえ・・・。

投稿2018/01/16 09:45

keicha_hrs

総合スコア6768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

一番効率がいいのはプログラミングを教えてくれる学校に通う事でしょうね。
その場で教えてくれる人がいればとても効率がいいです。

そういうことができなければ、ネットで検索したり、本で勉強するしか
ないでしょう。

ドットインストールなど、動画で説明してくれるものは
理解しやすいですよ。

投稿2018/01/16 09:28

apo

総合スコア349

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

検索しなくてもどんなアプリでも作れるようになる方法はありません。

投稿2018/01/16 09:27

Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問