[Android] SQL
Ciao a tutti,
vi scrivo perché sto incontrando grosse difficoltà nella gestione di un db SQL tramite un'app android.
Ho guardato centinaia di tutorial e discussioni su questo argomento (quasi tutte in lingua straniera) ed ho capito supergiù i passi da seguire (creazione database sql, lo interrogo tramite php -> creazione file json -> interpretazione json sulla mia app).
Quel che non capisco è (tutto): quali sono i passi da seguire per far ciò (nella pratica insomma)??
Cioè, partendo da zero, dove e come creo il db? Non ho capito se tramite php posso anche creare un db o se i due concetti sono separati.
Ecco intanto vorrei capire come iniziare, sperando di far chiarezza perché di tutto quel che ho letto ho solo tanta confusione.
Grazie in anticipo a chiunque voglia/sappia aiutarmi
vi scrivo perché sto incontrando grosse difficoltà nella gestione di un db SQL tramite un'app android.
Ho guardato centinaia di tutorial e discussioni su questo argomento (quasi tutte in lingua straniera) ed ho capito supergiù i passi da seguire (creazione database sql, lo interrogo tramite php -> creazione file json -> interpretazione json sulla mia app).
Quel che non capisco è (tutto): quali sono i passi da seguire per far ciò (nella pratica insomma)??
Cioè, partendo da zero, dove e come creo il db? Non ho capito se tramite php posso anche creare un db o se i due concetti sono separati.
Ecco intanto vorrei capire come iniziare, sperando di far chiarezza perché di tutto quel che ho letto ho solo tanta confusione.
Grazie in anticipo a chiunque voglia/sappia aiutarmi

Risposte
La vera domanda credo debba essere: perché usare un database SQL nell'applicazione Android? Quali sono i tuoi obiettivi e in che modo un database dovrebbe aiutarti ad ottenerli? Il database deve essere creato sul dispositivo (usando qualcosa come Sqlite suppongo) oppure deve essere accessibile online (e hai quindi bisogno di un server sul quale installare il database e l'applicazione che verrà interrogata dalla tua app)?
La mia app dovrebbe rendere disponibile dei contenuti presenti online (in modo che ogni utente visualizza gli stessi dati).
Per questo motivo pensavo ad un db SQL (visto che per le interrogazioni è probabilmente il linguaggio più semplice esistente).
Dici che sbaglio ?
Per questo motivo pensavo ad un db SQL (visto che per le interrogazioni è probabilmente il linguaggio più semplice esistente).
Dici che sbaglio ?
No, va bene come soluzione. Il database sarà tuttavia completamente gestito dalla tua applicazione web e sarà completamente trasparente dal punto di vista dell'app Android. L'applicazione Android manderà una richiesta al server web che dovrai quindi interpretare con un qualche linguaggio server-side come PHP che farà quindi l'interrogazione al database e risponderà in modo opportuna alla tua app Android. Dal punto di vista dell'app Android non ha importanza se i dati sono presi da un database, generati nel codice PHP o scritti a mano dal programmatore.. Nota che esistono numerose scelte possibili come linguaggio a livello server e dovrai in qualche modo rendere accessibile il tuo server (o affittarne uno).
"apatriarca":
No, va bene come soluzione. Il database sarà tuttavia completamente gestito dalla tua applicazione web e sarà completamente trasparente dal punto di vista dell'app Android. L'applicazione Android manderà una richiesta al server web che dovrai quindi interpretare con un qualche linguaggio server-side come PHP che farà quindi l'interrogazione al database e risponderà in modo opportuna alla tua app Android. Dal punto di vista dell'app Android non ha importanza se i dati sono presi da un database, generati nel codice PHP o scritti a mano dal programmatore.. Nota che esistono numerose scelte possibili come linguaggio a livello server e dovrai in qualche modo rendere accessibile il tuo server (o affittarne uno).
Esatto: pensavo proprio di gestire il tutto tramite php (anche se non sono molto pratico di questo linguaggio, mi è sembrato di capire che per comunicare col db servono pochissime righe di codice, quindi un semplice copia-incolla controllato mi semplificherebbe il tutto).
Quindi da dove inizio? Creo intanto un db online giusto? Dove e come lo creo però?
Hai bisogno di un server web che supporti PHP e di un database SQL (MySQL per esempio). Se hai un IP statico sul tuo computer, puoi fare i test in locale e poi passare a qualche servizio a pagamento. Una volta che hai installato tutto correttamente devi crearti le tabelle all'interno del database e quindi definirti un "protocollo" attraverso il quale l'app android e il server comunicheranno. Infine di devi creare il codice per entrambe le app..
"apatriarca":
Hai bisogno di un server web che supporti PHP e di un database SQL (MySQL per esempio). Se hai un IP statico sul tuo computer, puoi fare i test in locale e poi passare a qualche servizio a pagamento. Una volta che hai installato tutto correttamente devi crearti le tabelle all'interno del database e quindi definirti un "protocollo" attraverso il quale l'app android e il server comunicheranno. Infine di devi creare il codice per entrambe le app..
Ok fin qui supergiù c'ero, è passare alla pratica che mi frega un po'

Avrei una domanda stupida: Come metto online il db? Sono in grado di crearne uno in locale ma non capisco come "pubblicarlo".
Grazie mille!
Puoi pagarti un servizio di hosting con il db incorporato. Oppure puoi usare qualcosa come l'App Engine di google. Oppure puoi rendere visibile il database che hai in locale.. Ci sono insomma diverse alternative..
"apatriarca":
Puoi pagarti un servizio di hosting con il db incorporato. Oppure puoi usare qualcosa come l'App Engine di google. Oppure puoi rendere visibile il database che hai in locale.. Ci sono insomma diverse alternative..
Quindi per iniziare forse mi conviene rendere visibile il db che ho in locale no? Ma come dovrei fare? Che programma utilizzo?
Edit: ho visto che su altervista è possibile creare gratuitamente un db sql. Penso che per iniziare sia l'ideale no?:)
Quindi sempre sullo stesso spazio altervista utilizzo i comandi php per interagire con il db? Non avendo mai programmato in php non ho ben chiaro come avverrebbero gli scambi: cioè con l'app mando un generico comando per visualizzare determinati dati, come verrà generata l'interrogazione su php? Devo caricare diversi file con diverse funzioni? Tipo interrogazione1.php, e quindi richiamo quella dall'app?
Quindi sempre sullo stesso spazio altervista utilizzo i comandi php per interagire con il db? Non avendo mai programmato in php non ho ben chiaro come avverrebbero gli scambi: cioè con l'app mando un generico comando per visualizzare determinati dati, come verrà generata l'interrogazione su php? Devo caricare diversi file con diverse funzioni? Tipo interrogazione1.php, e quindi richiamo quella dall'app?