Il donne une erreurHttp Url connexion pour extraire des données Android
Error:(57, 16) error: cannot find symbol class HttpResponseException
J'ai mis en œuvre ce code, mais la plupart des bibliothèques sont déconseillés et ne peut pas trouver une solution.
Est-ce que tout code mis à jour est disponible pour aller chercher les détails de l'endroit en utilisant google api.
Le code est donné ci-dessous:
public class GooglePlaces
{
private static final HttpTransport HTTP_TRANSPORT=new NetHttpTransport();
private static final String API_KEY="Myapikey";
private static final String PLACES_SEARCH_URL="https://maps.googleapis.com/maps/api/place/search/json?";
private static final String PLACES_TEXT_SEARCH_URL="https://maps.googleapis.com/maps/api/place/search/json?";
private static final String PLACES_DETAILS_URL="https://maps.googleapis.com/maps/api/place/details/json?";
private double _latitude;
private double _longitude;
private double _radius;
public PlacesList search(double latitude, double longitude,double radius, String types) throws Exception
{
this._latitude=latitude;
this._longitude=longitude;
this._radius=radius;
try
{
HttpRequestFactory httpRequestFactory =createRequestFactory(HTTP_TRANSPORT);
HttpRequest request=httpRequestFactory
.buildGetRequest(new GenericUrl (PLACES_SEARCH_URL));
request.getUrl().put("key",API_KEY);
request.getUrl().put("location",_latitude+","+_longitude);
request.getUrl().put("radius",_radius);
request.getUrl().put("sensor",false);
if(types!=null)
request.getUrl().put("types",types);
PlacesList list=request.execute().parseAs(PlacesList.class);
Log.d("Places Status",""+list.status);
return list;
}
catch (HttpResponseException e)
{
Log.e("Error:",e.getMessage());
return null;
}
}
public PlaceDetails getPlaceDetails(String reference) throws Exception
{
try
{
HttpRequestFactory httpRequestFactory = createRequestFactory(HTTP_TRANSPORT);
HttpRequest request=httpRequestFactory
.buildGetRequest(new GenericUrl(PLACES_DETAILS_URL));
request.getUrl().put("key",API_KEY);
request.getUrl().put("reference",reference);
request.getUrl().put("sensor","false");
PlaceDetails place = request.execute().parseAs(PlaceDetails.class);
return place;
}
catch (HttpResponseException e)
{
Log.e("Error in Place Details",e.getMessage());
throw e;
}
}
public static HttpRequestFactory createRequestFactory(
final HttpTransport transport)
{
return transport.createRequestFactory(new HttpRequestInitializer()
{
public void initialize(HttpRequest request)
{
GoogleHeaders headers=new GoogleHeaders();
headers.setApplicationName("PocketAmbulance");
request.setHeadres(headers);
JSONObjectParser parser=new JsonHttpParser(new JacksonFactory());
request.addParser(parser);
}
});
}
}