안녕하세요.


DBHandler를 사용하여 db에 접근을 합니다.


DBHandler 소스 아래와 같이 구글링해서 사용을 하고 있습니다.


public class DBHandler {

private Context ctx;

private DBHelper helper;

private SQLiteDatabase db;


public DBHandler(Context ctx) {

this.ctx = ctx;

this.helper = new DBHelper(ctx);

this.db = helper.getWritableDatabase();

}


public static DBHandler open(Context ctx) throws SQLException {

DBHandler handler = new DBHandler(ctx);

return handler;

}


public void close() {

helper.close();

}

}


제가 사용하는 방식은 onCreate() 에서 dbhandler = DBHandler.open(this); 해주고

내부에서 사용 후 onDestroy()에서 dbhandler.close(); 를 하고 있습니다.


이런 방식이 잘못된건가요?

가끔 dbhandler 를 통하여 select를 해야 할경우 제목과 같은 오류가 뜹니다.


db가 필요한 부분에서 open 해주고 끝나면 바로 close 해주는 작업을 매번 반복해서 사용을 해야 하는건가요?


조언 부탁드립니다.


profile

give & take