Отправка и получение данных из приложения Android на URL API (localhost) - PullRequest
0 голосов
/ 28 февраля 2020

Я пробовал любое другое решение из числа веб-сайтов, чтобы отправлять данные формы на сервер PHP Laravel и получать данные с этого сервера, например, retrofit2 (это приводило к некоторой ошибке Firebase, я пытался исправить, но не смог Я просто отказался от этого), тогда этот Android Асинхронный Http-клиент ('com.loopj. android: android -asyn c - http:1.4.9') появился передо мной, поэтому я решил проверить, теперь проблема в том, что мой сервер работает по адресу: http://localhost: 8000 / api / жалоб? username = abduul , и когда я пытаюсь получить ответ от этого URL из моего приложения android выдает эту ошибку:

java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 8000) from /127.0.0.1 (port 59252) after 10000ms: isConnected failed: ECONNREFUSED (Connection refused)

Я думаю, что это может быть проблема с номером порта, так как я тестирую на эмуляторе android.

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

public void getData() {
    final AsyncHttpClient client = new AsyncHttpClient();

    client.get("http://localhost:8000/api/complaints?username=abduul", null, new JsonHttpResponseHandler() {
        @Override
        public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
            System.out.println(response);
        }

        @Override
        public void onSuccess(int statusCode, Header[] headers, JSONArray timeline) {

        }
    });
}

и одна вещь, которую я даже пытался использовать сервер XAMPP, но затем он говорит

java.net.UnknownHostException: Unable to resolve host "laravel.btsp": No address associated with hostname

, этот "laravel .btsp" определен в файле хоста и обратите внимание, что оба URL работают отлично подходит для браузера

РЕДАКТИРОВАТЬ: даже эти два URL работают нормально с POSTMAN, я пытался отправлять и получать данные из POSTMAN, он работает, но выдает ошибку с этим кодом и на Android

1 Ответ

0 голосов
/ 29 февраля 2020

Если вы используете Android Emulator, используйте 10.0.2.2 вместо localhost (127.0.0.1). Поскольку localhost относится к устройству эмулятора, а не к машине, которую вы используете для запуска эмулятора.

...