私のアプリでは、バックグラウンド サービスで写真を転送しています。写真ごとに、sqlite db にデータベース エントリがあります。ここで、転送する必要がある写真の量を示す情報領域をメイン画面に追加したいと考えています。この領域は 10 秒ごとに更新する必要があるため、ユーザーは実行する必要があるジョブの数を確認できます。
このような問題を解決するためのアンドロイドのベストプラクティスは何ですか?
ありがとう
私のアプリでは、バックグラウンド サービスで写真を転送しています。写真ごとに、sqlite db にデータベース エントリがあります。ここで、転送する必要がある写真の量を示す情報領域をメイン画面に追加したいと考えています。この領域は 10 秒ごとに更新する必要があるため、ユーザーは実行する必要があるジョブの数を確認できます。
このような問題を解決するためのアンドロイドのベストプラクティスは何ですか?
ありがとう
10秒の遅延でメソッドの「再帰呼び出し」を作成しようとすることができます
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//do anything
}
}, 10000);
**または以下の方法を使用することをお勧めします
Timer t = new Timer();
void timerMethod()
{
t.schedule(new TimerTask() {
public void run() {
Log.d("timer", "timer ");
//do anything
}
}, 10000, 10000);
}
を使用しAsyncTask
ます。作業が開始されdoInBackground()
、タスク中にUIpublishProgress()
を更新し、タスクの最後にUIを更新しますonPostExecute()
。の利点AsyncTask
は、sの作成と管理を処理しHandler
、コードをビルドするための簡潔な場所を提供することです。
スケルトンコードについては、こちらのコメントを参照してください:アプリがハングしているように見えないようにする
APIについてもお読みください:http://developer.android.com/reference/android/os/AsyncTask.html
そして、AsyncTasksのチュートリアル:http ://www.vogella.com/articles/AndroidPerformance/article.html#asynctask