보통 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);
}
}
});
'Android' 카테고리의 다른 글
[Android] 실시간 처리 관련 (0) | 2023.03.13 |
---|---|
[Android] 안드 오류 모음 (0) | 2023.03.07 |
[Android] Activity vs Fragment 뭐가 더 좋을까나 (0) | 2023.01.10 |
[Android] 리스트뷰 사용하기 / Adapter 이용 (0) | 2023.01.10 |
[Android] 안드로이드 DB 접근 / JSON 방식으로 서버 통신하기 (2) | 2023.01.10 |
댓글