2012-06-30 3 views
0

내 (초보자/안드로이드) 응용 프로그램 용 데이터베이스를 구현하고 있습니다.설명 SQLiteOpenHelper

SQLiteOpenHelper 

super() 

또는 아직도 그 경우합니다 (.DB/.SQL 파일을 작성, 물리적으로) 데이터베이스를 생성하기위한 것입니다 경우

그것은 나에게 분명하지 않다 이 파일을 생성하려면이 클래스가 데이터베이스 열기, 닫기, 업데이트를 관리하기위한 것입니다.

이와 같은 경우에는 DB를 자동으로 관리하는 클래스를 가질 수있는 다른 방법이 없습니다. 예 : 단지 (그것을 자신^_ ^을하고 그렇다) 파일의 이름을 전달

답변

3

SQLiteOpenHelper 당신의 SQLiteOpenHelper 서브 클래스의 onCreate()를 호출하기 전에 데이터베이스 파일을 생성합니다 감사합니다.

+1

+1 동의 함 –

+0

확인. 그렇다면 데이터베이스의 존재 여부를 확인하는 데있어 무엇이 잘못 되었습니까? SQLiteDatabase db = this.getWritableDatabase(); 응용 프로그램은 기본적으로 DB를 요청하자마자 충돌합니다. DB를 "활성화"하기 위해 최소한 테이블을 생성해야합니까? – 2dvisio

+0

@carmelo : "그렇다면 SQLiteDatabase db = this.getWritableDatabase();를 사용하여 데이터베이스의 존재 여부를 확인하는 과정에서 잘못된 점이 있습니다." -- 아무것도. "응용 프로그램은 기본적으로 DB를 요청하자마자 충돌합니다. 아마도 당신의 응용 프로그램은 아마도 onCreate() 구현에 버그가있을 것입니다. Eclipse에서'adb logcat', DDMS 또는 LogCat보기를 사용하여 LogCat을 검사하고 충돌과 관련된 스택 추적을보십시오. – CommonsWare

0

NiceQL 라이브러리를 사용할 수 있으며 수동 데이터베이스 생성을 잊어 버릴 수 있습니다. 안드로이드 API에는 데이터베이스 생성과 관련하여 많은 단점이 있으며 제대로 문서화되지 않았습니다. NiceQL이 모든 것을 다룹니다.