Использование Ormlite в сочетании с контент-провайдером Android

Я нахожусь в процессе разработки приложения для Android и не могу решить, следует ли мне использовать Ormlite для обновления и извлечения данных в сочетании с Android Content Provider. Поставщик контента будет использоваться в первую очередь для уведомления приложения об изменениях данных, которые произошли в приложении на других платформах. Возможно, я делаю это более сложным, чем это должно быть. Буду признателен за более опытные мнения!


person dionysus    schedule 04.05.2012    source источник
comment
Существует список рассылки Google для пользователей ORMLite Android, который может помочь: groups.google.com/forum/?fromgroups#!forum/ormlite-android   -  person Gray    schedule 05.05.2012
comment
Для этой цели на GitHub была отправлена ​​​​библиотека: github.com/jakenjarvis /Android-OrmLiteContentProvider/blob/   -  person Snicolas    schedule 10.05.2013


Ответы (3)


Попробуйте. Полученный опыт обычно стоит затраченных усилий, даже если вы в конечном итоге откажетесь от результата. Да, и дайте нам знать, как идут дела, потому что мне тоже интересно узнать об OrmLite. :-)

person Sparky    schedule 04.05.2012
comment
До сих пор мой опыт работы с Ormlite был приятным. Есть небольшая кривая обучения и отсутствие документации на сайте. Но сам фреймворк я считаю действительно полезным. - person dionysus; 05.05.2012
comment
Конфликт, который у меня есть на данный момент с использованием поставщика контента Android, заключается в том, что я уже создал свои объекты и нормализацию базы данных, я только что понял, что мне придется изменить имена столбцов столбцов первичного ключа каждую таблицу и сущность в _id. Это рекомендуется из-за того, что для использования ListView требуется первичный ключ, идентифицируемый этим конкретным именем столбца. Другая проблема, с которой я столкнулся, заключается в том, что я создал свои DAO на основе Ormlite. Однако контент-провайдер ЯВЛЯЕТСЯ DAO. - person dionysus; 05.05.2012
comment
Таким образом, без необходимости слишком много перекодировать, мне придется сохранить DAO, которые используют Ormlite, и просто иметь еще один уровень, который является просто поставщиком контента, который получает доступ к DAO. Я думаю, что мой контент-провайдер будет просто работать как уровень веб-сервиса в моем приложении. Я буду держать вас, ребята, в курсе моего прогресса. - person dionysus; 05.05.2012
comment
@dionysus Однако контент-провайдер ЭТО ДАО - бинго! Я тоже так смотрю. Обратите внимание, что даже если вы используете ormlite для доступа к базе данных; есть некоторые случаи использования, когда вы не можете избежать ContentProvider. На ум приходят 2 случая: 1) вы хотите предоставить свои данные другим приложениям; 2) Вы хотите использовать поисковую систему Android. Таким образом, даже если вы используете POJO для своих повседневных нужд, вам все равно придется возиться с Cursor и ContentProvider, когда дело доходит до этих конкретных требований. - person curioustechizen; 31.05.2012
comment
В качестве примечания. Всем, кто планирует использовать ORMLite в сочетании с поставщиками содержимого Android, я настоятельно рекомендую, чтобы класс, в котором вы открываете соединение с базой данных, был одноэлементной фабрикой. Причиной этого является предотвращение сбоя из-за попытки потока пользовательского интерфейса получить доступ к рабочему/фоновому потоку. Это особенно актуально при обновлении данных в ListView. - person dionysus; 18.03.2013

Библиотека https://github.com/blandware/android-atleap является примером использования ContentProvider в совместно с OrmLite

person Andrey Grebnev    schedule 08.01.2014
comment
Андрей, спасибо за информацию. Я рассмотрю это для некоторых хороших примеров. - person dionysus; 12.01.2014

Вы можете использовать OrmLiteContentProvider или Ускоритель Android AtLeap в сочетании с OrmLite. Обе библиотеки позволяют легко определить поставщика контента поверх модели данных OrmLite.

person ChrLipp    schedule 23.09.2014