Отправка JSON на серверный залп - PullRequest
0 голосов
/ 06 апреля 2020

Добрый день,

Мне нужен совет. Не могу понять, как это сделать правильно

Я хочу отправить JSON на свой сервер с помощью залпа,

Я боролся с чем-то таким простым вот уже несколько дней, и мой мозг превратился в мю sh,

JSON, который я хочу отправить, называется "Тест"

Я пытался отправить его в виде строки, но текст слишком велик для URL

Я пытался Google et c тоже безрезультатно, любая помощь будет принята с благодарностью

Код залпа

int x = 0;
int p = 1;
while (x < Array.size() && p < Array.size()) {
    StaffMemebers = "Staff Member " + p++ + " : " + Array.get(x++);
    Test.add(StaffMemebers);
    Uri.Builder PostURLBuilder = new Uri.Builder();

    PostURLBuilder.scheme("https")
        .authority("www.EXAMPLE.co.za")
        .appendPath("app-createproject-test.asp")
        .appendQueryParameter("MyForm", "Yes")
        .appendQueryParameter("ClientID", clientId)
        .appendQueryParameter("Username", email)
        .appendQueryParameter("Pwd", pwd)
        .appendQueryParameter("TimeLogDueDate", dateText.getText().toString())
        .appendQueryParameter("TimeLogStartDate", startdate.getText().toString())
        .appendQueryParameter("ProjectManager", ManagerSelected)
        .appendQueryParameter("AllocatedClient", ClientSelected)
        .appendQueryParameter("Description", Description.getText().toString())
        .appendQueryParameter("SelectedStaff", String.valueOf(Test))
        .appendQueryParameter("Notes", notesEditText.getText().toString())
        .appendQueryParameter("LogType", "p");
    postURL = PostURLBuilder.build().toString();
}

Toasty.info(this, postURL, Toasty.LENGTH_LONG).show();

final ProgressDialog pd = new ProgressDialog(createProject.this);

pd.setMessage("Please Wait....");

pd.setCanceledOnTouchOutside(false);

pd.show();

RequestQueue queue = Volley.newRequestQueue(this);

StringRequest postRequest = new StringRequest(Request.Method.POST, postURL, new Response.Listener < String > () {

        @SuppressLint("SetTextI18n")
        @Override
        public void onResponse(String response) {

            pd.cancel();

            if (response.contains("Time Logged Successfully !")) {

                AddStaff.setText("Project Created");

                AddStaff.setBackgroundColor(getResources().getColor(R.color.Green));

                AddStaff.setTextColor(getResources().getColor(R.color.Black));

                Toasty.success(createProject.this, response, Toast.LENGTH_LONG).show();
            } else {

                AddStaff.setText("Error Creating Project");

                AddStaff.setBackgroundColor(getResources().getColor(R.color.Red));

                AddStaff.setTextColor(getResources().getColor(R.color.Black));

                Toasty.error(createProject.this, "Error Logging time, Check your Internet Connection", Toast.LENGTH_LONG).show();
            }
        }
    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {

            pd.cancel();

            Toasty.error(createProject.this, "Time Log Failed", Toast.LENGTH_LONG).show();
        }
    }
);

int socketTimeout = 30000;

RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
postRequest.setRetryPolicy(policy);
queue.add(postRequest);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...