Как я могу использовать OrmLite с SQLite по умолчанию для Android - PullRequest
1 голос
/ 16 августа 2010

У меня большая проблема с использованием базы данных SQLite по умолчанию через драйвер JDBC. Я хотел бы использовать 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. Кто-то посоветовал мне написать собственный класс Logger, который использует регистратор Android, ноне знаю как это сделать.Это ORMLite, который я использую для Android: http://ormlite.sourceforge.net/sqlite_java_android_orm.html

Я очень ценю любую помощь.Заранее спасибо.

Regads, Андрей

Ответы [ 2 ]

5 голосов
/ 20 октября 2010

Это старый вопрос, Эндрю, но для потомков, ORMLite имеет встроенную поддержку вызовов базы данных ОС Android.Я бы порекомендовал обновить и попробовать.Здесь вы найдете примеры проектов, документацию и материалы для скачивания:

http://ormlite.com/sqlite_java_android_orm.shtml

3 голосов
/ 16 августа 2010

В документации 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
...