Ciao, la sincronizzazione di cui parli è possibile senza problemi, a patto che la rete a cui è connesso il dispositivo "sappia" come raggiungere il server. Poi il fatto che altri siti esterni non siano raggiungibili perché la rete non è aperta al mondo esterni non fa cambiare nulla all'applicazione.
Per quanto riguarda il "Real time", quanto deve essere in tempo reale? Un ritardo di secondi/minuti è accettabile? Te lo chiedo perché Android nelle ultime versioni è un po' aggressivo per quanto riguarda i task eseguiti in background. Se poi quello che ti interessa è fare in modo di avere i dati aggiornati una volta che apri l'applicazione, allora non ci sono grossi problemi.
Per quanto riguarda gli strumenti invece, ti serve una conoscenza abbastanza approfondita di Java/Kotlin (Se conosci uno dei due poi è facile imparare l'altro), dell'architettura di Android e del software engineering in generale. Comunque sappi che lo sviluppo di un'app non è così semplice come potrebbe sembrare visto da fuori