Ciao, diciamo che la domanda è costituita da tre temi: selezionare un file (cliccando da qualche parte), scaricare un file, visualizzare un file.
Per il primo punto direi che dipenda dal tipo di interfaccia che desideri fornire. Potrebbe essere una xCLV costruita sulla base di una lista di file disponibili ritornata da un server, potrebbe essere un testo descrittivo che inglobi dei link (come degli URL), potrebbe essere un menu "fisso" di opzioni (es. Menu del giorno, Lista vini..)
Per il secondo, un metodo piuttosto agevole è far uso della libreria okHttpUtils2 ed in particolare di httpjob.download (in pratica lo stesso sistema che avrai visto in AppUpdate)
Per visualizzare il file, in particolare per un PDF, potresti avere qualche problema perchè, almeno fino ad una certa versione, Android non aveva un suo reader di default incluso (in pratica "ignorava" il formato). Ciò significava che l'utente doveva scaricare ed installare un reader per poter far uso di un'app tipo quella che ti prefiggi.
Ammesso che un reader sia disponibile, cerca sul forum "view PDF" o qualcosa di simile e vedrai che troverai alcuni riferimenti che in questo momento, a memoria, mi sfuggono.
ps: se non sbaglio per iOS la questione è più semplice perchè il formato è riconosciuto di base.