본문 바로가기
Android

[Android] Spinner 에 불러온 ID로 로그인 기능 구현

by 준토리73 2023. 1. 13.

보통 Spinner 예제들이 데이터를 수동으로 넣어주는 예제들 밖에 없어서 DB에서 불러온 데이터를 출력하는 Spinner 예제를 정리해보려한다. 

나는 로그인 화면을 만들면서 ID를 콤보박스 형태로 넣어주는 기능을 구현하였다. 

로그인화면

📌 DB 데이터를 Spinner로 불러오기 

String sql = "";
Cursor cursor = null;

sql = "SELECT user_nm FROM tb_user_info"; // DB 사용자 정보를 불러옴 
cursor = db.rawQuery(sql, null);
data = new ArrayList<String>();

data.add(0, "선택"); // 첫 데이터는 '선택' 데이터 넣어줌 
if (cursor != null) cursor.moveToFirst();
if (cursor.getCount() > 0) {
    for (int i = 0; i < cursor.getCount(); i++) {

        data.add(cursor.getString(0));
        cursor.moveToNext();
    }
}
cursor.close();
return data;
}

번외로, 

📌 로그인 성공 확인

public void onLoginComplete(String userId, String userPwd) {
        ArrayList<HashMap<String, String>> userInfoArr = new ArrayList<>();
     
        try {
            String sql = "SELECT user_nm, user_pass FROM tb_user_info WHERE user_nm = '" + userId + "' and user_pass = '" + userPwd  + "'";
            Cursor cursor = db.rawQuery(sql, null);

            if(cursor.getCount() == 1){
                ((LoginFragment) fragment).frag_showToast("로그인 성공");

                goMain();
            }else {
                showAlert("비밀번호 오류! 다시 입력해주세요", "loginBtn");
            }
            cursor.close();

        } catch (Exception e) {
            Log.e(TAG, e.getLocalizedMessage(), e);
        }
    }

});

댓글