2012-02-02 9 views
2

こんにちは、私はGoogleマップ上のマーカーを更新するアプリケーションを開発しており、私は彼を様々なジオポイントに向かって動かしています。システムのミリ秒を使用してアクションをループする

マップ上で滑らかな動きを実現するために、マーカーを10ミリ秒ごとに数メートル移動します。

私はカウントダウンタイマーを使用していますが(マーカーを10ミリ秒ごとに数メートル移動させます)、正確ではないことがわかっています。

アクションをループするために他に何が使えますか?もっと正確にすることはできますか?

iは

System.nanotime();を使用するものとし、これが最善の方法である場合、私は例を得ることができますか?

答えて

2

希望

Timer timer = new Timer(); 
TimerTask task = new TimerTask() { 
    @Override 
    public void run() { 
     // YOUR CODE HERE 
    } 
}; 

timer.scheduleAtFixedRate(task, 0, 10000); 

TimerTaskを&タイマー

を試してみてください、それはあなたを助けます!

+0

TimerTaskはデフォルトで別のスレッドで動作します。メインスレッドに投稿する必要があります。 – lulumeya

+0

ハンドラを使用してUIスレッドに投稿する – ihrupin

+0

Handlerについてhttp://developer.android.com/reference/android/os/Handler.html – ihrupin

0

私はこの問題は時間に依存しているとは限らず、あなたのアプリケーションだけになることができないすべてのUIアップデートのためにアンドロイドのメインスレッドをループしていると思います。私はメインスレッドに更新を投稿するのに十分な時間を別のスレッドで使用することをお勧めします。

関連する問題