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

发布于 2024-09-14 08:54:56 字数 991 浏览 7 评论 0原文

我通过 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< /a>

我非常感谢任何帮助。 先感谢您。

问候,安德鲁

I have a big problem using the default SQLite database via JDBC driver.I would like to use ORMLite with this.Let me expose my code:

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

I downloaded the ormlite2.8.jar (src) and modified the SqliteDatabaseType class so that the private final static String DRIVER_CLASS_NAME = "SQLite.JDBCDriver" .
However when I imported all of the classes from the ormlite2.8.jar(src) , I found errors concerning the logger, specifically the CommonsLoggingLog and Log4jLog classes.Someone advised my to write my own Logger class that uses the Android logger , but I do not know how to do that.
This is the ORMLite I am using for Android : http://ormlite.sourceforge.net/sqlite_java_android_orm.html

I am highly appreciating any help.
Thank you in advance.

Regads, Andrew

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

贱人配狗天长地久 2024-09-21 08:54:58

这是一个老问题,Andrew,但对于后代来说,ORMLite 对 Android 操作系统数据库调用具有本机支持。我建议升级并尝试一下。这里有示例项目、文档和下载:

http://ormlite.com/sqlite_java_android_orm.shtml

This is an old question Andrew, but for posterity, ORMLite has native support for the Android OS database calls. I'd recommend upgrading and trying it out. There are sample projects, documentation, and downloads here:

http://ormlite.com/sqlite_java_android_orm.shtml

却一份温柔 2024-09-21 08:54:58

在 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

In the documentation of ORMlite is mentioned, that there are no direct dependencies and Log4J will be only used if provided in the class path.

Are you sure, that importing the complete code is the right way using ORMlite?

What about that: http://ormlite.sourceforge.net/javadoc/doc-files/ormlite_5.html#SEC25
You should do whats mentioned in the first sentence:

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文