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

회원가입시 중복확인을 안눌렸을때

0 추천
아이디를 입력하고 먼저 중복확인 버튼을 눌러주는 방식으로 했습니다.

insert를 할 때 중복확인을 안 눌러줬을 때는 어떻게 해야하나요.

코드로 방법을 알려주셨으면 합니다.
익명사용자 님이 2019년 9월 24일 질문

1개의 답변

0 추천
회원 가입 버튼을 누를 때, 중복 체크를 했는지 안했는지를 체크하면 될듯 합니다.

boolean 변수 하나를 선언한뒤, 중복 체크를 해서 사용가능한 아이디라면 true, 중복 체크를 하지 않거나 아이디가 이미 중복이라면 변수의 값을 false로 한뒤, 회원 가입 버튼을 눌렀을 때, boolean 변수의 값을 체크해서 다음 작업을 실행하세요
뱅구다 (11,280 포인트) 님이 2019년 9월 24일 답변
Btnjoinship.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                sqlDB = myDBHelper.getWritableDatabase();
                if (Mem_Id.getText().toString().length() > 0 && Mem_Pw.getText().toString().length() > 0 && Mem_CPw.getText().toString().length() > 0 && Mem_Name.getText().toString().length() > 0 && Mem_Vehicle.getText().toString().length() > 0 && Mem_Tel.getText().toString().length() > 0 && Mem_Email.getText().toString().length() > 0 ) {
                    





                    sqlDB.execSQL("INSERT INTO member VALUES ('" + Mem_Id.getText().toString() + "', '" + Mem_Pw.getText().toString() + "', '" + Mem_Name.getText().toString() + "', '" + Mem_Vehicle.getText().toString() + "', "+ Mem_Tel.getText().toString() +", '"+ Mem_Email.getText().toString() + "');");
                    sqlDB.close();
                }  else if (Mem_Pw.getText().toString().length() == 0) {
                    Toast.makeText(Membership.this, "비밀번호를 입력하세요", Toast.LENGTH_SHORT).show();
                    Mem_Pw.requestFocus();
                    return;
                } else if (Mem_CPw.getText().toString().length() == 0) {
                    Toast.makeText(Membership.this, "비밀번호를 한번 더 입력하세요", Toast.LENGTH_SHORT).show();
                    Mem_CPw.requestFocus();
                    return;
                } else if (Mem_Name.getText().toString().length() == 0) {
                    Toast.makeText(Membership.this, "이름을 입력하세요", Toast.LENGTH_SHORT).show();
                    Mem_Name.requestFocus();
                    return;
                } else if (Mem_Vehicle.getText().toString().length() == 0 ) {
                    Toast.makeText(Membership.this, "차량 번호를 입력하세요", Toast.LENGTH_SHORT).show();
                    Mem_Vehicle.requestFocus();
                    return;
                } else if (Mem_Tel.getText().toString().length() == 0) {
                    Toast.makeText(Membership.this, "전화번호를 입력하세요", Toast.LENGTH_SHORT).show();
                    Mem_Tel.requestFocus();
                    return;
                } else if (Mem_Email.getText().toString().length() == 0) {
                    Toast.makeText(Membership.this, "이메일을 입력하세요", Toast.LENGTH_SHORT).show();
                    Mem_Email.requestFocus();
                    return;
                }
                Toast.makeText(getApplicationContext(), Mem_Id.getText().toString() + "님 가입을 축하드립니다.", Toast.LENGTH_SHORT).show();
                finish();
            }
        });


이 코드에 어떻게 적용을 하면 좋을 까요?
제 댓글에서처럼 boolean isDuplicate = false;로 변수 선언 하시고,

중복 확인 버튼 누름
1. 아이디가 중복이 아님 isDuplicate = true; 로 주시고
2. 아이디가 중복인 경우 isDuplicate = false;
중복 확인 버튼 안누른 경우
어차피 isDuplicate의 값이 false임

그 뒤에
else if (Mem_Pw.getText().toString().length() == 0) {
                    Toast.makeText(Membership.this, "비밀번호를 입력하세요", Toast.LENGTH_SHORT).show();
                    Mem_Pw.requestFocus();
                    return;
                }
이부분 위에나 아래에
else if(!isDuplicate){
 Toast....."중복 체크를 해주세요"
return;
}

이런식으로 하면 될듯하네요
...