2010-08-30 2 views
0

Je suis très nouveau sur Android.Nouveau sur Android. Est-il possible pour l'utilisateur de spécifier le nom d'une base de données à créer? Aussi sur l'utilisation de plusieurs bases de données

Je pense à créer une application qui utilise plusieurs bases de données. L'utilisateur pourrait spécifier le nom de la base de données à créer et sélectionner la base de données à utiliser parmi celles qui existent dans le répertoire/databases /.

Est-ce possible dans android?

+0

Le modèle de base de données est généralement un détail de mise en œuvre interne d'une application. Pourquoi l'utilisateur souhaite-t-il sélectionner le nom? Ou lequel? –

+0

La base de données stocke des données sur des entités spécifiques du même type mais pas directement connectées entre elles. En outre, l'une des exigences de l'utilisateur est la sauvegarde de la base de données des entités spécifiques sur une carte SD. Par exemple, un professeur voudrait une base de données distincte pour chaque collège où il enseigne. Choisissez la base de données avec laquelle il veut travailler à tout moment et sauvegardez et importez la base de données univerty à sa guise. –

Répondre

0

Oui, tout ce que vous avez décrit est possible. Le samplet suivant illustre comment procéder

/** 
* Implement database helper by extending SQLiteOpenHelper, 
* as described by dev.guide 
*/ 
public class DatabaseOpenHelper extends SQLiteOpenHelper { 
DatabaseOpenHelper(Context ctx, String dbPath, int dbVersion) { 
    super(ctx, dbPath, null, dbVersion); 
    } 
    // the rest of the class 
} 


// in your code when your want to create DB - 
// just define desired database path/name and pass it as argument 
// to helper's constructor 
String dbPathName = "/sdcard/path/to/somewhere_on_sdcard/mydb.db"; 
// Any number you choose, just make sure any time you modify DB structure to 
// increment this number 
static int dbVersion = 123; 

// Instantiate your helper. That's all 
DatabaseOpenHelper dbHelper = 
    new DatabaseOpenHelper(context, dbPathName, dbVersion); 
Questions connexes