마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 스튜디오 ID중복체크문제...ㅠ

0 추천
package com.example.user.winner;
 
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
 
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.toolbox.Volley;
 
import org.json.JSONObject;
 
public class RegisterActivity extends AppCompatActivity {
 
    private ArrayAdapter adapter;
    private Spinner spinner;
    private String userID;
    private String userPassword;
    private String userGender;
    private String userSport;
    private String userEmail;
    private AlertDialog dialog;
    private boolean validate = false;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
 
        spinner = (Spinner) findViewById(R.id.sportSpinner);
        adapter = ArrayAdapter.createFromResource(this, R.array.sport, android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);
 
        final EditText idText = (EditText) findViewById(R.id.idText);
        final EditText passwordText = (EditText) findViewById(R.id.passwordText);
        final EditText emailText = (EditText) findViewById(R.id.emailText);
 
        RadioGroup genderGroup = (RadioGroup) findViewById(R.id.genderGruoup);
        int genderGroupID = genderGroup.getCheckedRadioButtonId();
        userGender = ((RadioButton) findViewById(genderGroupID)).getText().toString();
 
        genderGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
 
            @Override
            public void onCheckedChanged(RadioGroup radiogroup, int i) {
                RadioButton genderButton = (RadioButton) findViewById(i);
                userGender = genderButton.getText().toString();
            }
        });
 
        final Button validateButton = (Button) findViewById(R.id.validateButton);
        validateButton.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View view) {
                String userID = idText.getText().toString();
                if(validate)
                {
                    return;
                }
                if(userID.equals(""))
                {
                    AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this);
                    dialog = builder.setMessage("아이디가 올바르지 않습니다.")
                        .setPositiveButton("확인", null)
                            .create();
                    dialog.show();
                    return;
                    }
                Response.Listener<String> responseListener = new Response.Listener<String>(){
 
                    @Override
                    public void onResponse(String response) {
                        try
                        {
                            JSONObject jsonResponse = new JSONObject(response);
                           boolean success = jsonResponse.getBoolean("success");
                            if(success) {
                                AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this);
                                dialog = builder.setMessage("사용할 수 있는 아이디입니다.")
                                        .setPositiveButton("확인", null)
                                        .create();
                                dialog.show();
                                idText.setEnabled(false);
                                validate = true;
                                idText.setBackgroundColor(getResources().getColor(R.color.colorGray));
                            }
                            else {
                                AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this);
                                dialog = builder.setMessage("사용할 수 없는 아이디입니다.")
                                        .setNegativeButton("확인", null)
                                        .create();
                                dialog.show();
                            }
                        }
                        catch (Exception e)
                        {
                            e.printStackTrace();
                        }
                    }
                };
                ValidateRequest validateRequest = new ValidateRequest(userID, responseListener);
                RequestQueue queue = Volley.newRequestQueue(RegisterActivity.this);
                queue.add(validateRequest);
            }
        });

 

Hyunyy (400 포인트) 님이 2018년 4월 30일 질문

1개의 답변

0 추천
Button registerButton = (Button) findViewById(R.id.registerButton);
       registerButton.setOnClickListener(new View.OnClickListener() {
 
           @Override
           public void onClick(View view) {
               String userID = idText.getText().toString();
               String userPassword = passwordText.getText().toString();
               String userSport = spinner.getSelectedItem().toString();
               String userEmail = emailText.getText().toString();
 
               if(!validate)
               {
                   AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this);
                   dialog = builder.setMessage("중복 체크를 해주세요.")
                           .setNegativeButton("확인", null)
                           .create();
                   dialog.show();
                   return;
               }
 
               if(userID.equals("") || userPassword.equals("") || userSport.equals("") || userEmail.equals("") || userGender.equals("")) {
                   AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this);
                   dialog = builder.setMessage("빈 칸 없이 입력해주세요.")
                           .setNegativeButton("확인", null)
                           .create();
                   dialog.show();
                   return;
               }
 
               Response.Listener<String> responseListener = new Response.Listener<String>() {
 
                   @Override
                   public void onResponse(String response) {
                       try
                       {
                           JSONObject jsonResponse = new JSONObject(response);
                           boolean success = jsonResponse.getBoolean("success");
                           if(success) {
                               AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this);
                               dialog = builder.setMessage("회원 가입에 성공했습니다.")
                                       .setPositiveButton("확인", null)
                                       .create();
                               dialog.show();
                               finish();
                           }
                           else {
                               AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this);
                               dialog = builder.setMessage("회원 가입에 실패했습니다.")
                                       .setNegativeButton("확인", null)
                                       .create();
                               dialog.show();
                           }
                       }
                       catch (Exception e)
                       {
                           e.printStackTrace();
                       }
                   }
               };
               RegisterRequest registerRequest = new RegisterRequest(userID, userPassword, userGender, userSport, userEmail, responseListener);
               RequestQueue queue = Volley.newRequestQueue(RegisterActivity.this);
               queue.add(registerRequest);
           }
       });
   }

 

Hyunyy (400 포인트) 님이 2018년 4월 30일 답변
@Override
    protected void onStop() {
        super.onStop();
        if(dialog != null)
        {
            dialog.dismiss();
            dialog = null;
        }
    }
}

이런식으로 코딩을 했는데 중복체크 누를시 다른거는 메세지 다 나오는데 안에 아이디를 넣었을 시 중복체크가 안눌려요 뭐가 문제인거죠..?ㅠ
그리고 또 하나 ! 가입하기를 누를 시 나오는 메세지가 0.5초만에 켜졌다가 로그인화면으로 넘어가는데 뭐가 문제인지 모르겠어요 ㅠㅠ
이 두 문제로 사흘동안 고민했는데 도저히 모르겠어서 물어봅니다 도와주세요 !! ㅠ
...