2011-02-09 13 views
55

Sto per creare un'applicazione Android che utilizzerà un servizio Web RESTful. Non voglio scrivere il client REST da solo, perché voglio che sia il più efficace e stabile possibile (questa è la prima volta che utilizzo REST).Miglior framework/utilità client REST su Android

Esistono (gratuiti) framework o utilità avaibale per Android/Java che posso utilizzare nel mio progetto?

+0

SOAPUI può effettuare chiamate REST, può essere d'aiuto? – Jimmy

+0

Per quello che capisco SOAPUI è un framework per testare? Ho anche bisogno di supporto per JSON. –

+0

C'è un codice sorgente per un client di riposo in questa pagina + un po 'di aiuto, (è per jira ma dovrebbe essere utilizzabile anche per android) http://www.j-tricks.com/1/post/2012/05/ java-rest-client-per-jira-using-jersey.html – martin

risposta

36

Restlet è un eccellente framework REST e ha un'edizione Android.

+0

Restlet sembra promettente. Lo proverò sicuramente. Grazie! –

+12

per quanto buono possa essere. Non posso garantire la modifica di un APK da 0,3 MB in 22 MB con tutti questi file aggiunti – Doomsknight

+2

@Doomsknight si chiama Proguard –

4

Qualsiasi libreria client HTTP deve essere perfettamente adeguata per interagire RESTfully con un'API Web. Per esempio. http://developer.android.com/reference/org/apache/http/client/HttpClient.html

+0

Al downgoter, sentiti libero di spiegare perché HTTPClient è insufficiente per interagire con un sistema RESTful che è il vincolo di base è conforme alla "Uniform Interface" che in questo caso è definita da RFC2616. –

+2

Non ero l'elettore down, ma immagino che potrebbe essere perché HttpClient risolve solo una parte del problema, quindi hai tutta quella gestione XML da fare.Forse HttpClient + SAX, o HttpClient e XmlPullParser sarebbero una risposta più completa. YMMV – mezmo

+1

Darrel: Ho provato l'HTTPClient di Apache. Ma come ho detto, non voglio scrivere da solo il client REST completo. –

1

check out Riposo - "componente Java leggero da consumare servizio REST e trasformare la risposta in oggetti"

http://code.google.com/p/resting/

non ho usato io stesso, ma ho intenzione di.

per andare avanti con esso, sto cercando codice sorgente di esempio per implementare le migliori pratiche descritte in questa sessione di Google google. http://www.youtube.com/watch?v=xHXn3Kg2IQE

+0

+1 per la sessione IO di Google! – Jeshurun

+2

Sembra che il riposo non stia ricevendo alcuno sviluppo e non riesce a inviare dati POST a un servizio REST. – Rene

+0

@Rene Sembra che sia stato appena inviato un aggiornamento per risolvere questo problema: https://code.google.com/p/resting/source/detail?r=123 –

4

provare Spring Android - è la classe RestTemplate molto utile.

+1

Attiva molto GC_CONCURRENT per me, ha un po 'di memoria problemi ? –

3

Sto anche cercando una soluzione PICCOLA per il client di riposo su Android. Dopo un rapido confronto, ho trovato:

  • Riposo v0.7: resting-0,7-dev-release-android.jar - 1.3MB (all-in-one secondo doc)
  • Restlet v2.1.2: org.restlet.jar - 728KB (tuttavia deve> 1MB dopo aver aggiunto httpclient estensione e json estensione)
  • molla per Android v1.0.1: spring-android-core-1.0 .1.RELEASE.jar 113KB + primavera-android-resto-template-1.0.1.RELEASE.jar 186KB + GSON-2.2.3.jar 194KB = 493KB (senza autenticazione di sostegno, altrimenti primavera sociale sarà una dipendenza)

Correggi me se qualcuno manca.

+0

Nota che il Restlet 2.2 ora contiene un core molto più leggero (org.restlet.jar) per Android, riutilizzando la classe HttpURLConnection per impostazione predefinita. L'estensione del client HTTP Apache è puramente facoltativa. –

+0

Le dimensioni effettive del file org.restlet.jar nella versione 2.2.1 dell'edizione Android sono solo 668 Kb. Nessuna dipendenza aggiuntiva richiesta. http://maven.restlet.org/org/restlet/android/org.restlet/2.2.1/ –

+0

@JeromeLouvel, quindi la nuova versione di restlet ha il supporto httpclient e json incorporato? –