Использование AsyncTask для выполнения запросов htttp с интервалом в Android - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь запускать метод каждый интервал, который выполняет POST-запрос к серверу, но он не работает сразу при выполнении этого сообщения об ошибке: android.os.NetworkOnMainThreadException, что, как я понял, касается запуска сетевой функции в главном потоке Тем не менее, я не имею представления реализовать AsyncTask в моем случае, чтобы запускать этот метод каждый данный интервал.

private Runnable runnableCode = new Runnable() {
    @Override
    public void run() {
        renewTrackerList();
        handler.postDelayed(this, interval);
    }
};

 private String renewTrackerList() {
    String _uri = this.website + "page.php?";
    String strResp = "";
    MediaType JSON = MediaType.parse("application/json; charset=utf-8");
    OkHttpClient httpClient = new OkHttpClient();
    String strJson = "";

    try {
        JSONObject json = new JSONObject();
        json.put("token", this.token.trim());
        strJson = json.toString();
    } catch (JSONException e) {
        e.getMessage();
    }
    RequestBody body = RequestBody.create(JSON, strJson);
    Request request = new Request.Builder().url(_uri).post(body).build();

    try {
        Response response = httpClient.newCall(request).execute();
    } catch (Exception e) {
        return e;
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...