Параметры HttpGet не отправляются

Я использую apache.http для Android, и большинство из них отлично работает, но когда я пытаюсь выполнить запрос с параметрами, они не отправляются. Что я делаю не так? Вот код

HttpClient httpclient = new DefaultHttpClient(); HttpUriRequest request = new HttpGet(uri); HttpParams p = new BasicHttpParams(); p.setParameter("param", "value"); request.setParams(p); request.setHeader("Accept", "application/json, text/javascript, */*; q=0.01"); HttpResponse response = null; try { response = httpclient.execute(request); } catch (ClientProtocolException e) { e.printStackTrace(); } 

На сервере я получаю только это без параметров

 GET /api/v1/activity/ HTTP/1.1 Host: example.com Connection: Keep-Alive Accept-Encoding: gzip Accept: application/json, text/javascript, */*; q=0.01 

Есть идеи?

Вам нужно будет изменить URI, например:

 HttpClient httpclient = new DefaultHttpClient(); String url = "http://example.com"; List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add( new BasicNameValuePair( "param", "value" ) ); URI uri = new URI( url + "?" + URLEncodedUtils.format( params, "utf-8" ); HttpUriRequest request = new HttpGet(uri); request.setHeader("Accept", "application/json, text/javascript, */*; q=0.01"); HttpResponse response = null; try { response = httpclient.execute(request); } catch (ClientProtocolException e) { e.printStackTrace(); }