안드로이드 SQLite 2편이다.
1편은 아래의 링크로 가면 된다.
1편에서는 SQLite를 쓰기위한 준비사항 과 개념에
관하여 다루었다.
이번 포스팅은 직접 사용 해볼 것이다.
내가 필요한 Column은 id와 pass 값이다.
테이블의 이름은 Info 로 할것이다.
해당 테이블을 만들기 위해
아래와 같이 코딩한다.
public class MommooDB extends SQLiteOpenHelper {
public MommooDB(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE Info"+"(id Text primary key, pass Text);";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
onCreate(db);
}
}
Info라는 db파일을 처음 접근할때 onCreate 메서드가 실행되고,
그 결과로 Info 테이블이 생성 될 것이다.
해당 쿼리문은 id 와 pass 를 문자열로 저장하고 id를 primary key로 지정하는 쿼리문이다.
사용하는 방법은 아래와 같다. 간단하게 insert 와 select를 해볼 것 이다.
ex ) insert
MommooDB mommooDB = new MommooDB(this,"Info",null,1);
SQLiteDatabase database = mommooDB.getWritableDatabase();
String id = "Mommoo";
String pass = "mm";
String sql = "insert into Info values('"+id+"','"+pass+"')";
database.execSQL(sql);
혹시, 버전을 바꾸고 싶으면 생성자안 4번째 인자만 바꿔주면 된다. ( 버전은 1이상만 가능)
ex) select
select를 할때는 일반적으로 아래와 같이 커서 클래스를 쓴다.
MommooDB mommooDB = new MommooDB(this,"Info",null,1);
SQLiteDatabase database = mommooDB.getReadableDatabase();
String sql = "select * from Info where id='Mommoo'";
Cursor cursor = database.rawQuery(sql,null);
while(cursor.moveToNext()){
String id = cursor.getString(0);
String pass = cursor.getString(1);
}
cursor.moveToNext() 메서드를 통해, 테이블의 튜플 갯수만큼 루프를 돈다.
상황에 맞게 코딩하면 되겠다.
insert문은 mommooDB.getWritableDatabase(); 를 사용했고 select 문은 mommooDB.getReadableDatabase(); 를 사용했는데,
메서드명 에서도 알 수 있드시, 쓰기모드 읽기모드 이다. insert는 db값을 입력시켜야 하므로 쓰기모드를 사용했고,
select는 디비 튜플값만 불러오면 되므로 읽기모드를 사용한것이다.
위와같이 데이터베이스를 사요한 후 에는 꼭 아래와 같이 close를 해준다.
mommooDB.close();
database.close();
cursor.close();
'Android' 카테고리의 다른 글
안드로이드 쉐어프리퍼런스(SharedPreference) (1) | 2016.05.21 |
---|---|
안드로이드 WebView(웹뷰) 사용하기. (0) | 2016.05.12 |
안드로이드 액티비티의 View 정보 구하기. (2) | 2016.04.20 |
안드로이드 AsyncTask 사용하기. (3) | 2016.04.12 |
안드로이드 Toolbar 적용하기 (1) | 2016.04.01 |
포스팅이 도움 되셨다면, 커피 한잔 후원해주세요!
더 좋은 포스팅 작성에 큰 힘이 됩니다.