お帰りなさい｡
それではAndroid Studioを開き､ 新規プロジェクトを作成し､ Empty Views Activityを選択して､
Work Managerアプリと名付けましょう｡
だからJavaのように "finish "をクリックする｡
そしていつものように､ ワークマネージャーの依存関係を追加する必要がある｡
デベロッパーへ アンドロイド comでAndroid Work Managerを検索する｡
あるいは､ 単にアンドロイドに行くこともできる｡ com jetpack slash Android slash releases slash work.
Javaを使用している場合は､ 下にスクロールしてこれを入手してください｡
もしKotlin Coroutinesがこれをコピーするなら､ Gradle Scripts buildへ｡ gradleで依存関係を選択する｡
ワークマネージャーの依存関係の同期を貼り付ける｡
ここで閉じて､ 新しいJavaクラスを作り､ それをワーカーと名付けます｡
アンドロイドのドットワークからワーカーを延長する｡
このクラスでは､ 実行したいバックグラウンド・タスクを定義する｡
Alt+Enterでメソッドを実装しよう｡
そしてここには､ 仕事をするという一つの方法しかない｡
エンターキーを押せば､ これが我々のやり方だ｡
Doworkメソッドは､ ワーク・マネージャーが提供するバックグラウンド・スレッドで非同期に実行される｡
そこで､ このメソッドの中で､ ある作業をする｡
1000まで数えるよ｡
そのためだ｡
forループを作り､ ゼロに等しくする｡
私は1000未満である｡
というわけで､ カウントはプラス1｡
do workメソッドから返される結果は､ 作業が成功したかどうか､ 失敗した場合はここで作業を再試行すべきかどうかを､
作業マネージャーサービスに通知する｡
この場合はresult dotを使う｡
リトライ､ 失敗､ 成功の3つのメソッドがある｡
私は成功を使う｡
結果のドットsuccessは､ 作業が正常に終了したことを示す｡
結果 ドットの失敗方法 作品は失敗した｡
結果ドット再試行｡
作業は失敗したので､ 再試行ポリシーに従って別の機会に再試行すべきである｡
このメソッドの内部で､ Alt+.
superにマッチするコンストラクタを作成し､ これがワーカー・メソッドとなる｡
メインのアクティビティ・ドットXMLファイルを見てみよう｡
そしてここにボタンを作る｡
制約を推測し､ 私はテキストを変更する｡
そして､ これだ｡
では､ このウィジェットを初期化してみよう｡
プロジェクトをきれいにする｡
ID によるビューの検索メソッドでエラーが発生した場合は､ ワーカーのインスタンスを作成してみましょう｡
仕事依頼wは､ 新しい1回限りの仕事依頼に等しい｡
また､ 定期的な仕事の依頼もできる｡
ワンタイムワークリクエストは､ 1回限りのバックグラウンドタスクの実行要求を表す｡
それなら､ ドットビルダーを使って､ このビルダーを使う必要がある｡
ここで､ ワーカーのクラスを指定する必要がある｡
そこで､ ドットビルド・メソッドの前に作ったワーカードットクラスを使うことにする｡
私のワーカードットクラスは､ ワーカークラスを拡張して作ったカスタムクラスです｡
これは､ ワーカーの作業方法で実行されるバックグラウンドタスクを定義します｡
このメソッドは､ 指定されたワーカークラスの制約と入力データでリクエストを構築することで､ 1回限りの作業リクエストの作成を確定する｡
結果として得られるW変数はワークリクエスト型であり､ ワークマネージ ャにリクエストをエンキューするために使用できる｡
そこで､ 1回限りの仕事依頼を作成したら､ それを仕事依頼w rと名づける｡
デモワーカーまたは my Worker dot Java クラスで定義されたバックグラウンドタスクを実行するために､ ワークマネージャを使ってそれをエンキューすることができます｡
ワークマネージャは､ 指定された制約と入力データを考慮して､ そのタスクのスケジューリングと実行を処理する｡
そこで､ ここではクリック・リスナーに設定されたbtnドットに､ クリック・リスナーに設定された新しいビューを表示します｡
ユーザーがボタンをクリックすると､ リクエストをエンキューし､ リクエストを実行し､ My Workerクラスで定義されたバンクグラウンドタスクを実行する必要があります｡
だから､ 私はこれを実行するつもりだ｡
ワーカーが実行される正確な時間のカウントは､ ワーカーが要求する制約とシステムの最適化に依存します｡
ワークマネジャーは､ このような制約のもとで最高の動作をするように設計されている｡
まず､ ワークマネージャーのドットゲット・インスタンスから始めよう｡
そしてここで､ コンテキストを取得するアプリケーション・コンテキスト・メソッドのドット・エンキューを渡す必要がある｡
そしてここで､ バックグラウンド・タスクを管理する中心的なコンポーネントであるワークマネージャー・ドットゲット・インスタンスに作業リクエストを渡す必要がある｡
ワーク・マネージャーのインスタンスを取得するには､ get instanceメソッドを使い､ アプリケーション・コンテキストを渡す｡
アプリケーションコンテキストを取得します｡
enqueueメソッド｡
このメソッドは､ コード w r で実行する作業要求をエンキューするために使用される｡
ワークリクエストは､ バックグラウンドでスケジュールして実行したいワークリクエストインスタンスである｡
これはケースによって1回だけの作業依頼と定期的な作業依頼があり､ 今回は1回だけの作業依頼を使用します｡
では､ アプリケーションを実行してみよう｡
このエラーに遭遇した場合､ 対処法はとても簡単だ｡
Virgin for Android Gradleプラグインの推奨コンパイルSDKの最大値は80です｡ 10. 0は33である｡
Androidのマニフェストを見て､ ここにターゲットAPIがある｡
33にするよ｡
アプリケーションをもう一度実行してください｡
また､ ここを31から34に変更する必要があり､ ターゲットSDKは34です｡
アプリケーションをもう一度実行してください｡
さあ､ 始めよう｡
LogcatでTanguyを検索する｡
このボタンをクリックすると､ バックグラウンドでカウントが行われるのがわかる｡
おめでとう､ みんな！
アプリケーションにワークマネージャーを追加することに成功した｡