#java #android-studio
Вопрос:
это выдает мне ошибку, которая называется com.android.volley.clienterror всякий раз, когда я нажимаю кнопку регистрации или входа в систему. Я предполагаю, что ошибка может заключаться в том, что мое приложение для Android подключено не к моей базе данных, а к idk………………………………………………………………………………………………………………………………………………………………………………………..
import android.content.Intent;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import java.util.HashMap;
import java.util.Map;
public class register extends AppCompatActivity {
private EditText etName, etEmail, etPassword, etReenterPassword;
private TextView tvStatus;
private Button btnRegister;
private String URL = "http://10.0.2.2/login.register.php";
private String name, email, password, reenterPassword;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.register);
etName = findViewById(R.id.etName);
etEmail = findViewById(R.id.etEmail);
etPassword = findViewById(R.id.etPassword);
etReenterPassword = findViewById(R.id.etReenterPassword);
tvStatus = findViewById(R.id.tvStatus);
btnRegister = findViewById(R.id.btnRegister);
name = email = password = reenterPassword = "";
}
public void save(View view){
name = etName.getText().toString().trim();
email = etEmail.getText().toString().trim();
password = etPassword.getText().toString().trim();
reenterPassword = etReenterPassword.getText().toString().trim();
if(!password.equals(reenterPassword)){
Toast.makeText(this , "Password mismatch", Toast.LENGTH_SHORT).show();
}
else if(!name.equals("")amp;amp; !email.equals("") amp;amp; !password.equals("")){
StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (response.equals("success")) {
tvStatus.setText("Successfully registered");
btnRegister.setClickable(false);
} else if (response.equals("failure")) {
tvStatus.setText("something went wrong!");
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), error.toString().trim(), Toast.LENGTH_SHORT).show();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> data = new HashMap<>();
data.put("name", name);
data.put("email", email);
data.put("password", password);
return data;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
requestQueue.add(stringRequest);
}
}
public void login(View view){
Intent intent = new Intent (this, MainActivity.class);
startActivity(intent);
finish();
}
}
Комментарии:
1. Не возражаете поделиться трассировкой стека? Вы установили разрешения на доступ в Интернет в файле манифеста?
2. Эм, я уже исправил эту ошибку, в моем URL-адресе отсутствовал»/», но у меня все еще есть ошибка на моих кнопках, потому что они ничего не делают, когда я их нажимаю.
3. И мой лог-кот ничего не отображает