В android студии произошла ошибка, связанная с залпом libarary response.listener - PullRequest
0 голосов
/ 19 апреля 2020

теперь я столкнулся с ошибкой, хочу сделать функцию регистрации и входа в систему. поэтому необходимо заблокировать базу данных 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);



?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...