Android SQLite database and app update

I have developed an android app and released version 1.0. The app contains SQLite local database with 5 tables.

Now we planned to release version 2.0 also update the version 1.0 users. In version 2.0 we have included extra two tables with previous 5 table, so 7 tables now.

  • Commenting in android layout file
  • Android studio 2.3: Could not initialize class org.jetbrains.kotlin.android.actions.NewKotlinActivityAction
  • Android Maps API v2 draw circle
  • With 0.4.3 Android Studio, error: “Gradle project sync failed. Basic functionality (e.g. editing, debugging) will not work properly”
  • Android Material Design Inline Datepicker issue
  • “You cannot change private secure settings” - how to toggle ringtone vibration in Android 6?
  • Now my question is, The version 1.0 users all have some data in the local database, If he update to the version 2.0 the previous data will get lost? If it so. then what is the alternate method?

  • How to enable Firebase Crash Reporting - Android
  • Change phone number in emulator - Android development
  • How do I specify eg. Roboto-Medium or Roboto-Black in styles.xml
  • Action bar navigation modes are deprecated in Android L
  • Android how to TextArea
  • noHistory vs finish() - Which is preferred?
  • 3 Solutions collect form web for “Android SQLite database and app update”

    You should put all changes in your onUpgrade method you can use this code:

    @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        String sql = "ALTER TABLE " + TABLE_SECRET + " ADD COLUMN " +
         "name_of_column_to_be_added" + " INTEGER";
        db.execSQL(sql);        
    }        
    

    this adds a column in your current database. Your database will not lose data. Reminder: onUpgrade will be called when getWriteableDatabase or getReadableDatabase is executed AND the version of your database is different from your older version.

    You can do some on SQLiteOpenHelper#onUpgrade, get some old data. and insert into new table

    Change your db version and add extra two table creation methods in your onUpgrade(SQLiteDatabase db, int oldVersion, int newVesion) method. Now the the previous data will not get lost.

    I hope this will help you.

    Android Babe is a Google Android Fan, All about Android Phones, Android Wear, Android Dev and Android Games Apps and so on.