Как отправить много / несколько почтовых запросов JSONObjects на Android? - PullRequest
0 голосов
/ 11 апреля 2020

В StackOverflow много вопросов для отправки одного POST-запроса на Android, но ни один из них не охватывает случаи, когда вы получаете много данных от датчика, подключенного к вашему телефону, и вам нужно отправить запрос этих данных как Вы получаете это.

Я получаю данные от датчика, подключенного к моему Android, и мне необходимо отправить их на сервер Flask, расположенный на Heroku.

public void sendToFlask(JSONObject jsonParam) {
    Thread thread = new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                URL url = new URL("URLHERE");
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setRequestMethod("POST");
                conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
                conn.setRequestProperty("Accept","application/json");
                conn.setDoOutput(true);
                conn.setDoInput(true);

                Log.i("JSON", jsonParam.toString());
                DataOutputStream os = new DataOutputStream(conn.getOutputStream());
                //os.writeBytes(URLEncoder.encode(jsonParam.toString(), "UTF-8"));
                os.writeBytes(jsonParam.toString());

                os.flush();
                os.close();

                Log.i("STATUS", String.valueOf(conn.getResponseCode()));
                Log.i("MSG" , conn.getResponseMessage());

                conn.disconnect();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });

Этот код, к сожалению, содержит ошибки для создания too many files

Я понимаю, что решение здесь может заключаться в использовании глобального HttpURLConnection, но, к сожалению, это также дает мне ошибку java.net.ProtocolException: cannot write request body after response has been read Это происходит после того, как я перемещаю conn и url переменные в глобальной области видимости и установите их в onCreate

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