Connessione dati Android-Server senza Internet

di Anonimizzato23352 il
6 risposte
Ciao a tutti!!
Come posso sincronizzare (in tempo reale) dati da un server a un dispositivo Android attraverso una connessione wifi non connessa a Internet. Si può fare attraverso un lingaggio di programmazione, se si con quali strumenti?

6 Risposte

  • 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
  • Il tempo reale di qualche secondo è accettabile. Conosco abbastanza il linguaggio java e so usare il socket java; ho sempre "fatto parlare" client e server attraverso internet. Non so farlo quando la rete non è connessa a Internet. Esistono classi e metodi che lo permettono attraverso java?
    Sto entrando nel mondo di sviluppo App Android, sapresti consigliarmi qualche guida o manuale per imparare meglio?
  • Le socket sono a un livello un po' basso dello stack, per cui secondo me ti conviene usare qualcosa di più alto livello (supponendo che il server esponga un'interfaccia rest, ad esempio, sarebbe sicuramente più conveniente usare un client Http o direttamente un client Rest).
    Poi come ti dicevo, se sei connesso a una LAN, di fatto sei connesso a una rete internet che semplicemente non è pubblica, per cui questo è trasparente per te.
  • Non ho capito molto bene però se questa operazione è possibile tramite implementazione di qualche metodo java.
    Scusa se non sono stato chiaro prima ma per me è un mondo abbastanza nuovo ahahahah
  • Sì, è certamente possibile. Puoi usare ad esempio la classe HttpUrlConnection per ottenere degli stream di lettura e scrittura per connessioni HTTP. Oppure se il tuo server è un server FTP, puoi usare un client FTP di terze parti (es: Apache Commons Net). Insomma, a seconda di quello che ti serve, nel 99% dei casi qualcun altro ha già sviluppato una libreria che fa esattamente quello che ti serve, o comunque qualcosa di molto simile.
    A questo punto la domanda sorge spontanea: tu sai cosa ti serve? Cioè in che modo il server espone i dati ai client? Se sai rispondere a questa domanda allora hai già un punto di partenza da cui cominciare
  • Perfetto, grazie mille! Sei stata gentilissima/o
Devi accedere o registrarti per scrivere nel forum
6 risposte