2010-12-07 2 views
0

sdcard에 위해 만들지 만의 sdcard에 데이터베이스를 만들 수 없습니다 SQLiteOpenHelper를 사용할 수 없습니다. 왜?SQLiteOpenHelper는 데이터베이스 나 외부 저장 장치에 데이터베이스를 만들 수 있습니다 사용 SQLiteDatabase.createDatabase을 발견

+0

왠지 기억에 내 대답에 설명 된대로 다른 파일 경로를 제공 자신의 상황에 구현을 제공 할 수 있습니다 내가 SDCard에 대한 SQLiteOpenHelper를 사용할 수 없음을 (그것은 반년 전) , 그래서 나는 단지 기본 DB 위치 (내부 메모리)로 전환했다. SD 카드 사용의 유일한 이유는 DB 크기였습니다. 내 "기록"이미지를 가지고 있기 때문에 이미지가 SDCard에에있는 동안 나는, DB 만 이미지 경로를 저장하기로 결정했다. 이것은 (내부 메모리가 오히려 제한됩니다) 컴팩트 DB 크기를 유지하기 위해 저를 허용하고 지금까지 작동합니다. –

+0

당신은 sdcard에 대한 쓰기 권한이 있어야합니다. 그럴 경우, 데이터베이스 도우미에 대한 완전한 경로 이름을 제공하십시오. –

+0

그렇지 않을 수도 있습니다. 난 그냥 내 예전의 코드를 확인하고, 나는 단지 내가 SDCARD에 다운로드 한 데이터베이스를 처리. 데이터베이스 어댑터에서 데이터베이스 도우미를 사용하지 않습니다. ; | (SQLiteDatabase.NO_LOCALIZED_COLLATORS databaseFile, 널 (null), SQLiteDatabase.OPEN_READONLY) 난 그냥 SQLiteDatabase.openDatabase를 사용 –

답변

2
> SQLiteOpenHelper can not create database to sdcard. Why? 

... 컨텍스트 개체에서 데이터베이스에 대한 절대 파일 경로를 가져 오기 때문에 ...

DatabaseHelper(final컨텍스트 컨텍스트, String databaseName)

기본 컨텍스트 구현은 사용자가 경로를 지원하지 않습니다.

당신은 stackoverflow sqliteopenhelper-problem-with-fully-qualified-db-path-name