Во-первых определитесь как будет происходить обмен сообщениями, через сервер или напрямую между устройствами. Если решите отправлять сообщения на сервер, а потом пользователю, вам нужно реализовать общение с сервером, возможно простенькое API даже без SSL. Короче говоря, для работы с сетью лучше не писать велосипед и воспользоваться готовыми популярными решениями:
OkHttp,
Retrofit или же посмотрите в сторону
Volley. В последнем случае сразу позаботитесь и о загрузке изображений, иначе воспользуйтесь
Picasso, или же
UIL. Далее вам нужно научится организовывать процедуру входа/выхода и регистрации в приложении и собственно получения/отправки сообщений, ну это задача не сложная требующая базовых знаний Activity и Fragment, ну и стандартных виджетов.