Использование npm json-сервера со студией Android

Я установил локальный сервер npm json с помощью упомянутого инструмента, который будет возвращать очень простой запрос get, очень похожий на тот, который показан в примере:

{
  "posts": [
    { "id": 1, "title": "json-server", "author": "typicode" }
  ],
  "comments": [
    { "id": 1, "body": "some comment", "postId": 1 }
  ],
  "profile": { "name": "typicode" }
}

Все разрешения были установлены в Android-студии в отношении интернет-разрешений (что для чего-то такого простого - это все, что мне нужно), и я использую небольшой скрипт okhttp, который выполняет асинхронный запрос содержимого URL-адреса, это делается внутри фрагмента (Таким образом, использование getActivity())

public void testAsyncCreate() {

        OkHttpClient client  = new OkHttpClient();
        // no request body necessary since this is going to be handled via the get request as a testing purpose

        Request request = new Request.Builder()
                .url("http://localhost:3004/create")
                .build();

        Call call = client.newCall(request);

        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {

                try {

                    final String jsonData = response.body().string(); // the exception is caught at this point
                    getActivity().runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Log.d(TAG,jsonData);
                        }
                    });



                }catch(IOException e) {

                }

            }
        });
    }

Запрос делается, как только "пользователь" нажимает кнопку. Пока что мой единственный ответ на это:

No Network Security Config specified, using patform default

Что довольно интересно, если учесть, что тот же запрос, использующий локальный сервер NON (например, запрос get, отправленный в API poke), возвращает тело содержимого json, как и предполагалось)

На данный момент я уверен, что это было связано с тем, что это локальная среда. И до сих пор я не могу найти конкретную документацию с подробностями, касающимися тестирования в локальной среде. Отладка возвращает tag=null, как только call.enqueue() часть начинается также.

1 ответ

Вы можете обойти все вызовы локального хоста, используя Http Toolkit, не внося никаких изменений. Это поможет вам обойти все вызовы локального хоста на ваше устройство или эмулятор.

Другие вопросы по тегам