Android不会更新SQLite数据库

我的Android应用程序中的sqlIte数据库遇到了一些问题.
问题是数据库永远不会更新,甚至不会在模拟器的多次重启,Eclipse或从DDMS中删除之后更新.

这是我的onCreate方法,位于扩展sqliteOpenHelper的类中:

public void onCreate(sqliteDatabase database) {
    try {
        database.execsql(ESSENCE_TABLE_CREATE);
        database.execsql(PACCO_TABLE_CREATE);
        database.execsql(TAVOLE_TABLE_CREATE);
        database.rawQuery("insert into essenza values(1, 'Rovere')",
                null); // added later
    } catch (sqlException e) {
        Log.e("DB", e.getMessage());
    }
}

在实例化帮助程序后,我请求对数据库的引用:

    helper = new DBHelper(context, dbpath + "/" + DATABASE_NAME);
    database = helper.getWritableDatabase();

似乎rawQuery语句(稍后添加)未执行,而且正在使用的数据库是从先前版本缓存的.我也试图改变数据库的版本,但它没有用.我错过了什么吗?提前致谢.

解决方法:

您有两种选择:

>使用DDM从设备中删除数据库文件(查看/ data / data /).这将迫使Android再次运行onCreate.
>在构造函数中,增加传递给sqliteOpenHelper的数据库版本.将原始查询添加到onUpgrade.

您可能需要选项1.如果您的应用程序的用户要更新其数据库,则选项2会更好.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...