2012-05-26 3 views
1

Я хочу получить доступ к параметризованному URL с Android. Все, что нужно сделать, это «загрузить» страницу, чтобы она выполняла то, что она должна была выполнять (обновить базу данных с указанными параметрами).Android HttpClient просто отправить данные на сервер, используя запрос get

У меня возникли проблемы с загрузкой URL-адреса, поэтому я смотрел видео на регулярной активности HttpClient - просто ожидал ответа и собирал эту информацию. Я понял, что он все равно будет загружать страницу и, следовательно, также позволить этой странице выполнить. Я даже не могу заставить это правильно запустить страницу или собрать ответ.

Вот код, который я использовал:

String url = "http://www.removed.com?param1="+param1+"&param2="+param2; 

     try{ 
      HttpClient httpclient = new DefaultHttpClient(); 
      HttpGet httpget = new HttpGet(url); 
      HttpResponse response = httpclient.execute(httpget); 
      HttpEntity entity = response.getEntity(); 
      InputStream webs = entity.getContent(); 
      try{ 
       BufferedReader reader = new BufferedReader(new InputStreamReader(webs, "iso-8859-1"), 8); 
       test.setText(reader.readLine()); 
       webs.close(); 
      }catch(Exception e) { 
       Log.e("Error in conversion: ", e.toString()); 
      } 
     }catch(Exception e) { 
      Log.e("Error in connection: ", e.toString()); 
     } 

Пожалуйста, дайте мне знать, что я могу сделать, чтобы это выполнить эту страницу и обновить базу данных. Если я введю параметры вручную в браузер, он будет работать.

+0

Что происходит, когда вы запускаете вышеуказанный код? –

ответ

2

Вы не писал, где вы работаете, или это то, что ошибка, но первые две вещи, которые приходят на ум:

  • У вас есть права доступа INTERNET установлен в манифесте?
  • Если это сотовый, это работает в отдельной теме? - Начиная с версии 3.0 вы не можете запускать HTTP-запросы в основном потоке отображения.
+0

Я только что добавил разрешение. Раньше я получал красное исключение UnknownHostException, а затем мой URL. Я по-прежнему получаю сообщение об ошибке, но теперь он черный. И насколько я знаю, это не в отдельном потоке. Единственное, что я сделал, это новые намерения. –

+0

он должен быть в отдельном потоке, если вы компилируете для версии 3.0 или новее. И UknownHostException означает, что он не может найти хост :) –

+0

Я думаю, что я компилировался раньше, чем 3.0, но я попытался перейти на 4.0.3 на полпути. Не уверен, был ли я успешным или нет. Любой способ проверить наверняка? И я не могу себе представить, почему он говорит, что не может найти хозяина. URL, который я даю, это именно то, что есть. –

0

После прочтения ваших комментариев в ответах я думаю, что U ищет код ответа. Я размещаю здесь код, который хорошо работает в моем коде

String urlGET = "http://www.removed.com?param1="+param1+"&param2="+param2; 

HttpGet getMethod = new HttpGet(urlGET); 
    // if you are having some headers in your URL uncomment below line 
    //getMethod.addHeader("Content-Type", "application/form-data"); 
    HttpResponse response = null; 
    HttpClient httpClient = new DefaultHttpClient(); 
    try { 
     response = httpClient.execute(getMethod); 

     int responseCode = response.getStatusLine().getStatusCode(); 

     HttpEntity entity = response.getEntity(); 
     String responseBody = null; 

     if (entity != null) { 
      responseBody = EntityUtils.toString(entity); 
      //here you get response returned from your server 
      Log.e("response = ", responseBody); 

      // response.getEntity().consumeContent(); 

     } 
     JSONObject jsonObject = new JSONObject(responseBody); 
     // do whatever you want to do with your json reponse data 

     } 
     catch(Exception e) 
     { 
     e.printStackTrace(); 
     } 
Смежные вопросы