플젝기록/한이음 프로젝트

안드로이드 스튜디오와 node.js를 연동하여 아이디 중복확인 설정하기

팽팽 2021. 8. 19. 18:13

 

<아이디 중복확인>

중복확인은 회원탈퇴와 마찬가지로 입력한 아이디를 json형식으로 서버에 보내 데이터베이스와 비교한다.

마찬가지로 retrofit 패키지에 데이터타입을 정의해 주었음.

아이디가 중복되지 않는다면 id_validate = true값으로 바꿔줌

//아이디 중복 체크
        overlap.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {

                String check_id = joinID.getText().toString();

                // 아무것도 없으면
                if (check_id.equals("")) {
                    AlertDialog.Builder builder = new AlertDialog.Builder(JoinActivity.this);
                    dialog = builder.setMessage("아이디를 입력하세요.").setPositiveButton("확인", null).create();
                    dialog.show();
                    return;
                }
                if (id_validate == false) {
                    //데이터베이스의 passwd 비교

                    service.Check_ID(new ID_check_Data(check_id)).enqueue(new Callback<ID_check_response>() {
                        @Override
                        public void onResponse(Call<ID_check_response> call, Response<ID_check_response> response) {
                            ID_check_response result = response.body();
                            System.out.println(result.getCode()); // 잘 들어옴

                            if (result.getCode() == 200) {

                                AlertDialog.Builder builder = new AlertDialog.Builder(JoinActivity.this);
                                dialog = builder.setMessage("사용할 수 있는 아이디입니다.").setPositiveButton("확인", null).create();
                                dialog.show();
                                id_validate = true; //검증 완료
                                //check_button.setBackgroundColor(getResources().getColor(R.color.colorGray));

                            } else if (result.getCode() == 204) {
                                AlertDialog.Builder builder = new AlertDialog.Builder(JoinActivity.this);
                                dialog = builder.setMessage("이미 존재하는 아이디입니다.").setNegativeButton("확인", null).create();
                                dialog.show();
                            } else { //404
                                Toast.makeText(JoinActivity.this, result.getMessage(), Toast.LENGTH_SHORT).show();
                                return;
                            }
                        }

                        @Override
                        public void onFailure(Call<ID_check_response> call, Throwable t) {
                            Toast.makeText(JoinActivity.this, "뭔가의 오류...", Toast.LENGTH_SHORT).show();
                            Log.e("뭔가의 오류...", t.getMessage());
                            return;


                        }
                    });


                }
            }
        });

<개인정보 활용 동의>

checkbox는 체크를 하면 자동으로 isChecked()가 된다. 내가 따로 true, false 설정해줄 필요가 없음!

 CheckBox agree = (CheckBox) findViewById(R.id.agree) ;
        agree.setOnClickListener(new CheckBox.OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO : process the click event.
            }
        }) ;
    }

join 버튼을 눌렀을 때 아이디 중복체크 , 개인정보동의 활용이 되어 있어야 회원가입이 완료된다.

join.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(id_validate == true && agree.isChecked()){
                    attemptJoin();
                }else if(id_validate == false && agree.isChecked()){
                    Toast.makeText(JoinActivity.this, "아이디를 다시 확인해주세요.", Toast.LENGTH_SHORT).show();

                }else if(id_validate == true && !(agree.isChecked())){
                    Toast.makeText(JoinActivity.this, "개인정보 활용을 동의해주세요.", Toast.LENGTH_SHORT).show();

                }else if(id_validate == false && !(agree.isChecked())){
                    Toast.makeText(JoinActivity.this, "아이디 확인, 개인정보 활용을 동의해주세요.", Toast.LENGTH_SHORT).show();

                }
            }


        });

이제 대략적으로 챗봇기능 빼고 다 구현한것 같다.

방학 두달동안 90%를 완성했어야 했는데... 대략 50% 완성한것 같다.

파이팅 !!! 할 수 있어~~~~~