Android Kotlin基礎講座 08.1:インターネットからデータを取得する
目次
この講座について
この記事はAndroid Kotlin基礎講座の一部です。これ以外のAndroid Kotlin基礎講座(全10回)も一緒に受講することでAndroidアプリの開発手法、およびKotlinの基礎知識を学ぶことができます。全講座はAndroid Kotlin基礎講座にリスト化されていますので参考にしてください。
またこの記事ではGoogle Developers Training teamによってGoogle Codelabsに公開されているAndroid Kotlin Fundamentals courseを日本語に翻訳しつつ、筆者の考察も交えながら発信しています。オリジナルのサイト(英文)はこちら。
イントロダクション
ほとんどのAndroidアプリは何かしらのタイミングでインターネットに接続する必要があります。この記事および、これに続く記事では、データを受け取り、それを表示するためにウェブサービスに接続するアプリを構築していきます。また以前までの記事で学んだViewModel、LiveData、RecyclerViewなども活用していきます。
この記事では、ネットワークレイヤーを構築するために、コミュニティによって開発されたライブラリを使います。これによって、データや画像を読み込むのが非常に簡単になるだけでなく、アプリがバックグラウンドスレッドで画像を読み込んだり、読み込んだ画像をキャッシュしたりといったAndroidのベストプラクティスに適合する手助けにもなります。ウェブサービスレイヤーに呼びかけるなど、コードにおける非同期、またはノンブロッキングセクション用には、Kotlinのコルーチンを使うようにアプリを修正していきます。またインターネットが遅い、または接続できないといった場合には、ユーザーに今何が起こっているのかを知らせるようにユーザーインターフェース(UI)をアップデートしていきます。
前提知識
- フラグメントの作り方、および使い方
フラグメント間のナビゲートおよび、safeArgsを使ってフラグメント間でデータを渡す方法 - ViewModel、ViewModelProvider.Factory、LiveData、LiveData transformationを含むアーキテクチャコンポーネントの使い方
- ロングランニングタスク用のコルーチンの使い方
この講座で学べること
- RESTウェブサービスとは何か
- インターネット上のRESTウェブサービスに接続し、反応を得るためのRetrofitライブラリの使い方
- Moshiライブラリを使って取得したJSONをデータオブジェクトにパース(解析)する方法
概要
- スターターアプリを修正して、ウェブサービスAPIリクエストを作成し、結果を処理する
- Retrofitライブラリを使ってアプリにネットワークレイヤーを実装する
- Moshiライブラリを使ってウェブサービスから得られたJSONをアプリで使えるLiveDataにパースする
コードを簡素化するためにコルーチン用のRetrofitサポートを活用する
完全無料で通えるプログラミングスクール
プログラミング学習はどうしても一人だとつまづいてしまう時がきます。調べればわかることも少なくないですが、最初のうちは調べ方もわからないことが多いため、あまり効率的ではありません。
効率的かつ挫折せずにプログラミングを学習したい方はスクールを検討してみるのも一つの手です。
中には無料で通えるスクールや、就職保証をしてくれるスクールなどもあるので、きっとあなたの目的に応じて最適のスクールが見つかります!以下の記事で評判がよく特におすすめのスクールをいくつかピックアップしているので、スクール選びで後悔したくない方は御覧ください!