1
ライブ壁紙アプリを作成しています。私はそれを望んで、いくつかの一定の間隔の後、このアプリケーションでは、ムービーオブジェクトはsurfaceHolder
canvas
にそのフレームを描画します。どのようにTimerTaskを使用して連続して実行できますか?
私のコードは
public void startTimer() {
timer = new Timer();
initializeTimerTask();
}
private void initializeTimerTask() {
timerTask = new TimerTask() {@
Override
public void run() {
Canvas canvas = holder.lockCanvas();
canvas.save();
// Adjust size and position so that
// the image looks good on your screen
canvas.scale(1f, 1f);
movie.draw(canvas, -500, 0);
canvas.restore();
holder.unlockCanvasAndPost(canvas);
movie.setTime((int)(System.currentTimeMillis() % movie.duration()));
}
};
timer.schedule(timerTask, 33);
}
あるしかし、私はこのアプリを実行したときにのみ、一つのフレームは、表面に表示され、それが時間の経過とともに変化していません。
私のコードのエラーは何ですか?時間の経過とともに表面が変化していることをどのように確認できますか?