問題タブ [android-priority-jobqueue]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - android-priority-jobqueue でアクティブなジョブの現在のリストを取得します
https://github.com/yigit/android-priority-jobqueueでアクティブなジョブのリストを取得する推奨される方法があるかどうか知りたい
そうすれば、永続的なジョブがまだ待機している場合、ユーザーにそのジョブを知らせることができます。
java - コールバック メソッドに関する JobQueue のライフサイクル
com.birbit:android-priority-jobqueue:1.3.5
サーバーにデータを送信するために使用しています。方法は次のとおりです。
大したことは何ですか?sendJson
他の 3 つのメソッドの処理が完了した後に呼び出す必要があります。ただし、TransferUtility はデータを S3 に非同期で送信します。したがって、これらのそれぞれ-ToAmazonS3UsingTransferUtility
が成功したことを追跡するために、AtomicInteger を使用してそれぞれの完了をカウントしていますTransferObserver
。
それぞれ-ToAmazonS3UsingTransferUtility
が完全に完了すると、それぞれのフラグを true (つまりcallback.xDone=true
) に設定し、 を呼び出しますcallback.sendJson(myStuff)
。内部sendJson
では、すべてのフラグが設定されているかどうかを確認し、json をサーバーに送信します。
とにかく、それぞれ-ToAmazonS3UsingTransferUtility
が非同期で呼び出すので、例外がスローされcallback.sendJson(myStuff)
たらどうなるでしょうか? ジョブ キューはそれを認識しますかcallback.sendJson(myStuff)
?onRun()
onRun
が例外をスローすると、JobQueue は後で再試行することを認識しているため、これは重要です。
私の知る限りonRun
、非同期呼び出しが行われると実行が完了します。では、この問題を修正してコードがうまく機能するようにするにはどうすればよいでしょうか? おそらく TransferUtility を同期的に動作させる方法はありますか?
android - アプリが閉じられているかメモリから削除されているかに関係なく、ジョブを実行し、2 分ごとにプーリングを行います
私は android-priority-job-queue 'com.github.yigit:android-priority-jobqueue' を使用しています。2分ごとに実行されるようにします。以下はコードです
ただし、アプリが閉じられるか、メモリから削除されると、中断されます。アプリが閉じられているかメモリから削除されているときに、ジョブを継続的に実行し、2 分ごとにプーリングを行うにはどうすればよいですか。スティッキー サービスやandroid.permission.BIND_JOB_SERVICEのようなものはありますか?
サーバー プーリング システムの構築。上記の API 15 が必要です。
android - UI を変更する操作の順次実行
実際の作業は で行われAsynctask
、AsyncTask
結果が返されます。ユーザーは、複数の独立した UI の変更が順番に行われることを含む、舞台裏で何が起こったのかについての視覚的な手がかりを必要としています。UI の変更にはアニメーションが含まれるため、キュー内の次のジョブは、現在のジョブのアニメーションが終了するまで待機する必要があります。[シーケンスは固定されていませんが、 が受け取った結果によって異なりますAsyncTask
。]
ネットワーク アクセスなどの重労働はすべて によって行われますAsyncTask
。UI を順次変更するためのより良い方法を探しています。
私の現在のアプローチ: 現在、私はhttps://github.com/yigit/android-priority-jobqueueを使用しています
UI の変更が終了すると、イベントバスにイベントを送出してjobManager
開始されます[ が呼び出されると停止しますjob
] onRun
。
onRun
現在、 内のUI ハンドラーに投稿していJob
ます。動作しますが、ライブラリは、UI 操作ではなく、ディスクへの書き込みと実行時間の長い操作用に設計されています。それを行うより良い方法はありますか?
android - Android JobQueue - キュージョブ
Job AとJob Bの2 つのジョブをキューに入れたいという単純なシナリオがあります。
ジョブ Bは、ジョブ Aが終了した後にのみ呼び出す必要があります。
設定
jobManager
内にオブジェクトをカプセル化しましたApplication
。
App.getJobManager().addJobInBackground(new JobA());
App.getJobManager().addJobInBackground(new JobB());
ジョブコンストラクター
両方のジョブには通常、次のようなコンストラクターがあります。
android - Retrofit を介して IntentService 内で複数の応答を取得するために call execute をループできないのはなぜですか?
Retrofit を介して IntentService 内で複数の応答を取得するために call execute をループできないのはなぜですか?
私のコードを見てください:
そのため、URL を持つ API があるという状況です。http//:myapi.com/[date]
後付けで呼び出すと、その特定の日の議題 (イベント) の JSON 応答が得られます。私がやりたいのは、次の週の議題(イベント)を表示することです。そのため、次の週の日付の文字列配列を指定してループを介して実行しました。Eventbrite アプリのようなものを想像してみてください。
私が間違っていることは何ですか?JobQueue/Eventbus 経由でこれを行う必要があることをどこかで読みましたが、それを行う必要がありますか? しかし、これ以上サードパーティのライブラリを使用したくないので、少し躊躇しています。ただし、それが最後のシナリオである場合は、おそらくそれを使用します。
java - Robolectric getSystemService が PowerManager サービスに対して null を返す
powermanager サービスが何らかの形で存在することを必要とするライブラリ (Android 優先ジョブキュー) を使用するコードを単体テストしようとしていますが、それにアクセスしようとすると、getsystemservice が null を返し、ライブラリが NullPointerException でクラッシュします。
私はもう試した:
- 古いコードを使用してモック パワー マネージャーを robolectric に挿入しましたが、3.0/3.1 で API が変更されたため、コードが機能しなくなりました。
- android-priority-jobqueue のカスタム NetworkUtil クラスを使用しますが、設定したことを認識せず、パワー マネージャーを検索する独自のクラスを作成します。
- robolectric をまったく使用せず、getsystemservice をモックする
これまでのところ何も機能していません。android-priority-jobqueue や robolectric 経由の powermanager を使用して、コードをどのようにテストしていますか? それはどのように行われるべきですか?
ありがとう :)