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;");
}


}

댓글 없음:

댓글 쓰기

[OS]리눅스서버 WAS 관련 권한 관리

[Best Practice] Linux 서버 WAS 권한 체계 구축 가이드 리눅스 환경에서 다수의 운영자가 WAS(Tomcat, Nginx 등)를 공동 관리할 때 발생하는 권한 꼬임(Permission Denied) 문제를 방지하기 위한 표준 설정...