How can I update a custom view (by calling invalidate()) every X seconds? (This is for a BrickBreaker game)
===

I am trying to write a BrickBreaker game for Android, and I want to be able to update my BrickBreakerView (which contains the ball, paddle, etc.) every X seconds. Currently, the UI is only updated when the user touches the screen.

 Between the updates, I will be changing data of the paddle, bricks, and balls, and when the onDraw() method is called (UI updates), I want to update the view with the data.

Currently, I only have a paddle, and when the user touches the screen and moves their finger, the position of the paddle updates, and invalidate() is called. Here is my code: 

     private Paddle paddle;
	private int fingerAdjustor = 75;
	
	public BrickBreakerView(Context context, AttributeSet attrs) {
		super(context, attrs);
		setBackgroundColor(Color.WHITE);
		setOnTouchListener(this);
		setOnClickListener(null);
		paddle = new Paddle(100, 675, 150,25);
		invalidate();
	}
	@Override
	public boolean onTouch(View v, MotionEvent event) {
		// TODO Auto-generated method stub
		if(event.getAction() == MotionEvent.ACTION_MOVE) {
			int x = (int) event.getX();
			paddle.setXPosition(x);
			invalidate();
		}
		return false;
	}

	@Override
	protected void onDraw(Canvas canvas) {
		// TODO Auto-generated method stub
		super.onDraw(canvas);
		Paint paint = new Paint();
		paint.setColor(Color.BLUE);
		canvas.drawRect(paddle.getX()-fingerAdjustor, paddle.getY(), paddle.getX() + paddle.getPaddleWidth()-fingerAdjustor, paddle.getY() + paddle.getPaddleHeight(), paint);
		
	}

Would this involve using a timer of some sort? If you could give me some examples or tell how I would implement this, I would be extremely grateful.