Autore Topic: App sempre in ascolto del database  (Letto 1160 volte)

Offline Fixxxer393

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG G2
  • Sistema operativo:
    Windows 10
App sempre in ascolto del database
« il: 12 Ottobre 2013, 12:36:31 CEST »
0
Salve ragazzi, vorrei un suggerimento su come gestire questo problema: la mia app deve essere sempre in ascolto del mio DB remoto...mi spiego meglio... se ad esempio sul mio db ho un campo "colore" settato come "nero" e la mia app appena la faccio partire mi fa vedere il valore "nero"... nel momento in cui io vado a cambiare "nero" con "rosso" la mia app deve farmi vedere "rosso" e non piu "nero"... spero di essere stato chiaro...

Grazie.

Offline Melanogaster

  • Utente normale
  • ***
  • Post: 260
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    SII
  • Sistema operativo:
    Kubuntu
Re:App sempre in ascolto del database
« Risposta #1 il: 12 Ottobre 2013, 12:51:21 CEST »
0
É un argomento molto gettonato ultimamente, dai uno sguardo a php, mysql e json nel forum ;)

Offline Fixxxer393

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG G2
  • Sistema operativo:
    Windows 10
Re:App sempre in ascolto del database
« Risposta #2 il: 13 Ottobre 2013, 01:04:54 CEST »
0
Scusa ma non trovo nulla del genere... sai consigliarmi e linkarmi qualche guida da seguire ?

Grazie ancora...  ;-)

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:App sempre in ascolto del database
« Risposta #3 il: 13 Ottobre 2013, 11:24:59 CEST »
0
Ammesso che tu abbia già un servizio rest (o comunque delle API lato server che ti forniscano i dati) dovresti implementare un sistema di  notifiche push tramite le quali il server, quando nel DB remoto viene cambiato il colore da nero a rosso, notifica a tutti i device registrati (o solo alcuni, secondo la logica che ti serve) che il colore è cambiato. A questo punto ciascun device deve are una chiamata al server e farsi ridare i dati aggiornati.

Offline Melanogaster

  • Utente normale
  • ***
  • Post: 260
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    SII
  • Sistema operativo:
    Kubuntu
Re:App sempre in ascolto del database
« Risposta #4 il: 13 Ottobre 2013, 11:30:56 CEST »
0
Qui trovi un inizio:
Database online - Android Developers Italia
qui un po' di codice:
Problema con JSON su MySQL - Android Developers Italia

Ce ne sono parecchie altre simili alle quali ho risposto recentemente ma purtroppo non le trovo, ma non dovrebbe essere difficile trovarne altre simili, se n'e' parlato parecchio ;)

Per il tuo problema principale, invece
Citazione
la mia app deve essere sempre in ascolto del mio DB remoto...mi spiego meglio... se ad esempio sul mio db ho un campo "colore" settato come "nero" e la mia app appena la faccio partire mi fa vedere il valore "nero"... nel momento in cui io vado a cambiare "nero" con "rosso" la mia app deve farmi vedere "rosso" e non piu "nero"
Dipende da cosa esattamente cosa vuoi fare.
Se vuoi che le modifiche abbiano effetto IMMEDIATO sull'app puoi usare o un servizio per notifiche push, oppure, come farei io in modo meno pulito, in ogni activity metterei una chiamata JSON al mio server. In base al colore che mi restituisce, cambio (esempio) il colore alla grafica dell'Activity in fase di creazione...stessa cosa se devi visualizzare il testo in una TextView, al caricamento effettui una chiamata JSON.

Dipende solo da cosa vorresti fare

Offline Fixxxer393

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG G2
  • Sistema operativo:
    Windows 10
Re:App sempre in ascolto del database
« Risposta #5 il: 13 Ottobre 2013, 14:21:30 CEST »
0
Le notifiche push non mi servono.... mi spiego meglio... io ho un app client e un app server. l'app client mi modifica un dato sul database e l'app server deve visualizzare il cambiamento immediatamente...

NB: ho i dati visualizzati su una listview, quindi tornando all'esempio di prima... se il client inizialmente mi mette sul database il colore "nero" l'app server dovrà visualizzare "nero" sulla listview.... ma se poi il client vorrà modificare "nero" con "rosso" il valore sulla listview deve cambiare in "rosso".... stesso discorso vale per l'inserimento di un nuovo record.... ad esempio se il client vorrà inserire un valore "verde" sul DB nella listview mi si dovrà caricare subito il nuovo record....

Voglio precisare che il codice di caricamento dei dati già ce l'ho.... ma è solo per l'evento onCreate....


Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:App sempre in ascolto del database
« Risposta #6 il: 13 Ottobre 2013, 15:59:32 CEST »
0
Le notifiche push non mi servono.... mi spiego meglio... io ho un app client e un app server.

Ti hanno giustamente suggerito le notifiche push perchè avevi parlato di DB remoto.

Invece adesso tu parli di un'app, che immagino sia su un altro terminale, che funziona da server. Ti anticipo subito che questo scenario è nettamente più complesso del DB remoto, perchè bene o male ti serve comunque un server centrale da cui far transitare i richieste e risposte. A meno di non fare collegamenti diretti tra terminali tramite bluetooth, nfc o simili.

Io ti consiglio di spiegare a grandi linee che genere di comunicazioni deve poter fare la tua app, e poi sentire le opinioni su qual'è la soluzione architetturale più semplice per implementarla (push, cloud, DB remoto, etc).
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Fixxxer393

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG G2
  • Sistema operativo:
    Windows 10
Re:App sempre in ascolto del database
« Risposta #7 il: 13 Ottobre 2013, 16:44:29 CEST »
0
ho parlato di database remoto... perchè ho utilizzato un database remoto.... ^^ cioè io ho un app client che mi scrive sul database remoto e l'altra app server che deve leggere quello che scrive l'app client con continuità....

Grazie ancora.... :-)

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:App sempre in ascolto del database
« Risposta #8 il: 13 Ottobre 2013, 18:24:07 CEST »
+1
ho parlato di database remoto... perchè ho utilizzato un database remoto.... ^^ cioè io ho un app client che mi scrive sul database remoto e l'altra app server che deve leggere quello che scrive l'app client con continuità....

Ok, quindi l'idea è che l'app server interroghi il DB remoto ad esempio ogni 30 secondi: niente di complicato, devi sostanzialmente mettere un timer (AlarmManager ad esempio) e allo scadere leggi da DB remoto. E' un po' pesantuccio, ma d'altra parte senza notifiche push è l'unico modo.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:App sempre in ascolto del database
« Risposta #9 il: 14 Ottobre 2013, 09:51:30 CEST »
+1
Le notifiche push non mi servono.... mi spiego meglio... io ho un app client e un app server. l'app client mi modifica un dato sul database e l'app server deve visualizzare il cambiamento immediatamente...

Sei nel forum sbagliato :)

Ti do comunque un indizio con cui potrai cercare un po' su internet: websocket ;)

Offline Fixxxer393

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG G2
  • Sistema operativo:
    Windows 10
Re:App sempre in ascolto del database
« Risposta #10 il: 14 Ottobre 2013, 13:39:18 CEST »
0
Sei nel forum sbagliato :)

Perchè sono nel forum sbagliato ?  o_O

:P comunque metto come "risolto" ;)