title: Assets folder files aren't updated when I update the app
body: <p>I have an app v1.0 that uses a local database saved in assets folder... I have updated my app to version 1.1, in the new version the internal db has different entries.</p>
  
  <p>Unfortunately the installed app continue to use the database of version 1.0 and I must unistall the app and install again to use the database of the latest version.</p>
  
  <p>Is really a bad thing force the buyers to unistall the application and reinstall the new version... Why the assets files  aren't updated with the new version?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>I have understand that this issue happen because the database is created from assets file and only if isn't already created, this is my DatabaseHelper class </p>
  
  <pre><code>public class DataBaseHelper extends SQLiteOpenHelper {
      private static String TAG = "DataBaseHelper"; 
      private static String DB_PATH = "";
      private static String DB_NAME = "MyDatabaseFile";
      private SQLiteDatabase mDataBase;
      private final Context mContext;
  
      public DataBaseHelper(Context context) {
          super(context, DB_NAME, null, 1);
          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 {
                  copyDataBase();
                  Log.e(TAG, "createDatabase database created");
              } catch (IOException mIOException) {
                  throw new Error("ErrorCopyingDataBase");
              }
          }
      }
  
      private boolean checkDataBase() {
          File dbFile = new File(DB_PATH + DB_NAME);
          // Log.v("dbFile", dbFile + "   "+ dbFile.exists());
          return dbFile.exists();
      }
  
  
      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;
          // Log.v("mPath", mPath);
          mDataBase = SQLiteDatabase.openDatabase(mPath, null,
                  SQLiteDatabase.CREATE_IF_NECESSARY);
          // mDataBase = SQLiteDatabase.openDatabase(mPath, null,
          // SQLiteDatabase.NO_LOCALIZED_COLLATORS);
          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>How could I avoid this issue when I'll upgrade the app on PlayStore, without renaming the db file?</p>