Help us understand the problem. What is going on with this article?

Kotlinから始めたAndroid開発 〜0からの2ヶ月体験記〜

More than 1 year has passed since last update.

Androidアプリ開発を始めて2ヶ月が経過したので0から始めた時に苦労した事などを綴ろうと思います。

開発にあたって必要なもの

  • Androidアプリを作りたいという気持ち
  • パソコン(今回はMacを前提にしていますが、WindowsやLinuxでもあらかた同じだと思います。)
  • JDK
  • AndroidStudioCanary or AndroidStudio

自分は他にもadb-pecoとか入れています。
ターミナル系の設定などはシンプルにMacでのプログラミング環境構築を考えてみたに書いたのでそちらで確認してもらえるとありがたいです。

開発効率をあげるために必要なもの

言語関係

  • Javaの基礎知識
  • Kotlinの基礎知識

自分はJavaも全く理解していなかったのでスッキリわかるJavaをKindleで買って読みました。なかなかページ数の多い本ですがスキマ時間に読むようにして一週間もあれば読める内容です。
他にもJavaSilverの紫本を後から知識の肉付けとして読みました。

ライブラリの中のソースコードはJavaでできていることが多いので自分でカスタムビューなどを作る際などに読めた方が便利です。ネット上のソースコードもまだまだJavaが多いので読めると参考にできます。

Kotlinの本は買いましたが、ほとんど読んではいません。公式とかGithubとかネットで記事を上げてる人のページを見て勉強しています。

Kotlinから始める注意点

正直にいうとJavaで慣れてからKotlinを書くか、同時に書いていくほうが自分はいいと思います。(上記の理由からJavaの知識は必要)
Kotlinは読みやすく、便利な反面、気をつけていないとnullableの場所なのに値が来る前提のコードを書いていたとか、この辺はこれからAndroidStudioが対応していくのかわかりませんが、気を抜いて書くと気づかない間に予期せぬエラーを出す原因になるので書いていく際はそのあたりに注意を払う必要があると感じます。

Android関係

  • AndroidStudioの使い方
  • Activity
  • Fragment
  • Adapter

自分は上記4つを公式を読みながら、Androidアプリ開発をはじめました。
まず書いて慣れたいという方は参考書を買うよりもUdemyなどのオンライン動画サービスなどを使って動画を見て実際にコードを打ちながら、「Activityってのがあるんだ」という感じで覚えていくのも記憶に焼き付くいい勉強だと思います。

自分はAndroidに関しての参考書はほとんど使っていません。既存で出ているアプリを見て自分なりに考えて模倣するように書いています。まだオリジナルのデザインを作れるスキルがないので模倣ばかりしています。

Androidアプリを開発していて思うことはiOSと違い、便利な純正ライブラリが豊富ということです。
なので、一番勉強になることはほとんどのアプリで使われているレイアウトのパーツを作ってみると使いまわせて便利です。

以下はよく使うパーツです。

  • RecyclerView
  • TabLayout & ViewPager
  • ToolbarLayout
  • AppBarLayout

他にもBottomNavigationViewなども触りましたが、デザインによって入るか入らないかわからないのでまずは上記4つを作ることから始めると後々困った時に見ることができる最低限の情報がそろうと思います。

それぞれの作り方は後々別の記事として追加していこうと思います。

レイアウトパーツに関しては嫌でも覚えると思うのですが、一番いい勉強だと思ったことはただ単純にxmlに記述するのではなく、まず最初はJavaやKotlinで生成する練習をするとAndroid開発の敷居がぐっと低くなるとおもいます。

AndroidStudioの使い方

使い方と言っても比較的よく使うショートカット操作です。

  • Command+クラス名、メソッド名、変数名をクリック

宣言されている場所に移動

  • option+Enter

インポート忘れなどを修正

他にも公式を見ればたくさんのショートカットがあるので暇な時に見ていると作業の効率化につながります。

意外に詰まるAndroidの単語

この動きの名前なんてググればいいんだろう。
このパーツの名前なんて言うんだろうとかその辺。

  • ripple effect

Android端末を使っている人にはお馴染み?のボタンをタップした時に出る波紋効果

  • SeekBar

音のボリューム操作のときなどに使うやつ。
うまく表現ができないのでググって見てください。

デザイン

アプリを作っていて思うのはここどのくらい幅を作ってあげればいいのかとかです。
Android的にこれはあっているのかとか、デザインがあれば別ですが、迷ったときはマテリアルデザインと照らし合わせています。
レイアウト作成に慣れて来たら一度目を通す事をおすすめします。

マテリアルデザイン

デザインといえばちょっとしたことなのですが、Androidのデバック機、またはエミュレーターの開発者向けオプションレイアウト境界を表示という箇所をONにすると境界線を表示してくれるのでpaddingやmarginを確認する時に便利です。

その他にもAndroidStudioでToolsAndroidLayoutInspectorを開き、端末で確認することも重要になります。

モチベーション

焦って勉強して開発しても知識の定着には時間がかかります。
自分はAndroidアプリ開発を独学で学ぶ人への効果的な勉強法という記事を習得率の目標として参考にしています。ありがとうございます。
やり方は自分と少し違いますが、何ヶ月目でどのくらいできていればいいのかなど見返しながら勉強していると、次は何をすればいいのかという目標設定にすることができています。

最後に

初めてAndroidの記事を書きました。
これから積極的に作ったものの記事をあげていこうと思います。
まだまだ初心者なので、ご指摘などございましたら、コメントの程よろしくお願い致します。

Jung0
ビール🍺 / ハイボール / お茶割り🍵
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした