class RegisterUser extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... voids) {
//creating request handler object
RequestHandler requestHandler = new RequestHandler();
//creating request parameters
HashMap<String, String> params = new HashMap<>();
params.put("name", name);
params.put("email", email);
params.put("mobile", mobile);
params.put("password", password);
//returing the response
return requestHandler.sendPostRequest(URLs.URL_REGISTER, params);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
try {
//converting response to json object
JSONObject obj = new JSONObject(s);
int a= obj.getInt("error");
//if no error in response
if (a==0) {
Snackbar.make(parent_view, obj.getString("alert"), Snackbar.LENGTH_SHORT).show();
//starting the OTP activity
signintxt.setText("OTP");
getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.frmframelayout, new fragment_reg_otp(), "reg_otp").addToBackStack("reg_otp").commit();
} else {
Snackbar.make(parent_view, obj.getString("alert"), Snackbar.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
//executing the async task
RegisterUser ru = new RegisterUser();
ru.execute();
}
**request handler class**
public String sendPostRequest(String requestURL, HashMap<String, String> postDataParams) {
URL url;
StringBuilder sb = new StringBuilder();
try {
url = new URL(requestURL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(15000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
conn.setRequestProperty("Accept","application/json");
conn.setDoInput(true);
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(getPostDataString(postDataParams));
writer.flush();
writer.close();
os.close();
int responseCode = conn.getResponseCode();
if (responseCode == HttpsURLConnection.HTTP_OK) {
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
sb = new StringBuilder();
String response;
while ((response = br.readLine()) != null) {
sb.append(response);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return sb.toString();
}
В этом я не получаю никакой ошибки, но он не принимает / выводит значения на сервер, он показывает мне ошибку по умолчанию, которая предоставляет все значения. Когда я сказал изменить метод в коде Php с POST на GET, он сработал.
Я также поделился своим классом обработчика запросов. Почему это происходит, я не знаю, поможет ли это понять.