KotlinでRecyclerViewを実装したい方向け。
Androidアプリ開発で一覧機能等を作りたい時に必要になるRecyclerViewとは一体何なのかについて解説します。
この記事は以下のような方を対象者としています。
- アプリ開発で稼ぎたい方
- 副業の選択肢を増やしたい方
- Kotlinを勉強中の方
- RecyclerViewの公式ドキュメントを見ても良く分からない方
目次
前置き: 僕のアプリ開発経験について
これまで僕は合計30個ほど個人で作ったAndroidアプリをリリースしました。
そのほとんどはツール系やゲーム系アプリです。 (開発言語はJava, C#です。)
これまで30個ほどAndroidアプリを開発しましたが、副収入としては合計で1,000円くらいしか年間利益が出ていません。
僕のアプリ開発の失敗談、なぜiOSアプリではなくAndroidアプリ開発がおすすめなのかについて
詳しくは下記の記事で解説しているのでそちらをご覧いただけますと幸いです。😅
RecyclerViewとは
以下公式Android Developersを見ると、RecyclerViewとはListViewの改良版と記載があります。
RecyclerView ウィジェットは ListView を拡張して柔軟性をもたせた改良版です。
ListViewの場合は機能が豊富すぎるあまりパフォーマンスが重いと言う欠点があります。
一方RecyclerViewの場合は必要な機能のみを持ちListViewと比べ軽量化されています。
つまりListViewもRecyclerViewも共に同じリスト機能を実現するためのAndroid SDKであるがRecyclerViewの方が軽量かつ高パフォーマンスであるという事になります。
上記の理由から、現在リスト機能を開発する場合はRecyclerViewを使うことが多くの開発現場で推奨されています。
RecyclerViewとListViewの違い
上記の通り、RecyclerViewを使う方が良いと言うことはわかりました。
しかし、具体的にどのような機能がRecyclerViewとListViewで違うのでしょうか。
下記にRecyclerViewとListViewの主要な違いをまとめました。
- LayoutManager
- ViewHolder
- ItemAnimator
- ItemDecoration
- NotifyAdapter
これらの違いについては、また別記事で詳しくまとめる予定です。
RecyclerViewのサンプルgif画像
では実際にRecyclerViewを使ってどのようなリスト機能が作れるのでしょうか。
こちらにテキストと画像のアイテムリストのサンプルを用意しました。
ここに例えば「アイテムをクリックしたらアイテムの詳細画面に遷移する」ような処理を追加すれば、図鑑やまとめアプリのようなものが作れると思います。
RecyclerViewの仕組み
こちらがRecyclerView内部の処理を可視化した図です。
DataListの箇所を例えばクラウドのデータベースサービス(RDSやFirebase Realtime Databse)に置き換えれば、より実用的なAndoridアプリが作れるのではないでしょうか。
RecyclerViewのソースコード(コピペOK)
ソースコードは僕のQiitaのページでも公開しているので、ご自由にお使い下さい😌
https://qiita.com/kzytech/items/6f02d5eee1055f0b63b3
さいごに
ここまでお読みいただきありがとうございました。
僕のブログサイト「kzy.tech〜日本脱出のための教科書〜」がどのようなサービスで作られているかが気になる方は以下別記事にてご説明していますので、ご覧いただけますと小躍りして喜びます💃
また、海外移住の 英語とプログラミングを習得することを推奨しています。
これは私の経験則から言えることですが、上記二つのスキルがあれば海外移住は絶対に実現できます。
以下に僕が実際に使って効率よくプログラミング学習ができるおすすめサービスを載せます😌
速習!おすすめプログラミング勉強法【Udemy】
いくつかプログラミング学習サービスを利用しましたが、一番効率よく勉強できると感じたのはUdemyでした。
Udemyでは動画での説明や解説等もあり親切で、学習教材も豊富にあることから プログラミング初学者の方が短期間でエンジニアを目指したいのであれば、非常に良い教材だと思います。
ちなみに私は文系卒で社会人になってから独学でudemyを使ってプログラミングの勉強をして、実際にエンジニアとして採用されました
Udemyのコースは1つ1,000円ほどなので、ITの参考本を一冊(3,000円)を買うよりもUdemyのコースを購入する方が安い上により効率的にプログラミングを勉強できると思います。
世界最大級のオンライン学習サイトUdemy
また、別記事にてダナンでの生活やIT関連についても記事を書いていますのでクリックいただけると嬉しくて踊ります💃