私はアンドロイドアプリでカメラを使用しており、30秒ごとに写真を撮りたいと思います。例えば。間隔については、前の時刻と現在の時刻System.currentTimeMillis()またはタイムアウトの差を使用します。しかし、私は機能を繰り返し呼び出されるようにする方法を知らない。どんな解決策ですか?Androidアプリで関数を繰り返し呼び出す方法は?
0
A
答えて
2
マルチスレッドが必要です。あなたが内線を呼んでいる場合。 UIを使用するため、Timerを使用しないでください。ハンドラのみ。マルチスレッド用の多くのJavaクラスは、Android UIで動作するものではありません。
import android.os.Handler;
/**
* Examples of use:
*
* Waiter(Runnable call, 30000); - in the calling method
*
* @author Petr Gangnus
*/
public class Waiter {
/**
* the handler that works instead of timer and supports UI
*/
static private Handler handler = new Handler();
Runnable task;
public Waiter(Runnable task,long time){
this.task=task;
handler.removeCallbacks(task);
handler.postDelayed(task, time);
}
public void stopWaiting(){
handler.removeCallbacks(task);
}
}
// setting the task called - in the calling method
final private Runnable call = new Runnable() {
@Override
public void run() {
...;
}
};
3
タスクを定期的に実行する場合は、TimerTaskクラスが最適です。非常に簡単な例をチェックアウトhere。 runメソッドでは、定期的に実行したいコードを記述することができます。スケジューリング中に時間間隔を与えることもできます。
+0
System.out.println( "Time's up!");で例を示すのはいいですが、彼は活動を呼び出す必要があります。サイトの周りを見て - タイマーは、UIで使用する*安全*ではありません。ボタンを押してアクティビティを呼び出すことはUIです。代わりにHandlerを使用する必要があります。簡単な方法はここではうまくいきません。 – Gangnus
関連する問題
- 1. コンソールでjavascript関数を繰り返し呼び出す方法
- 2. 各関数を繰り返し関数スライスで呼び出す
- 3. Android:Androidサービスの関数を繰り返し呼び出す方法は?
- 4. bashスクリプトで長い関数を繰り返し呼び出す方法
- 5. 関数を繰り返し呼び出す
- 6. NSThreadを繰り返し呼び出す方法は?
- 7. アンドロイドでAndroidグローバルレイアウトリスナーを繰り返し呼び出す
- 8. beginBackgroundTaskWithExpirationHandlerを繰り返し呼び出す
- 9. API.AI:同じインテントを繰り返し呼び出す方法
- 10. クラスを繰り返し呼び出し
- 11. C++は1つの関数を繰り返し呼び出しています
- 12. initialize()のハッシュ引数でself.sendを繰り返し呼び出す
- 13. Javascript、ツリーブランチを繰り返す自己呼び出しrecusrive関数で、各ブランチレベルを記録する方法は?
- 14. Oracleは、関数呼び出しを繰り返し選択し、句
- 15. 関数を書いて、繰り返し呼び出す際に最大値を返す方法
- 16. smlで再帰的に別の関数を繰り返し呼び出す方法は?
- 17. ローカル変数または繰り返し呼び出し?
- 18. PHPファイルにヒットする関数を繰り返し呼び出す
- 19. 最初の呼び出しの後でAjax呼び出しを繰り返す方法
- 20. app.buildCarousel()を呼び出すときにforループ内でaddItemsを繰り返し呼び出す方法
- 21. MVC 2アプリケーションで繰り返し呼び出されるjQuery関数
- 22. 成功するまでajax呼び出しを繰り返す方法
- 23. Xamarin AndroidアプリからAndroidアプリを呼び出す方法
- 24. Movilizer for SAP - 同じムービーレット画面を繰り返し呼び出す方法は?
- 25. whileループ内でのプログラム呼び出しの繰り返しを防ぐ方法
- 26. Swift:ランダム関数を呼び出す関数を呼び出す方法は?
- 27. std :: chronoは繰り返しQueryPerformanceFrequencyを呼び出しますか?
- 28. AndroidからPHP関数を呼び出す方法は?
- 29. Excell whileループでサブ呼び出しを繰り返す
- 30. Page.ClientScript.RegisterStartupScriptを呼び出す方法各繰り返しごとにforeachから
本当にマルチスレッドのnescessaryですか?今私はボタンクライニックリスナーで撮った写真を持っていて、私はそれを独立して走りたい。 –
どのように待っていますか? 1つのスレッドが待機しており、もう1つは他の(カメラ)アプリケーションの呼び出されたアクティビティです。本当に、Androidはすべてのスレッドです。シンプルなスレッドクラスは、UIスレッド用のalgirithmic threads(非UI)、Handlersなどに使用できます。 – Gangnus
あなたが提案するソリューションの例は、擬似コードですか?最初はボタンでトリガされた機能を初めて撮ったのですが、buttonClick.performClick()でトリガされたPictureCallbackで機能するのはどうですか? –