code: public int changedRowCount () {
      if ( getChangedRowCount == null ) {
        try {  // JNA/J2SE compatibility method.
          getChangedRowCount = sqliteDatabase.getClass().getMethod("changedRowCount", (Class<?>[])null);
        } catch ( Exception any ) {
          try {
            // Android
            getChangedRowCount = sqliteDatabase.getClass().getDeclaredMethod("lastChangeCount", (Class<?>[])null);
            getChangedRowCount.setAccessible(true);
          } catch (Exception e) {
            // ignore
          } 
        }
      }
      if ( getChangedRowCount != null ) {
        try {
          return ((Integer)getChangedRowCount.invoke(sqliteDatabase, (Object[])null)).intValue();
        } catch (Exception e) {
          // ignore
        } 
      }
      return 1;  // assume that the insert/update succeeded in changing exactly one row (terrible assumption, but I have nothing better).
    }
docs: The count of changed rows.  On JNA platforms, this is a call to sqlite3_changes
  On Android, it's a convoluted call to a package-private method (or, if that fails, the
  response is '1'.