App per dispositivi mobili personalizzati e server personalizzato [duplicato]

0

Ho questa domanda un po 'semplice e generale. Diciamo che costruisco un'applicazione per Android che richiede un server online con cui comunicare. Il fatto è che voglio fare la comunicazione da solo (perché ora so solo con http post / get). Ci sono biblioteche o come fai a fare questo?

    
posta Кристиян Кацаров 12.10.2014 - 20:25
fonte

1 risposta

0

Se vuoi iniziare a sperimentare con la comunicazione client / server con Android e un servizio web non hai bisogno di per sviluppare un'API REST completa per farlo (sebbene ci siano ottime ragioni per cui potresti voler usare un'API RESTful alla fine quando hai abbastanza esperienza per pensare a come progettarlo bene).

Il primo consiglio è di usare HTTPS e non HTTP se si comunica su una rete pubblica (come ad esempio Internet). Altrimenti tutti i dati tra client e server saranno visibili a chiunque e chiunque possa vedere i dati.

Per la soluzione più semplice, il client sul dispositivo Android potrebbe, ad esempio, POST un modulo HTTPS con alcuni campi semplici come "username" e "password" (in modo da poter autenticare il dispositivo client anziché accettare input da chiunque stia colpendo attorno all'API del tuo server) e un terzo campo chiamato qualcosa come "contenuto" in cui si inviano le informazioni dal client al server. L'invio del nome utente e della password nel modulo è un altro motivo per utilizzare HTTPS, altrimenti l'autenticazione è inutile.

Il campo modulo 'contenuto' potrebbe contenere qualsiasi tipo di dati, inclusa la richiesta di dati dal server, o dati che si desidera memorizzare sul server.

Il server deve quindi accettare solo i post dei moduli HTTPS, leggere il nome utente e la password e controllarli, quindi elaborare il contenuto e rispondere con una risposta appropriata. La risposta potrebbe essere semplicemente testo, o JSON o XML, o qualsiasi altra cosa. La libreria su Android che esegue il test HTTPS leggerà questa risposta e la passerà al sistema client da elaborare.

Ciò che inserisci nel messaggio di contenuto, in che modo lo elabori e in che modo il tuo cliente risponde alla risposta dipende da te.

Le API RESTful esattamente lo stesso tipo di cose, ma usano i verbi del protocollo HTTP (PUT, GET, POST, DELETE ecc.) per dire al server cosa vuoi fare con i dati che invia ad esso. È possibile simularlo nella risposta del server al modulo POST HTTPS, anche se questo è considerato da molti come una cattiva pratica. Le API RESTful ti fanno riflettere su cosa stai facendo con i dati e su come pensare alle risorse in modo più strutturato, ma non sono obbligatorie per le comunicazioni client / server via HTTP.

Quindi penso che sperimentare con semplici POST di form per tutte le comunicazioni fino a quando non sarai soddisfatto di come potrebbe funzionare il tuo sistema, e quindi riscrivere la parte API per essere RESTful potrebbe essere una buona strada da percorrere. Potrebbe essere che non vai mai RESTful perché i POST dei moduli sono sufficienti per una semplice applicazione.

    
risposta data 12.10.2014 - 21:01
fonte

Leggi altre domande sui tag