Android Volley Timeout Исключение при регистрации информации
Когда я проектирую страницу регистрации Android, я получаю ошибку тайм-аута залпа:
1. Что я имею:
- WampServer работает на
localhost
с дабабазой register.php
которые соединяют базу данных и отправляют данные в базу данных:<?php require "init.php"; $name = $_POST["name"]; $user_name = $_POST["user_name"]; $user_password = $_POST["user_password"]; $sql = "select * from login_info where user_name = '$user_name'"; $result = mysqli_query($con,$sql); $response = array(); if(mysqli_num_rows($result)>0) { $code = "reg_failed"; $message = "user exists"; array_push($response, array("code"=>$code, "message"=>$message)); echo json_encode($response); } else { $sql = "insert into login_info(name, user_name, user_password) values('$name','$user_name','$user_password');"; $result = mysqli_query($con,$sql); $code = "Successful"; $message = "Thank you..."; array_push($response, array("code"=>$code, "message"=>$message)); echo json_encode($response); } mysqli_close($con); ?>
Я создаю тестовое приложение, которое содержит
RegisterActivity
:public class Register extends AppCompatActivity { EditText uname, uusername, upass,uage, uconpass; String name, username, password, conpass; int age; Button registerbt; AlertDialog.Builder builder; private static final String REGISTER_REQUEST_URL = "http://<my local ipv4 checked from command>/employee_data/register.php"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register); uname = (EditText)findViewById(R.id.etname); uusername = (EditText)findViewById(R.id.etUserName); upass = (EditText)findViewById(R.id.etPass); uconpass = (EditText)findViewById(R.id.conPass); uage = (EditText)findViewById(R.id.etAge); registerbt = (Button)findViewById(R.id.register); builder = new AlertDialog.Builder(Register.this); registerbt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { name = uname.getText().toString(); username = uusername.getText().toString(); password = upass.getText().toString(); conpass = uconpass.getText().toString(); age = Integer.parseInt(uage.getText().toString()); if (name.equals("") || username.equals("") || password.equals("") || uage.equals("")){ builder.setTitle("Wrong"); builder.setMessage("Pls fill all information"); displayAlert("input_error"); } else { if (! (password.equals(conpass))){ builder.setTitle("Wrong"); builder.setMessage("Password not matching"); displayAlert("input_error"); } else{ StringRequest stringRequest = new StringRequest(Request.Method.POST, REGISTER_REQUEST_URL, new Response.Listener<String>() { @Override public void onResponse(String response) { Log.d("Fuck", "Login Response: " + response.toString()); try { JSONArray jsonArray = new JSONArray(response); JSONObject jsonObject = jsonArray.getJSONObject(0); String status = jsonObject.getString("status"); String message = jsonObject.getString("message"); builder.setTitle("Server response..."); builder.setMessage(message); displayAlert(status); } catch (JSONException e) { Toast.makeText(Register.this, "Json error: " + e.getMessage(), Toast.LENGTH_SHORT).show(); e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(getApplicationContext(), "Wrong...", Toast.LENGTH_SHORT).show(); error.printStackTrace(); } }){ @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> parames = new HashMap<>(); parames.put("name", name); parames.put("username", username); parames.put("password", password); return parames; } }; stringRequest.setRetryPolicy(new DefaultRetryPolicy(10000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); Mysingleton.getInstance(Register.this).addToRequestque(stringRequest); } } } }); } public void displayAlert(final String fk){ builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { if (fk.equals("input_error")){ upass.setText(""); uconpass.setText(""); } else if (fk.equals("ok")){ finish(); } else if (fk.equals("failed")){ uname.setText(""); uusername.setText(""); uage.setText(""); upass.setText(""); uconpass.setText(""); } } }); AlertDialog alertDialog = builder.create(); alertDialog.show();
}}
Что за ошибка я получаю
Нет предупреждения сети
D/NetworkSecurityConfig: No Network Security Config specified, using platform default
Ошибка таймаута залпа:
W/System.err: com.android.volley.TimeoutError at ...
И, наконец, я не могу отправить данные в базу данных, меня там остановили, я действительно не знаю, как с этим справиться, Кто-то сказал мне, что это url
проблема, я использовал свой компьютер URL
адрес, как php
файл помещается в C:\wamp64\www\employee_data
так что я думаю, что это не будет проблемой, но я все еще не могу найти другие решения