Test and Publish

Check list

App icons Splash screen and its image App executable Screen shots App description

Project Settings for Android apk

Project Settings for iOS ipa

Test New App

How to Upgrade?

Upgrades is an important chapter in the life-cycle of an app. They are needed to fix bugs (which is very common) and add new features after the first release. An upgrade involves following

  • Add or Modify User Interface (screens, controls, actions) and business logic to the application.
  • Upgrade the local content database.
  • Upgrade content.

Upgrade Content Database or Content

You may need to upgrade the content database to save additional fields needed by new features. Or you may need to change the content during an upgrade.

Content Database itself contains the version number (embedded in the SQLite database). It can be upgraded by bumping up the version number stored in properties file with attribute “content_db_version”. The version number in an integer field (only numbers and no decimal).

Note

For Android, the properties are stored in res/strings/values/xml. For iOS, the properties are stored in TODO

AVM provides following ways to upgrade the content database.

  • Using SQL queries - The content database schema and the its content can be modified by defining queries in an XML file created in the same folder as other XML files defining the UI elements are placed. See the sample file below.
<upgrade_content_db>
    <query old_version="1" new_version="2" sql="alter table t1 add (column5 varchar(2)) " serial_no="1"/>
    <query old_version="1" new_version="2" sql="alter table t1 modify column1 varchar(200)" serial_no="2"/>
    <query old_version="1" new_version="2" sql="alter table t2 add (column 4 varchar(2))" serial_no="3"/>

    <query old_version="2" new_version="3" sql="alter table t1 modify column1 varchar(10)" serial_no="1"/>
    <query old_version="2" new_version="3" sql="alter table t2 modify column4 varchar(300)" serial_no="2"/>

</upgrade_content_db>

The SQL queries are executed in the following order “old_version, new_version, serial_no”. In the above example, if the existing content database version is 1 and is being upgraded to version 3, all the queries will be executed in the order listed above. If the old version is 2 and the new version 3, then only the last 2 queries will be executed in the order listed above.

  • Using Code - You can write logic to upgrade the content database schema or the content itself by writing native code (in Java for Android, in Objective C for iOS).

For Android:

public void onContentDbUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // Here you can create the SQL queries to upgrade the content database.
    String sQuery = "alter table t1 add (column5 varchar(2))";
    TableDao.executeSQL(db, sQuery, null);

    // Also you can write business logic to transform data in the content database.
    return;
}

For IOS

// Here write code for iOS.

Publishing an Upgrade

Publishing guidelines for each market place are different