我知道有很多主题都有相同的标题,但我已经尝试了所有这些主题。我无法解决我的问题
我得到的错误就是这样:
android.database.sqlite.SQLiteException:无法将只读数据库从版本0升级到1:/data/data/com.halilkaya.flashcard/databases/flashcarddb.db
实际上,它可以在模拟器上运行,但是当我在手机上安装它时,它不起作用!
答案 0 :(得分: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);
}
答案 1 :(得分:0)
当我点击这个时,logcat中的另一个sql异常(我的HTC OneX测试手机喜欢隐藏崩溃并让我去寻找它们而不仅仅是崩溃)。我的升级逻辑中有一个格式错误的语句。一旦我清除了它,我就不再能够升级只读数据库"错误。
答案 2 :(得分: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()对我来说没有用,但确实如此。
不确定它是如何工作的但确实如此。
尝试过社区提供的上述答案,但这不是问题。
想要解释是否有人有。