내용삭제했습니다.
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//DB가 생성되어 있을시 삭제 ※ DB가 생성되어 있지 않으면 값은 -1이 들어옴
if (Arrays.binarySearch(databaseList(), DATABASE_NAME) >= 0) {
deleteDatabase(DATABASE_NAME);
}
//DB생성,설정
mDatabase = openOrCreateDatabase(DATABASE_NAME,
SQLiteDatabase.CREATE_IF_NECESSARY, null);
mDatabase.setVersion(1);
mDatabase.setLocale(Locale.getDefault());
mDatabase.setLockingEnabled(true);
//Table 생성 , 생성되어있을시 넘어감
try{
//mDatabase.execSQL(DROP_TABLE); //table삭제
mDatabase.execSQL(CREATE_TABLE);
}catch(Exception e){
}
[출처] 안드로이드사이드 - http://www.androidside.com/B46/5959
이 소스를 참고해서
public DbAdapter(Context ctx){
this.ctx = ctx;
//if (Arrays.binarySearch(ctx.databaseList(), DATABASE_NAME) < 0)
//{
db = ctx.openOrCreateDatabase(DATABASE_NAME, SQLiteDatabase.CREATE_IF_NECESSARY, null);
db.setVersion(DATABASE_VERSION);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);
//}
try {
db.execSQL(DATABASE_CREATE);
} catch (Exception e) {
e.printStackTrace();
}
}
이렇게 만든거거든요..ㅠㅠ 그래서 "if (Arrays.binarySearch(ctx.databaseList(), DATABASE_NAME) < 0)" 이부분을 이용하는 것 같은데
어떤 조건문을 쓰든 그냥 무조건 생성하고 봅니다..ㅠㅠ 방법이 없을까요
핼퍼클래스도 참고해보려했는데 그건 더 힘들더라구요이상하게ㅠㅠㅠㅠㅠ
지금 코드까지는 DB를 생성하여 insert까지 되었기에 이코드에서 작업하고 싶습니다.
openOrCreateDatabase 자체가 한번만 파일을 만들기때문에 파일 중복생성 문제는 없을꺼같구여 밑에 구문을 바꿔보시구여
db = ctx.openOrCreateDatabase(DATABASE_NAME, SQLiteDatabase.CREATE_IF_NECESSARY, null);
db = ctx.openOrCreateDatabase(DATABASE_NAME, Context.MODE_WORLD_WRITEABLE, null);
테이블 생성은 테이블이 없을시 생성하는 쿼리로 해주셔도 되구여
CREATE TABLE IF NOT EXISTS [테이블명]
아 그런건가요? 감사합니다:)
저는 DB가 생성되었으면 안만들고 그런게 있어야 하는줄 알았어요ㅠㅠ
//DB가 생성되어 있을시 삭제 ※ DB가 생성되어 있지 않으면 값은 -1이 들어옴
if (Arrays.binarySearch(databaseList(), DATABASE_NAME) >= 0) {
deleteDatabase(DATABASE_NAME);
}
[출처] 안드로이드사이드 - http://www.androidside.com/B46/5959
이부분때문에 지워주는 작업이 필요한 줄 알았거든요...ㅠㅠㅠㅠㅠㅠㅠㅠㅠ
아이제 쿼리를 통해서 리스트에 뿌려지는일만 남았네요.........................하아




디비생성은 SQLiteOpenHelper를 이용하시면 간단합니다