Android Kotlin基礎講座 09.2:WorkManager

この講座について

この記事はAndroid Kotlin基礎講座の一部です。これ以外のAndroid Kotlin基礎講座(全10回)も一緒に受講することでAndroidアプリの開発手法、およびKotlinの基礎知識を学ぶことができます。全講座はAndroid Kotlin基礎講座にリスト化されていますので参考にしてください。

またこの記事ではGoogle Developers Training teamによってGoogle Codelabsに公開されているAndroid Kotlin Fundamentals courseを日本語に翻訳しつつ、筆者の考察も交えながら発信しています。オリジナルのサイト(英文)はこちら

イントロダクション

実世界のアプリの多くはバックグラウンドでのロングランニングタスクを実行する必要があります。例えば、サーバーにファイルをアップロードし、サーバーからのデータを同期し、それをRoomに保存し、サーバーにログを送ったり、データ上で負荷の高い操作を実行したりなどです。このような操作はバックグラウンドで、つまりUIスレッド(メインスレッド)以外で行われるべきです。バックグラウンドタスクはRAMやバッテリーのような端末の限られたリソースを消費します。これらは正しく行われないと、ユーザーに不快な思いをさせてしまうことにつながる可能性もあります。

この記事では、WorkManagerをつかってバックグラウンドタスクを適切に、効率よくスケジューリングする方法を学習します。Androidのバックグラウンド処理に対する他の手段について、より詳しくしりたいかたはGuide to background processing(英文)をご覧ください。

前提知識

  • ViewModel、LiveDataおよびRoomなどのAndroidアーキテクチャコンポーネントの使い方
  • LiveDataクラスでtransformationを行う方法
  • コルーチンの作り方と起動方法
  • データバインディングにおけるバインディングアダプターの使い方
  • レポジトリーパターンを使ってキャッシュされたデータを読み込む方法

この講座で学べること

  • 作業のユニットを表すWorkerの作り方
  • 特定の作業が実行されるようにリクエストするためのWorkRequestの作り方
  • Workerがいつ、どのように実行されるべきかを定義するためのconstraintsをWorkRequestに追加する方法
  • WorkManagerを用いてバックグラウンドタスクをスケジューリングする方法

概要

  • ネットワークからDevByte動画のプレイリストを事前に取得するバックグラウンドタスクを実行するためのWorkerの作成
  • 定期的にworkerを実行させるようにスケジューリング
  • WorkRequestにconstraintsを追加
  • 一日一回定期的に実行されるWorkRequestをスケジューリング

完全無料で通えるプログラミングスクール

プログラミング学習はどうしても一人だとつまづいてしまう時がきます。調べればわかることも少なくないですが、最初のうちは調べ方もわからないことが多いため、あまり効率的ではありません。

効率的かつ挫折せずにプログラミングを学習したい方はスクールを検討してみるのも一つの手です。

中には無料で通えるスクールや、就職保証をしてくれるスクールなどもあるので、きっとあなたの目的に応じて最適のスクールが見つかります!以下の記事で評判がよく特におすすめのスクールをいくつかピックアップしているので、スクール選びで後悔したくない方は御覧ください!

https://codelabsjp.net/best-programming-school/