2015년 12월 9일 수요일

[android] 데이터베이스 싱글톤 구현(db생성)



public class AutoCallServiceDBManager {
static final String DB_AUTOCALL = "AutoCall.db";
static final String TABLE_AUTOCALL = "AutoCall";
static final int DB_VERSION = 1;

Context mContext = null;


private static AutoCallServiceDBManager autoCallDBManager = null;
private   SQLiteDatabase mdatabase = null;


//외부에서 객체생성을 막기 위해 생성자를 private으로 선언하였다.
        //액티비티에서 oncreate 시 getInstance 를 호출 하게하여 처음 DB를 생성하고
        //연결후 이후는

private AutoCallServiceDBManager(Context context) {
// TODO Auto-generated constructor stub
mContext = context;

//DB생성 및 연결
mdatabase = context.openOrCreateDatabase(DB_AUTOCALL, Context.MODE_PRIVATE ,null);

//테이블과 컬럼 생성
mdatabase.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_AUTOCALL +
"(" + "_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"phoneName TEXT, " +
"phoneNum TEXT, " +
"count INTEGER default 1 ); ");

}

//내부에서 생성자를 인스턴스화 하여 반환함.
public static AutoCallServiceDBManager getInstance(Context context){

if(autoCallDBManager == null){
autoCallDBManager = new AutoCallServiceDBManager( context );
}

return autoCallDBManager;
}

//select 문 전용 함수
public Cursor query( String [] columns, String selection, String[] selectionArgs, String groupBy,
String having, String orderBy ){

return mdatabase.query(TABLE_AUTOCALL, columns, selection, selectionArgs, groupBy, having, orderBy);

}

//데이터 추가
public long insert(ContentValues addRowValue){

Log.d("AutoCallService", "insert()");
return mdatabase.insert(TABLE_AUTOCALL, null, addRowValue);

}
//데이터 전체 삭제
public void deleteAll(){
mdatabase.execSQL(" delete from AutoCall;");
}


}

댓글 없음:

댓글 쓰기

[lunux]리눅스 폴더별 용량 확인

리눅스 폴더별 용량 확인 조회 하고자 하는 디렉토리 리스트가있는 경로로 이동후 du -h --max-depth=1