Handle back pressed logic

First override onBackPressed() method,then you can implement your logic like closing NavigationDrawer. If you would like to back to homescreen just like pressing the home button, do NOT call super.onBackPressed(), which will exit your app.

Aoid to serialize fields of specifed type in Gson

Just like BitmapImage in UWP, in Android developing, you can't serialize or deserialize Drawable/Bitmap. To avoid this, you should make an annotation @Expose to annotate that this field should be serialized or deserialized, just like this:

That wil be depressed that we can't tell which fields should NOT be serialized, instead, you can only specifiy which ones should be serialized. So if your class A contains Class B and the instance of Class A is going to be serialized, the fields in Class B which you would like to be serialized should all be annotated @Expose.