Как я могу использовать OrmLite с SQLite по умолчанию для Android

У меня большая проблема с использованием базы данных 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< /а>

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

Регадс, Эндрю


person Andrew    schedule 16.08.2010    source источник


Ответы (2)


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

http://ormlite.com/sqlite_java_android_orm.shtml

person Gray    schedule 20.10.2010
comment
Лучший инструмент ORM, который я пробовал для ОС Android, отличная работа! Стоит попробовать! - person bluediapente; 25.11.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
person WarrenFaith    schedule 16.08.2010