Использовать AsyncTask для подключения.
В preExecute получить размер загружаемого объекта, создать индикатор выполнения и т. д. с верхним размером объекта.
в onProgressUpdate рассчитать, как многое было сделано с момента последнего обновления, поэтому вы можете оценить время и обновить свой индикатор выполнения, достигнув итоговой суммы.