Using adb + sqlite3 (the tool), and querying the database after every action, I've an application that card inserts a row into my_conference via:

ContentValues values = new ContentValues();

      values.put("ITEM_ID", itemId);
      values.put("ITEM_DATE", sessionDate);

      mDb.beginTransaction();
      mDb.insert("my_conference", null, values);
      mDb.setTransactionSuccessful();
      mDb.endTransaction();

I'm able to then query the database and make certain the row can there be. Then, after i hit the rear button around the tool and following the activity returns towards the screen before it, I requery the database which is empty, lacking from the row placed. I am not doing anything funny to my DB in onDestroy(), just calling db.close()

What gives?

EDIT: So that they can make certain there have been no errors, and mixing what else I have discovered by searching, I emerged with this particular, same factor though, card inserts, then removes after onDestroy():

ContentValues values = new ContentValues();

      values.put("ITEM_ID", itemId);
      values.put("ITEM_DATE", sessionDate);

      try
      {
        mDb.beginTransaction();
        mDb.insertOrThrow("my_conference", null, values);
        mDb.setTransactionSuccessful();
      }
      catch( Exception e )
      {
        Log.e("DB", "EXCEPTION: " + e.getMessage() );
      }
      finally
      {
        mDb.endTransaction();
      }

Therefore it works out I'd a poor database is available check, have a tendency to thought it did not is available, therefore the database had been produced anew on each activity load...