Autore Topic: Database e scambio dati  (Letto 164 volte)

Offline dev_vin

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
Database e scambio dati
« il: 06 Ottobre 2016, 10:54:22 CEST »
0
Buongiorno ragazzi, sono nuovo del forum e sto muovendo i primi passi nel mondo Android.

Ho creato un'app molto semplice che mi crea un database SQLite in locale contenente un'unica tabella attraverso la quale gestisco l'anagrafica degli "utenti", ciascuno di loro avrà una propria username e password.

Il mio problema riguarda la creazione di un'altra applicazione in cui la prima activity è una pagina che permette a ciascun utente di effettuare il login e ovviamente i dati d'accesso vanno recuperati dall'app precedentemente creata. La mia idea è quella di usare i Content Provider per effettuare questa operazione. Chiedo consigli a voi più esperti di me. grazieee...

Offline robcanini

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: +3
    • Mostra profilo
Re:Database e scambio dati
« Risposta #1 il: 02 Novembre 2016, 17:33:03 CET »
0
Per costruire un sistema di autenticazione serio, le credenziali di accesso dovrebbero risiedere in un pezzo di architettura diverso da un'applicazione android precedentemente installata.
Ti consiglierei piuttosto, di mettere in piedi un piccolo backend che esponga delle api rest che abilitino il salvataggio di nuovi utenti e la verifica delle credenziali.
In questo modo, ovviamente, qualsiasi app che si interfaccia a questo backend ha accesso agli stessi dati, che sono sempre sincronizzati.

Se non è materia di tua competenza o se comunque vuoi procedere con il recupero dei dati dall'altra app, il miglior modo è sicuramente adottare i ContentProviders.
Altrimenti, un'altra soluzione (anche se meno sicura) è quella di utilizzare dei BroadcastReceiver in ambo le app per sincronizzare i dati. Nell'app che li espone, chiaramente, sarà necessario mantenere istanziato il receiver mediante un servizio in background.

Ti consiglio piuttosto di procedere con i content providers.

Ciao.