Saving instance state of the Fragment while screen rotation

To give seamless experience to user, it important to keep user in same state of operation. For example if user is typing something in EditText and rotates device, text entered by user should be kept.

When device rotates activity gets recreated forcing Fragment to recreate.
Here we can maintain state of fragment so that after rotation fragment can restore data using saved instance state.

Full source code


Making sequential requests using Volley

Volley by nature is async as on completion of request callback gets triggered. We add request by using RequestQueue.add(Request) which gets added in internal priority blocking queue. By default 4 dispatcher or network threads run in background which pick request from queue and process it. As soon as processing is complete dispatcher picks next request in from the queue.

To make volley request sequential we need to restrict dispatcher threads to single thread instated of four. By doing this we restrict Volley from executing next request before complication of current request.

We can use RequestQueue constructor