Summary
This was probably the most technical chapter so far. We explored threads, game loops, timing, using interfaces, and the Activity
lifecycle – it's a very long list of topics to cram in.
If the exact interrelationship between these things is still not entirely clear, it is not a problem. All you need to know is that when the user starts and stops the app, the MainActivity
class will handle starting and stopping the thread by calling the LiveDrawingView
class's pause
and resume
functions. It achieves this through the overridden onPause
and onResume
functions, which are called by the OS.
Once the thread is running, the code inside the run
function executes alongside the UI thread that is listening for user input. As we call the update
and draw
functions from the run
function 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 can then update...