如何将OrmLite与Android的默认SQLite一起使用

时间:2010-08-16 13:33:42

标签: java android sqlite ormlite

我通过JDBC驱动程序使用默认的SQLite数据库时遇到了很大的问题。我想在这里使用ORMLite。让我公开我的代码:

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();

我下载了ormlite2.8.jar(src)并修改了SqliteDatabaseType类,以便私有最终静态字符串DRIVER_CLASS_NAME =“SQLite.JDBCDriver”。 但是当我从ormlite2.8.jar(src)导入所有类时,我发现了有关记录器的错误,特别是CommonsLoggingLog和Log4jLog类。有人建议我编写自己的使用Android记录器的Logger类,但是我不知道该怎么做。 这是我用于Android的ORMLite:http://ormlite.sourceforge.net/sqlite_java_android_orm.html

我非常感谢任何帮助。 提前谢谢。

Regads,Andrew

2 个答案:

答案 0 :(得分:5)

这是一个古老的问题安德鲁,但对于后代,ORMLite本机支持Android OS数据库调用。我建议升级并尝试一下。这里有示例项目,文档和下载:

  

http://ormlite.com/sqlite_java_android_orm.shtml

答案 1 :(得分:3)

在ORMlite的文档中提到,没有直接的依赖关系,只有在类路径中提供时才使用Log4J。

您确定,使用ORMlite以正确的方式导入完整代码吗?

怎么样:http://ormlite.sourceforge.net/javadoc/doc-files/ormlite_5.html#SEC25 你应该做第一句中提到的什么:

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