Summary
This was probably the most technical chapter so far. Threads, game loops, timing, using interfaces along with the Activity lifecycle, and so on… it's an awfully long list of topics to cram in.
If the exact interrelationships between these things are not entirely clear, it is not a problem. All you need to know is that when the user starts and stops the app, the LiveDrawingActivity
class will handle starting and stopping the thread by calling the LiveDrawingView
class's pause
and resume
methods. It achieves this via the overridden onPause
and onResume
methods, which are called by the OS.
Once the thread is running the code inside, the run
method executes alongside the UI thread that is listening for user input. As we call the update
and draw
methods from the run
method at the same time as keeping track of how long each frame is taking, our app is ready to rock and roll.
We just need to allow the user to add some particles to their artwork, which we...