Autore Topic: Gestione DB online  (Letto 1377 volte)

Offline Istorn

  • Utente junior
  • **
  • Post: 53
  • Respect: 0
    • istorn.lol
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Sistema operativo:
    Windows 7
Gestione DB online
« il: 11 Novembre 2013, 17:21:43 CET »
0
Ciao a tutti! So già che mi beccherò qualche insulto da parte dei mod o qualche richiamo per thread preesistenti!

In ogni caso lo scrivo poichè non ho trovato nessun thread simile a ciò che chiedo (sicuramente ci sarà già).

In sostanza io ho un sito dinamico basato ovviamente su registrazione utenti centralizzato su un DB (come tutti i siti dinamici del resto).

Qualcuno mi sa direzionare su un tutorial completo e semplice da capire per eseguire tutte le iterazioni necessarie (query, login, download dei dati) tra applicazione e database?

So già che verrò richiamato ma non ho trovato nulla di basilare nel forum :(

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:Gestione DB online
« Risposta #1 il: 11 Novembre 2013, 17:40:50 CET »
0
Le funzioni di query, login, download dati e tutte le altre non sono altre che richieste di rete con parametri che dipendono da tuo sito dinamico o web service che sia.

Per fare richieste di rete (GET, POST) ci sono molti modi e tutti prescrivono di farle in modo asincrono, ovvero in un thread separato. Puoi fare tutto a mano, o affidarti a librerie che gestiscono gran parte di questi passaggi. Una delle più semplici e rudimentali è android-http-async di cui ho fatto un banale e grezzo tutorial ( [facile] utilizzo della libreria android-async-http - Android Developers Italia ).

Anche se ti sembrano azioni già basilari, come assemblare le richieste http per fare le azioni che hai citato (query, login) dipende dal tuo sito. Le prime volte ti consiglio di provare una certa richiesta http nel browser (scrivendo url e parametri), e solo successivamente riportarla tale e quale nell'app.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Istorn

  • Utente junior
  • **
  • Post: 53
  • Respect: 0
    • istorn.lol
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Sistema operativo:
    Windows 7
Re:Gestione DB online
« Risposta #2 il: 11 Novembre 2013, 18:27:04 CET »
0
Interessante. Ti ringrazio! Tuttavia ho notato che serve a fare richieste prettamente ed esclusivamente http. Supponiamo che io voglia estrarre un record direttamente tramite query... ?

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:Gestione DB online
« Risposta #3 il: 11 Novembre 2013, 19:28:28 CET »
0
Interessante. Ti ringrazio! Tuttavia ho notato che serve a fare richieste prettamente ed esclusivamente http. Supponiamo che io voglia estrarre un record direttamente tramite query... ?

Premesso che l'accesso diretto ad un database mysql è tecnicamente fattibile, ma di fatto comporta ostacoli incredibili (nessuno lo fa), devi implementare la funzione sul tuo sito dinamico (che funziona quindi da web service) a cui passi la query in un formato che ti è comodo e ti restituisce i risultati in un formato altrettanto comodo (xml, json, altro).

Per questo dicevo che, a meno di non fare cose veramente molto complesse e tecnicamente non banali, da un'app android usciranno esclusivamente richieste http.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Istorn

  • Utente junior
  • **
  • Post: 53
  • Respect: 0
    • istorn.lol
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Sistema operativo:
    Windows 7
Re:Gestione DB online
« Risposta #4 il: 11 Novembre 2013, 19:56:50 CET »
0
Immaginati che stia seguendo il progetto di un sito web... Mooolto social, il che implica varie iterazioni... Tu cosa mi consigli?

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:Gestione DB online
« Risposta #5 il: 11 Novembre 2013, 20:12:52 CET »
0
Immaginati che stia seguendo il progetto di un sito web... Mooolto social, il che implica varie iterazioni... Tu cosa mi consigli?

keep it simple: scegli soluzioni che puoi testare anche da un browser su desktop. Tutto quello che puoi fare da un browser lo trasporti facilmente in qualsiasi app, per esempio vuoi fare una query su una tabella per estrarre le righe tra due date? Fai una HTTP POST da un form con un campo per la tabella e due campi per le due date, fatti rispondere in JSON e controlla direttamente nel browser i dati estratti. Messo a punto il web service, ti basta fare la HTTP POST e il parsing del JSON risultante nell'app senza toccare niente altro.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Istorn

  • Utente junior
  • **
  • Post: 53
  • Respect: 0
    • istorn.lol
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Sistema operativo:
    Windows 7
Re:Gestione DB online
« Risposta #6 il: 12 Novembre 2013, 10:20:53 CET »
0
Purtroppo ho avuto la sfortuna di non imparare queste peculiarità in informatica: se ho capito bene, in pratica io dal sito web eseguo un servizio di estrazione DB in stringhe delle quali poi verrà fatto il parsing da applicazione giusto?  :-[


Offline mauro21

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: 0
    • Mostra profilo
Re:Gestione DB online
« Risposta #7 il: 12 Novembre 2013, 11:27:16 CET »
0
scusate se entro in questo topic ma ho praticamente lo stesso problema.

in pratica mi interessa un DB al quale possano accedere tutti quelli che si scaricano la mia app.

deve essere qualcosa di moooolto semplice (è una spiecie di biblioteca, si può inserire, cancellare e prenotare un libro).

Quando per es io prendo un libro, se qualche altro utente scarica l'app e visualizza l'elenco dei libri, il mio gli risulterà prenotato.

com'è possibile fare queste operazioni in modo supersemplice??

grazie

Offline Istorn

  • Utente junior
  • **
  • Post: 53
  • Respect: 0
    • istorn.lol
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Sistema operativo:
    Windows 7
Re:Gestione DB online
« Risposta #8 il: 12 Novembre 2013, 11:29:44 CET »
0
Ne approfitto per aggiungere un'altra semplice domanda: come dice mauro (vedo che abbiamo un problema analogo), è possibile avere magari qualche guida o procedura guidata per questo problema?

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:Gestione DB online
« Risposta #9 il: 12 Novembre 2013, 11:33:30 CET »
0
Purtroppo ho avuto la sfortuna di non imparare queste peculiarità in informatica: se ho capito bene, in pratica io dal sito web eseguo un servizio di estrazione DB in stringhe delle quali poi verrà fatto il parsing da applicazione giusto?  :-[

Beh non è che dovevi "nascere imparato". Se ti sei preso in carico lo sviluppo di tale progetto, avrai messo in conto di sapere già alcune cose e dover studiare quelle che non sai.

In questo caso mi sembra di capire che devi decidere come realizzare sia l'app che il web service, il che presuppone o esperienza in entrambi o intenzione di studiare entrambe le problematiche. Visto che non hai mai visto o fatto una cosa del genere, il mio consiglio è di mantenere tutto molto semplice, al limite del grezzo. Per esempio se usi php, fai una pagina che prende come parametri il nome della tabella e alcune condizioni per fare la query, esegue la query vera e propria sul database, poi restituisce i risultati in formato JSON. Questo puoi provarlo e testarlo direttamente da browser. Certo, se non hai esperienza di pagine dinamiche (tipo php), di query database (sql) e di encoding in json, devi studiare un po'.


Citazione
Ne approfitto per aggiungere un'altra semplice domanda: come dice mauro (vedo che abbiamo un problema analogo), è possibile avere magari qualche guida o procedura guidata per questo problema?

Per domande su come impostare/progettare/gestire webservice o siti dinamici, dovreste rivolgervi a community sull'argomento (PHP, Java, etc). Questo forum è dedicato esclusivamente alle app android che vanno ad usare tali servizi, solitamente con semplici richieste HTTP.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline mauro21

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: 0
    • Mostra profilo
Re:Gestione DB online
« Risposta #10 il: 12 Novembre 2013, 11:38:23 CET »
0
tutto chiarissimo, tranne l'ultima parte (json).

io nelle web che ho fatto ho visualizzato i risultati nelle query direttamente in tabelle nella pagina php

come posso espertare questi dati direttamente nell'app android? x es array o cose cosi

grazie

Offline Istorn

  • Utente junior
  • **
  • Post: 53
  • Respect: 0
    • istorn.lol
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Sistema operativo:
    Windows 7
Re:Gestione DB online
« Risposta #11 il: 12 Novembre 2013, 11:47:53 CET »
0
Allora faccio prima a dirti cosa so: php (ma il sito lo fa un altro mio socio, io mi occupo dello sviluppo applicazioni), java (ho sviluppato un app offline precedentemente per android), SQL a menadito... JSON purtroppo no.

So che c'è come dici giustamente tu una sezione dedicata: c'è qualche esempio guida per aprirmi un po' il cervello e capire come agire in modo semplice ed efficace come giustamente dici tu?

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:Gestione DB online
« Risposta #12 il: 12 Novembre 2013, 12:20:53 CET »
0
Citazione
tutto chiarissimo, tranne l'ultima parte (json).
io nelle web che ho fatto ho visualizzato i risultati nelle query direttamente in tabelle nella pagina php
come posso espertare questi dati direttamente nell'app android? x es array o cose cosi

Ti ho suggerito JSON non a caso, è perchè per fare parsing di JSON c'è già tutto su Android, librerie e guide varie.
Mentre per far parsing di tabelle nell'HTML devi farti tutto da solo.

So che c'è come dici giustamente tu una sezione dedicata: c'è qualche esempio guida per aprirmi un po' il cervello e capire come agire in modo semplice ed efficace come giustamente dici tu?

Per la parte android, di recente ho postato un tutorial in cui un'app android veramente minimale invia richieste http ad un server e ne riceve risposte in JSON. Non guardare al fatto che il webserver l'ho fatto su una scheda Arduino, è del tutto inessenziale, guarda la parte android.

[medio] Android app e webserver Arduino - Android Developers Italia

Per la parte web service, qua sul forum non c'è niente, non essendo specifico di android.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store