Autore Topic: App Interfaccia DB  (Letto 465 volte)

Offline Devy

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • Mostra profilo
App Interfaccia DB
« il: 02 Agosto 2013, 13:12:22 CEST »
0
Ciao ragazzi/e, sto sviluppando un app che rappresenta un'interfaccia sui dati di un database remoto.
In realtà dovrò occuparmi anche di creare il back-end che credo sarà scritto in PHP e tornerà dati in formato JSON.
In questi giorni ho girato un po' in rete per trovare le best practices per realizzare quando detto, ma ho ancora diversi dubbi:

1. Quale classe utilizzate per la connessione?
DefaultHttpClient? DefaultHttpClient | Android Developers
Quella consiglia dal team android (java.net.HttpURLConnection)? Android’s HTTP Clients | Android Developers Blog
O questa estensione utilizzata anche nel codice sorgente di iosched 2013 (App del Google I/O 2013)? A basic HTTP client for Android (and more) « TurboManage

2. Come posso organizzare il codice delle numerose query che avrò? Non intendo mantenere i dati in locale (il db è troppo pesante), vorrei evitare
di riscrivere 1000 AsyncTask di poco diversi tra loro: in realtà quello che cambia è la query ed il modo in cui parsano il JSON che gli è tornato.
Il parsing dei dati deve essere fatto per forza nell'OnPostExecute? Come posso distinguere, magari con un parametro, il tipo di parsing che mi serve?

3. Ho un task pesante (l'apertura della fotocamera) che finché non è completato mi pianta la GUI e trasmette una pessima user-experience.
Ho provato a metterlo in un thread secondario ma le cose non cambiano. Ad esempio l'app di Gmail riesce a caricare il layout di base
(una specie di placeholder) e poi riempe i campi man mano che i dati arrivano dal server...come si può ottenere questo risultato?
Io vorrei caricare lo sfondo dell'activity che usa la fotocamera e poi attendere che si apra e parta la preview.

Grazie a chiunque volesse darmi una mano a fugare anche uno solo di questi dubbi.

P.S. I dubbi sono eterogenei non so se la sezione in cui ho postato può considerarsi corretta...