The Ball class
Before we start hammering away at the keyboard, let's have a think about what the Ball class will need to be and do.
The ball will be drawn in the draw method of the PongGame class by the drawRect method of the Canvas class. The ball is square-shaped like the original Pong game. Therefore, the ball is going to need the coordinates and size to represent a square.
Shortly, we will see a new class from the Android API that can hold the coordinates of a rectangular ball, but we also need a way to describe how we arrive at and manipulate these coordinates.
For this, we will need variables to represent width and height. We will call them mBallWidth and mBallHeight. Furthermore, we will need variables to hold the target horizontal and vertical rate of travel in pixels. We will call them mXVelocity and mYVelocity respectively.
Perhaps surprisingly, these four variables will be of type float. Game objects are plotted on the screen using integer coordinates...