Smooth transition during device configuration changes in Android

I had to build a simple Android video player while reading “Hello, Android” Second Edition by Ed Burnette. I am about half way through this book, and it is excellent! The author gets right to the point and the lessons are completely hands on.

After completing the short video player tutorial, you notice how the video restarts after device configuration changes, such as a screen rotation. The book suggests using the ‘onRetainNonConfigurationInstance()’ and ‘getLastNonConfigurationInstance()’ methods to save data which would otherwise be lost during the ‘onCreate()’ and ‘onDestroy()’ methods. I decided to figure this out on my own and… it works 🙂

The code is basic and probably has some inefficient stuff, but I think it is a sufficient example of saving the video state. Keep in mind that the ‘getLastNonConfigurationInstance()’ method is great for any instance that needs to be able to transition smoothly during changes such as a screen rotation.