title: SQLite DB created from Assets Folder update issue
body: <p>I have an SQLite DB generated from a file in the asset folder... 
  Now I know that is not possible to modify the resource of the app, 
  but if I release an updated app I want that the already created database will be cleared and re-created from the new asset file DB included in the new version of the app</p>
  
  <p>This is my Database Helper class</p>
  
  <pre><code>public class DataBaseHelper extends SQLiteOpenHelper {
      private static String TAG = "DataBaseHelper"; // Tag just for the LogCat
                                                      // window
      // destination path (location) of our database on device
      private static String DB_PATH = "";
      private static String DB_NAME = "";// Database name
      private SQLiteDatabase mDataBase;
      private final Context mContext;
  
      public DataBaseHelper(Context context, String nomeDB) {
          super(context, nomeDB, null, 2);// 2 is the Database Version
          DB_NAME = nomeDB;
          DB_PATH = "/data/data/" + context.getPackageName() + "/databases/";
          this.mContext = context;
      }
  
      public void createDataBase() throws IOException {
          // If database not exists copy it from the assets
  
          boolean mDataBaseExist = checkDataBase();
          if (!mDataBaseExist) {
              this.getReadableDatabase();
              this.close();
              try {
                  // Copy the db from assests
                  copyDataBase();
                  Log.e(TAG, "createDatabase database created");
              } catch (IOException mIOException) {
                  Log.e(TAG, mIOException.toString());
                  throw mIOException;
              }
          }
      }
  
      private boolean checkDataBase() {
          File dbFile = new File(DB_PATH + DB_NAME);
          // Log.v("dbFile", dbFile + "   "+ dbFile.exists());
          return dbFile.exists();
      }
  
      // Copy DB from assests
      private void copyDataBase() throws IOException {
          InputStream mInput = mContext.getAssets().open(DB_NAME);
          String outFileName = DB_PATH + DB_NAME;
          OutputStream mOutput = new FileOutputStream(outFileName);
          byte[] mBuffer = new byte[1024];
          int mLength;
          while ((mLength = mInput.read(mBuffer)) &gt; 0) {
              mOutput.write(mBuffer, 0, mLength);
          }
          mOutput.flush();
          mOutput.close();
          mInput.close();
      }
  
      public boolean openDataBase() throws SQLException {
          String mPath = DB_PATH + DB_NAME;
          mDataBase = SQLiteDatabase.openDatabase(mPath, null,
                  SQLiteDatabase.CREATE_IF_NECESSARY);
          return mDataBase != null;
      }
  
      @Override
      public synchronized void close() {
          if (mDataBase != null)
              mDataBase.close();
          super.close();
      }
  
      @Override
      public void onCreate(SQLiteDatabase arg0) {
          // TODO Auto-generated method stub
  
      }
  
      @Override
      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
          // TODO Auto-generated method stub
  
      }
  
  }
  </code></pre>
  
  <p>The line </p>
  
  <pre><code>super(context, nomeDB, null, 2);// 2 is the Database Version
  </code></pre>
  
  <p>should identify the version ad if the already present DB has a version number previous must be updated, </p>
  
  <p>so if I'll release a new app with DB version 3</p>
  
  <pre><code>super(context, nomeDB, null, 3);
  </code></pre>
  
  <p>the app must recreates the DB from the assets included in the new compiled version of the app. </p>
  
  <p>But I don't know a right way to do this.</p>