当我尝试打开sqlite数据库时,它捕获了异常:
android.database.sqlite.SQLiteException:无法打开数据库文件。
我的代码是:
final String DATABASENAME = "MY_DB";
SQLiteDatabase objDb = this.openOrCreateDatabase(DATABASENAME, MODE_PRIVATE, null);
这是很好的Android 2.2。 但它在android 2.1中遇到异常。
请帮帮我... 谢谢..
答案 0 :(得分:2)
File sdcardfile = Environment.getExternalStorageDirectory();
db = SQLiteDatabase.openOrCreateDatabase(sdcardfile.getPath()
+ "/BadBrain/question.db", null);
确保“BadBrain”目录存在,或者您可以创建它!
答案 1 :(得分:1)
还请检查manifest.xml上的权限(android.permission.WRITE_EXTERNAL_STORAGE)。
答案 2 :(得分:1)
在JB设备上运行我的应用程序时遇到了同样的错误。我是因为他们改变了数据库路径/data/data/{package_name}/databases/
。要解决使用Android内置API方法而不是硬编码路径
mContext.getDatabasePath(DATABASE_NAME).getPath();
答案 3 :(得分:0)
试试这样看。
SQLiteDataBase objDb = SQLiteDatabase.openDatabase(DATABASENAME, null, SQLiteDatabase.OPEN_READWRITE);
答案 4 :(得分:0)
你在表中设置了表android_meta数据和语言环境吗?
请看这里的第一步: http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/