неизвестное исключение хоста от андроида к GAE

1

Я пытаюсь опубликовать сообщение от android до GAE, я получаю исключение неизвестного хоста. Вот мой код,

HttpClient httpclient = new DefaultHttpClient();  
    HttpPost httppost = new HttpPost("http://silver-kites.appspot.com");  

    try {  
        // Add your data 
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);  
        nameValuePairs.add(new BasicNameValuePair("abc", "123"));  
        nameValuePairs.add(new BasicNameValuePair("xyz", "456"));  
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));  

        // Execute HTTP Post Request  
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        if(entity != null){
          InputStream inputStream = entity.getContent();
          ResponseText.setText(convertStreamToString(inputStream));
        }
    } catch (ClientProtocolException e) {
        ResponseText.setText(e.getMessage()); 
    } catch (IOException e) {
        ResponseText.setText(e.getMessage());
    }

Когда я пытаюсь подключиться к localhost: 8888 утра, соединение отключено. Я не знаю, как пройти через это. Помогите мне.

  • 0
    Я попытался удалить http: // также. В этот раз я получил недопустимое исключение параметров
Теги:
google-app-engine

4 ответа

2
Лучший ответ

Я тоже пробовал, все еще получая исключение Unknown Host в android. Нужно ли делать какие-либо настройки для доступа к HTTP? или в эмуляторах http не работает?

Я установил <uses-permission android:name="android.permission.INTERNET"></uses-permission> в android manifest xml. Все еще нет надежды.

Любая помощь? Я проверил в GAE, и мой запрос туда не дошел.

Вот мой код,

HttpClient httpclient = new DefaultHttpClient();  
    HttpPost httppost = new HttpPost("http://silver-kites.appspot.com/silverscores");  

    try {  

        nameValuePairs.add(new BasicNameValuePair("name", "JP"));
        nameValuePairs.add(new BasicNameValuePair("seconds", "123"));

        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));  

        // Execute HTTP Post Request  
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        if(entity != null){
          InputStream inputStream = entity.getContent();
          ResponseText.setText(convertStreamToString(inputStream));
        }
    } catch (ClientProtocolException e) {
        ResponseText.setText(e.getMessage()); 
    } catch (IOException e) {
        ResponseText.setText(e.getMessage());
    }
  • 0
    Любая помощь здесь, пожалуйста.
1

У меня горячая проблема с той же проблемой.

После некоторого поиска в googling и stackoverflowing я нашел решение:

  • Проверьте, есть ли у эмулятора сеть соединение (значок сети в панель уведомлений) - мой эмулятор не было, поскольку брандмауэр заблокирован это:( Я нашел этот совет здесь.

  • Проверьте, установлено ли разрешение сети для вашего приложения, добавив строку

    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

    в приложении AndroidManifest.xml файл.

В соответствии с Эмуляторная сеть IP 10.0.2.2 следует использовать вместо localhost/127.0.0.1.

localhost/127.0.0.1 - это IP-адрес устройства Android, а не машина разработчика.

0

Я делал все хорошо. Только одна проблема заключалась в том, что эмулятор работал в режиме самолета, поэтому он не использует интернет-соединение. Поэтому я получил неизвестное исключение для хоста. Теперь он работает нормально. Спасибо за вашу поддержку.

  • 0
    Как вы сняли режим самолета?
0

Попробуйте использовать следующую (имя, значение) пару

nameValuePairs.add(new BasicNameValuePair("name", "123"));  
nameValuePairs.add(new BasicNameValuePair("seconds", "456"));

Теперь вы не получите исключение недействительных параметров, но ответ для этого POST - "Ошибка Sever", вы можете проверить с помощью GAE эту ошибку.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню