Android Kotlin基礎講座 09.2:WorkManager

Android Kotlin基礎講座
スポンサーリンク
スポンサーリンク
スポンサーリンク

この講座について

この記事は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をスケジューリング

プロフィール

プロフィール
コードラボJP

大学卒業後SEに就職、現在は退職しフリーランスとして活動中。
『初心者でも挫折せずに一人でプログラミングを学べる』をモットーに、コードラボJPを開設
お問い合わせ等はcodelabsjp@gmail.comまで

コードラボJPをフォローする
タイトルとURLをコピーしました