2013-06-18 3 views
1

로컬 sqlite 데이터베이스 파일에 데이터를 보관하는 앱이 있습니다. 내 장치 중 하나에서 때때로이 데이터를 읽으려고하면 "잘못된 파일 경로"대화 상자가 표시됩니다.데이터베이스의 파일 경로가 잘못되었습니다.

나는 데이터베이스 파일 경로를 설정 SQLiteHelper에 사용 된 코드 :

static String getEnvironmentPath() { 
    if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { 
     return Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "custom.db"; 
    } else { 
     return "custom.db"; 
    } 
} 

사실이 유효하지 않은 파일 경로 팝업 때문에 데이터베이스의 표시되어 있는지 미안도 확실하지, 난 그냥 몇 가지를 읽고이 오류가 내 장치 중 하나에서 데이터베이스의 데이터를 수시로.

처음에는 내 케이스가 How to open pdf file in package path in android?과 비슷하다고 생각했는데 동일한 데이터베이스 파일에서 데이터의 75 %가 잘 읽히고 25 %가이 오류를 일으키고 하나의 장치에서만 어떻게 발생합니까?

무엇이 잘못 될 수 있습니까?

감사합니다.

+0

정확히 else 케이스의 목적은 무엇입니까? else 부분이 실행될 때 오류가 발생하지 않았는지 확인 했습니까? –

+0

데이터베이스가 다른 경우에는 제대로 생성되었으므로 확인했습니다 – Roman

+0

SQLiteOpenHelper를 사용하지 않는 이유는 무엇입니까? – vkinra

답변

0

믿을를 얻는 경우 그냥 디버그 및 확인 있지만, 사실은 - 장치에서 Adobe Reader를 삭제하여 문제를 해결! 내 앱에서 뉴스를 유지하고 그 중 일부는 html로 플래시 비디오를 포함하므로 Adobe Player가 이러한 파일을 열려고 시도하여 "잘못된 경로"오류가 발생합니다.

0

매니페스트 파일에 권한을 부여했기를 바랍니다.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

getExternalStoragePublicDirectory (...)가 올바른 경로를 제공하는지 확실하지 않습니다. 당신이 경로

/data/data/com.example.program/databases/xxx.db or not ! 
관련 문제