теперь я столкнулся с ошибкой, хочу сделать функцию регистрации и входа в систему. поэтому необходимо заблокировать базу данных mysql. и для этого нужно использовать файлы php с программой filezilla. в моей android студии нет ошибок, но если я запустил код и нажал на событие регистрации, событие не сработало. поэтому я не знаю, почему возникают ошибки, и добавлю, я использовал библиотеку залпа, может быть, я думаю, что в операторе response.listner есть ошибка. поэтому, пожалуйста, помогите мне
this is my code first is registeractivity code
package com.example.finalproject.view;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.toolbox.Volley;
import com.example.finalproject.R;
import org.json.JSONException;
import org.json.JSONObject;
public class RegisterActivity extends AppCompatActivity {
private Button signUpButton;
private EditText nicknameEditText, pwEditText, idEditText, nameEditText, genderEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signup);
nicknameEditText = findViewById(R.id.nicknameEditText);
pwEditText = findViewById(R.id.pwEditText);
idEditText = findViewById(R.id.idEditText);
nameEditText = findViewById(R.id.nameEditText);
genderEditText = findViewById(R.id.genderEditText);
signUpButton = findViewById(R.id.signUpButton);
signUpButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String userNickname = nicknameEditText.getText().toString();
String userID = pwEditText.getText().toString();
String userPassword = idEditText.getText().toString();
String userName = nameEditText.getText().toString();
String userGender = genderEditText.getText().toString();
/* from here, occur the error not working if the button elick event occur, not working */
Response.Listener<String> responseListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
boolean success = jsonObject.getBoolean("success");
if (success) {
Toast.makeText(getApplicationContext(), "회원 등록에 성공하였습니다", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(RegisterActivity.this, MainActivity.class);
startActivity(intent);
} else {
Toast.makeText(getApplicationContext(), "회원 등록에 실패하였습니다", Toast.LENGTH_SHORT).show();
return;
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
RegisterRequest registerRequest = new RegisterRequest(userNickname, userID, userPassword, userName, userGender, responseListener);
RequestQueue queue = Volley.newRequestQueue(RegisterActivity.this);
queue.add(registerRequest);
}
});
}
}
// php code
<?php
$con = mysqli_connect("localhost", "kkahbhm", "rkd!147852", "kkahbhm");
mysqli_query($con,'SET NAMES utf8');
$userNickname= $_POST["userNickname"];
$userID = $_POST["userID"];
$userPassword = $_POST["userPassword"];
$userName = $_POST["userName"];
$userGender = $_POST["userGender"];
$statement = mysqli_prepare($con, "INSERT INTO USER VALUES (?,?,?,?)");
mysqli_stmt_bind_param($statement, "sssss", $userNickname, $userID, $userPassword, $userName, $userGender);
mysqli_stmt_execute($statement);
$response = array();
$response["success"] = true;
echo json_encode($response);
?>