пили свой адаптер, внутри него меняй свойства вьюхи в соответствии с поступающими данными.
слова для поиска, например, "android custom gridview adapter example"
У вас скорее всего переменная timer == null на момент уничтожения окна. Вы ее точно задаете глобально? Потому что вот в onCreate у вас похоже локальная переменная.
1. проверьте правильно ли вы поняли что и куда нужно отправить через любой rest client (я использую postman)
2. используйте retrofit (года три не использую HttpClient чего и вам желаю )