重新启动android应用程序后,sqlite表为空

时间:2013-08-27 20:45:18

标签: java android database sqlite

在我的应用程序中,我以两种方式访问​​我的sqlite数据库。一个来自服务的服务,它从服务器获取数据并更新数据库。还有两种方法可以读取数据并将其显示给用户。会发生什么事情,当我更新数据库时,当我关闭应用程序并再次打开它时,数据消失了,表格是空的?!?!我在启动应用程序时打开数据库并在onDestroy()中关闭(如果我这样做)。

public boolean updateTopic( final String oldTopicID, final Topic newTopic )
{
    if( newTopic == null )
        return false;

    boolean result = false;

    result = super.write( new DatabaseWriteRequest<Boolean>()
    {

        @Override
        public Boolean requestImplementation( SQLiteDatabase database )
        {

            int result = database.update( TABLE_NAME, getContentValues( newTopic ), COLUMN_ID + " = ?", new String[] { oldTopicID } );

            if( result == 0 )
            {
                return false;
            }

            return true;
        }
    } );

    return result;
}

在超级课程中:

protected synchronized < T > T write( DatabaseWriteRequest<T> writeRequest )
{
    if( writeRequest == null )
        return null;

    T result = null;

    SQLiteDatabase database = DatabaseHolder.getDatabase();
    if( database != null )
        result = writeRequest.requestImplementation( database );

    return result;
}

0 个答案:

没有答案