Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tateisu/sampleworkermanager
AndroidXのWorkerManagerを使うサンプル
https://github.com/tateisu/sampleworkermanager
Last synced: about 2 months ago
JSON representation
AndroidXのWorkerManagerを使うサンプル
- Host: GitHub
- URL: https://github.com/tateisu/sampleworkermanager
- Owner: tateisu
- Created: 2021-11-19T06:23:03.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2021-11-26T05:02:21.000Z (about 3 years ago)
- Last Synced: 2024-10-07T07:41:30.577Z (3 months ago)
- Language: Kotlin
- Size: 107 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SampleWorkerManager
AndroidXのWorkerManagerを使うサンプル## Android JetPack App Startup を使った初期化
- GlobalStateInitializer## Android HetPack Room を使ったアプリ内DB
- AppDatabase
- RItem## WorkerManagerを使ったバックグラウンド実行
- ItemWorker
- 処理中に(サイレントですが)通知アイコンがでます。
- 複数の WorkRequestを同時に実行しないよう多重起動防止があります。
- (実装なし) WorkRequestにConstraint を追加することでネットワーク状況やバッテリー残量に応じてリクエストを保留することができます。## メイン画面
- 画面上部のボタンを押すとデータを追加します。
- 画面の残りの部分のリストビューには現在のデータが表示されます。LiveDataで自動更新されます。
- 追加したデータは ItemWorker で随時処理されます。## クラッシュ等で処理が中断された場合の検出
- データが処理されてる間にIDEから再度実行開始してみてください。
- RItemはstartTokenを持ち、 GlobalState.instanceToken(初期化時刻+プロセスID)と比較することで過去のプロセスで追加されたデータが中断されたことを検出します。