Autore Topic: Aggiornare Database da internet  (Letto 854 volte)

Offline FeRoX

  • Utente junior
  • **
  • Post: 67
  • Respect: +2
    • Mostra profilo
Aggiornare Database da internet
« il: 29 Marzo 2012, 14:24:44 CEST »
0
Salve,
nella mia applicazione ho precaricato negli assets un database SQLite, che gestisco poi dentro l'applicazione.
Ho bisogno, una volta a settimana, di aggiornare questo database e ovviamente non mi va di rilasciare, ogni settimana, un'aggiornamento dell'applicazione.
Quindi volevo sapere come si fa a far collegare l'applicazione a un database aggiornato che dovrei mettere in un qualche sito, e procedere con l'aggiornamento.
Qualcuno può darmi una mano?
Grazie.

Offline leencoo

  • Nuovo arrivato
  • *
  • Post: 16
  • Înjunghia dvs. zâmbet demonice pentru creierul me
  • Respect: 0
    • Google+
    • leencoo
    • Mostra profilo
  • Dispositivo Android:
    Eee Pad Transformer Prime TF201
  • Sistema operativo:
    Ubuntu 11.04, Windows 7
Re:Aggiornare Database da internet
« Risposta #1 il: 29 Marzo 2012, 15:00:20 CEST »
0
Salve FeRoX
tempo fa ho dovuto fare una cosa simile alla tua :'(, io utilizzavo un altro tipo di database, ma il problema è il medesimo...

sono riuscito a far funzionare tutto creando sullo spazio web che ospita il DB un file in php che faceva le richieste e effettuavo il fetch dei dati con l'applicazione...

ti incollo due link molto utili a mio parere che spiegano come fare il tutto

http://www.helloandroid.com/tutorials/connecting-mysql-database

http://stackoverflow.com/questions/3849705/updateing-android-application-content-via-internet

Fammi sapere se sei riuscito... se hai problemi col php scrivimi che lo conosco bene.  ;-)
+----------------------------------------------------------+
| GnuPG/PGP Key-Id: 0x131E883F                      |
| ()  ascii ribbon campaign - against html e-mail |
| /\  against proprietary attachments                 |

Offline FeRoX

  • Utente junior
  • **
  • Post: 67
  • Respect: +2
    • Mostra profilo
R: Aggiornare Database da internet
« Risposta #2 il: 29 Marzo 2012, 16:33:50 CEST »
0
Grazie, ma ho visto che è tutto per sql gestito con mysql, io invece sto usando sqlite... Non c'è qualche guida per sqlite? Non vorrei rifare tutto =(

Offline FeRoX

  • Utente junior
  • **
  • Post: 67
  • Respect: +2
    • Mostra profilo
Re:Aggiornare Database da internet
« Risposta #3 il: 30 Marzo 2012, 12:12:17 CEST »
0
Allora mi sono informato in giro e le scelte sono 3:

1- Ho nel cellulare il mio database SQLite, scarico da un server FTP il database aggiornato, e poi chiamo il metodo upgrade() del dbhelper, passandoli l'intero database nuovo.

2- scarico dal server FTP un file con dentro le istruzioni in SQLite da eseguire per aggiornare il database. Gestendo il fatto che ci sono diverse versioni dell'applicazione, 1.1,1.2,1.3, ecc quindi io inserisco nel file le istruzioni per aggiornare il db più vecchio(1.1), che andrà bene anche per le versioni successive, dato che eseguiranno istruzioni che cmq contengono già.

3-Gestire tutto collegandomi ad un server MySql, e chiedendo di restituire tramite JSON tutte le tabelle del database. (non mi sembra la scelta migliore).

La scelta migliore è la 2?
Il ragionamento è corretto per aggiornare un db attraverso internet?

Offline leencoo

  • Nuovo arrivato
  • *
  • Post: 16
  • Înjunghia dvs. zâmbet demonice pentru creierul me
  • Respect: 0
    • Google+
    • leencoo
    • Mostra profilo
  • Dispositivo Android:
    Eee Pad Transformer Prime TF201
  • Sistema operativo:
    Ubuntu 11.04, Windows 7
Re:Aggiornare Database da internet
« Risposta #4 il: 31 Marzo 2012, 13:20:19 CEST »
0
A mio modesto parere scaricare il file da ftp non è la scelta migliore... al massimo collegarti con http e fare il parsing di una pagina... ma fare una connessione ftp per prendere delle istruzioni mi sembra troppo complesso... credo che la migiore sia la soluzione numero 3... ma vabenissimo anche la soluzione 2 pero' non da ftp... fallo con una pagina normale...
+----------------------------------------------------------+
| GnuPG/PGP Key-Id: 0x131E883F                      |
| ()  ascii ribbon campaign - against html e-mail |
| /\  against proprietary attachments                 |

Offline FeRoX

  • Utente junior
  • **
  • Post: 67
  • Respect: +2
    • Mostra profilo
Re:Aggiornare Database da internet
« Risposta #5 il: 31 Marzo 2012, 15:13:03 CEST »
0
Ciao la questione è questa:
Ogni applicazione deve aggiornare il db collegandosi ad un server.
Calcolando che ci sono 500 persone con l'applicazione, volevo capire se l'FTP gestisce la concorrenza, oppure permette un download alla volta.
Altrimenti dovrei fare qualcosa con l'http, ma non voglio che il file sia pubblico, cioè chiunque si collega anche da un browser internet può scaricare il file, vorrei proteggerlo in qualche modo(login, password, o altro)....
Non so come implementare questa funzionalità =(
« Ultima modifica: 31 Marzo 2012, 15:28:14 CEST da FeRoX »

Offline leencoo

  • Nuovo arrivato
  • *
  • Post: 16
  • Înjunghia dvs. zâmbet demonice pentru creierul me
  • Respect: 0
    • Google+
    • leencoo
    • Mostra profilo
  • Dispositivo Android:
    Eee Pad Transformer Prime TF201
  • Sistema operativo:
    Ubuntu 11.04, Windows 7
Re:Aggiornare Database da internet
« Risposta #6 il: 31 Marzo 2012, 20:35:25 CEST »
0
L'ftp permette download simmultanei, ma è un rpotocollo che a mio parere ti farebbe perdere tempo nell'implementazione..per quanto riguarda la sicurezza ecc.. ci sono un sacco di modi per monitorare la cosa... adesso sto per uscire ma credo di poterti postare una soluzione entro qualche giorno... a meno che qualcuno non mi preceda... :-P
+----------------------------------------------------------+
| GnuPG/PGP Key-Id: 0x131E883F                      |
| ()  ascii ribbon campaign - against html e-mail |
| /\  against proprietary attachments                 |

Offline FeRoX

  • Utente junior
  • **
  • Post: 67
  • Respect: +2
    • Mostra profilo
R: Aggiornare Database da internet
« Risposta #7 il: 31 Marzo 2012, 22:01:53 CEST »
0
Grazie davvero, aspetto le tue istruzioni. Come ho detto, dovrei scaricare questo file txt con le istruzioni sqlite da eseguire per aggiornare il database, ma vorrei che solo l'applicazione possa scaricare questo file.
« Ultima modifica: 31 Marzo 2012, 22:52:35 CEST da FeRoX »

Offline AlessioElia

  • Nuovo arrivato
  • *
  • Post: 29
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Re:Aggiornare Database da internet
« Risposta #8 il: 10 Aprile 2012, 12:10:25 CEST »
0
Salve anche io sono interessato a questo topic.
Stavo procedendo con la soluzione 1 postata da Ferox senza essere a conoscenza delle altre 2.
Perchè questa non è la scelta migliore? Mi sembra molto facile da implementare.