Получить Int от AsyncTask - PullRequest
       3

Получить Int от AsyncTask

0 голосов
/ 05 июля 2018
    class GetData extends AsyncTask<String, Void, String> {

    @Override
    protected String doInBackground(String... params) {
        HttpURLConnection urlConnection = null;
        String result = "";
        try {
            URL url = new URL("http://192.168.0.100/index.php?kod=1eba7936&mode=1");
            urlConnection = (HttpURLConnection) url.openConnection();

            int code = urlConnection.getResponseCode();

            if(code==200){
                InputStream in = new BufferedInputStream(urlConnection.getInputStream());
                if (in != null) {
                    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in));
                    String line = "";

                    while ((line = bufferedReader.readLine()) != null)
                        result += line;
                }
                in.close();
            }

            return result;
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        finally {
            urlConnection.disconnect();
        }
        return result;

    }

   @Override
    protected void onPostExecute(String result) {
      System.out.println(result);
  super.onPostExecute(result);

   }

}

Я получил такой класс, его работа отлично, но я не могу перехватить переменную, поскольку она возвращает void. Результатом является одно целочисленное значение. И System.out.println (результат) отображает правильное значение на консоли.

Я вызываю функцию из MainActivity с

new GetData().execute();

Моя цель - получить результат из GetData как целочисленную переменную в MainActivity.

1 Ответ

0 голосов
/ 05 июля 2018

Я создал новый класс с публичной строкой

public class Data {
    public static String data;
}

В onPostExecute я добавляю:

Data.data = result.toString();

И теперь я могу использовать Data.data в качестве строки, где я хочу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...