Limitations des bases de données Blackberry

Avec l’OS 5, RIM a intégré les bases SQLite dans les Blackberry. Avant de commencer à utiliser celles-ci, il peut être utile de savoir ses limites. Cet article expose diverses informations utiles.

Versions de SQLite utilisées:

  • OS 5 utilise la version 3.6.16
  • OS 6 utilise la version 3.6.21

INSERT:
Toute insertion/update de donnée dans un BLOB est limité à 4ko.

IN:
Le nombre de cas dans une requête utilisant IN est limité à environs 500

Taille de l’application
On peut être amener à préembarquer la base de donnée avec l’application. Or le package est limité à 14Mo, il faut donc penser à mettre en place un service de téléchargement pour le premier démarrage.

Toutes les informations officielles concernant le développement sont situées ici

{lang: 'fr'}

Maintenir plusieurs versions d’une application Blackberry

Pour gérer les multiples OS Blackberry ou déployer aisément différentes versions d’une application (version gratuite / payante, …) il est pratique d’utiliser les préprocesseurs.

//#preprocess
 
//#ifndef BlackBerrySDK4.5.0 | BlackBerrySDK4.6.0 | BlackBerrySDK4.6.1 | BlackBerrySDK4.7.0
import net.rim.device.api.database.Database;
import net.rim.device.api.database.DatabaseFactory;
import net.rim.device.api.io.URI;
//#endif
 
public class DemoClass {
 
public static void doSomething(){
//#ifndef BlackBerrySDK4.5.0 | BlackBerrySDK4.6.0 | BlackBerrySDK4.6.1 | BlackBerrySDK4.7.0
try {
URI myURI = URI.create("databaseDemo");
Database d = DatabaseFactory.open(myURI);
}
catch (Exception e) {
}
 
//#else
System.out.println("No database for your OS");
//#endif
}
}

Il y a 3 étapes à suivre:

  • Mettre //#preprocess au tout début du fichier
  • Encadrer le code spécifique par des balises #ifdef, #ifndef, #else et #endif
  • Pour compiler la bonne version, il suffit de choisir la JRE correspondante sur eclipse
Ensuite, ouvrez le fichier manfiest.xml sur l’onglet « Build ». Vous pouvez ainsi créer une nouvelle condition de préprocesseur et l’activer/la désactiver pour la compilation.

Présente les conditions de préprocesseurs disponibles

 

{lang: 'fr'}