android sqlite java.lang.IllegalArgumentException: contains a path separator

遇到用户报的2.1的机器上sqlite异常的问题,log如下,stackoverflow了一下发现是android 2.2以下的系统不支持在sdcard上用SQLiteOpenHelper操作数据库导致的,在stackoverflow上找到了解决方法,试了下,OK。

http://stackoverflow.com/questions/5332328/sqliteopenhelper-problem-with-fully-qualified-db-path-name

E/AndroidRuntime( 3941): Caused by: java.lang.IllegalArgumentException: .db3 contains a path separator
E/AndroidRuntime( 3941): at android.app.ApplicationContext.makeFilename(ApplicationContext.java:1445)
E/AndroidRuntime( 3941): at android.app.ApplicationContext.openOrCreateDatabase(ApplicationContext.java:473)
E/AndroidRuntime( 3941): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:193)
E/AndroidRuntime( 3941): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
E/AndroidRuntime( 3941): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:158)

猜你喜欢

转载自chriszeng87.iteye.com/blog/1849790