package com.octo.android.robospice.sample.googlehttpclient; import java.io.IOException; import roboguice.util.temp.Ln; import com.google.api.client.http.GenericUrl; import com.google.api.client.http.HttpRequest; import com.google.api.client.json.jackson.JacksonFactory; import com.octo.android.robospice.request.googlehttpclient.GoogleHttpClientSpiceRequest; import com.octo.android.robospice.sample.googlehttpclient.model.json.WeatherResult; public class SampleSpiceRequest extends GoogleHttpClientSpiceRequest< WeatherResult > { private String baseUrl; public SampleSpiceRequest( String zipCode ) { super( WeatherResult.class ); this.baseUrl = String.format( "http://www.myweather2.com/developer/forecast.ashx?uac=AQmS68n6Ku&query=%s&output=json", zipCode ); } @Override public WeatherResult loadDataFromNetwork() throws IOException { Ln.d( "Call web service " + baseUrl ); HttpRequest request = getHttpRequestFactory()// .buildGetRequest( new GenericUrl( baseUrl ) ); request.setParser( new JacksonFactory().createJsonObjectParser() ); return request.execute().parseAs( getResultType() ); } }