2010-08-16 5 views
1

J'ai un gros problème en utilisant la base de données SQLite par défaut via JDBC driver.I souhaite utiliser ORMLite avec moi this.Let exposerai mon code:Comment puis-je utiliser OrmLite avec défaut Android SQLite

String databaseUrl = "jdbc:sqlite:/data/data/my.package.name/db.sqlite"; 

Class.forName("SQLite.JDBCDriver"); 
DriverManager.getConnection(databaseUrl); 

dataSource = DatabaseTypeUtils.createSimpleDataSource(databaseUrl); 
databaseType = DatabaseTypeUtils.createDatabaseType(dataSource); 
databaseType.loadDriver(); 

UpDao = new UserProfileJdbcDao(databaseType); 
UpDao.setDataSource(dataSource); 
UpDao.initialize(); 

J'ai téléchargé the ormlite2.8.jar (src) et modifié la classe SqliteDatabaseType afin que la chaîne statique finale privée DRIVER_CLASS_NAME = "SQLite.JDBCDriver". Cependant, lorsque j'ai importé toutes les classes de l'ormlite2.8.jar (src), j'ai trouvé des erreurs concernant l'enregistreur, en particulier les classes CommonsLoggingLog et Log4jLog. Quelqu'un m'a conseillé d'écrire ma propre classe Logger qui utilise l'enregistreur Android, mais Je ne sais pas comment faire ça. Ceci est l'ORMLite que j'utilise pour Android: http://ormlite.sourceforge.net/sqlite_java_android_orm.html

J'apprécie hautement toute aide. Merci d'avance.

Regads, Andrew

Répondre

3

Dans la documentation de ORMlite est mentionné, qu'il n'y a pas de dépendances directes et Log4J ne seront utilisées que si elle est fournie dans le chemin de la classe.

Etes-vous sûr que l'importation du code complet est la bonne façon d'utiliser ORMlite?

Qu'en est-ce que: http://ormlite.sourceforge.net/javadoc/doc-files/ormlite_5.html#SEC25 Vous devez faire ce qui est mentionné dans la première phrase:

DatabaseType databaseType = new SqliteAndroidDatabaseType(); 
databaseType.loadDriver(); 
// change this for your path and application name 
String databaseUrl = "jdbc:" + databaseType.getDriverUrlPart() + ":" + 
    getFilesDir() + "/test.db"; 
SimpleDataSource dataSource = 
    DatabaseTypeUtils.createSimpleDataSource(databaseUrl); 

// configure and use your dao as in previous examples 
5

Ceci est une vieille question Andrew, mais pour la postérité, ORMLite a un support natif pour les appels de base de données Android OS. Je recommande de mettre à jour et d'essayer. Il existe des exemples de projets, la documentation et téléchargements ici:

http://ormlite.com/sqlite_java_android_orm.shtml

+0

meilleur outil ORM J'ai essayé pour Android OS, excellent travail! Ça vaut la peine d'essayer! – bluediapente