我知道有许多具有相同标题的主题,但我已经尝试了所有主题。我无法解决我的问题。
我得到的错误正是这个:
android.database.sqlite.SQLiteException: Can't upgrade read-only database from version 0 to 1: /data/data/com.halilkaya.flashcard/databases/flashcarddb.db
实际上,它有效在模拟器上,但是当我将它安装到我的手机上时,它不起作用!
问问题
9192 次
3 回答
4
希望你放弃桌子并再次升级它,如下所示
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + LOCATION_TABLE);
db.execSQL("DROP TABLE IF EXISTS " + PHONE_TABLE);
// Create tables again
onCreate(db);
}
于 2013-01-11T21:51:48.803 回答
0
当我点击这个时,logcat 中早些时候出现了另一个 sql 异常(我的 HTC OneX 测试手机喜欢隐藏崩溃,让我去寻找它们而不是仅仅崩溃)。我的升级逻辑中有一个格式错误的语句。一旦我清除了它,我不再收到“无法升级只读数据库”错误。
于 2014-04-01T17:43:51.410 回答
0
这是一个使用意图从 onclick 按钮启动的类。
public class disp_emails_sent extends Activity
......
protected void onCreate(Bundle bd)
{
super.onCreate(bd);
setContentView(R.layout.disp_db_res);
lv = (ListView) findViewById(R.id.myEmail_list);
List<String> arrayL = new ArrayList<String>();
db_handler dbHand = new db_handler(disp_emails_sent.this);
上面显示的 (disp_emails_sent.this) 通常是您传递上下文的地方。this.getApplicationContext() 对我不起作用,但确实如此。
不知道它是如何工作的,但确实如此。
尝试了社区提供的上述答案,但这不是问题。
如果有人有,希望得到解释。
于 2014-08-09T03:53:56.383 回答