Уровень базы данных более высокого уровня для Android? - PullRequest
25 голосов
/ 03 декабря 2009

Есть ли хорошие уровни абстракции базы данных / объектно-реляционные картографы / реализации ActiveRecord / как они называются для Android? Я знаю, что db4o официально поддерживается, но у него довольно большая площадь, и я бы предпочел использовать более обычную базу данных (SQLite).

Ответы [ 12 ]

17 голосов
/ 15 сентября 2010

Я являюсь основным автором ORMLite , который был разработан, чтобы быть маленьким [ish], но все же обеспечивать функциональность более высокого уровня. ORMLite обращается к собственным API-интерфейсам баз данных ОС Android для поддержки своих функций ORM. Смотрите следующую информацию для общей информации

http://ormlite.com/sqlite_java_android_orm.shtml

Вот несколько примеров приложений для Android:

http://ormlite.com/docs/android-examples

12 голосов
/ 22 июля 2012

Я попробовал Sugar ORM, который является очень простым (и простым в использовании), но он работал для моих нужд.

Сайт сахара

5 голосов
/ 31 августа 2010

Существует проект 'android-active-record', который предоставляет абстракцию ActiveRecord для доступа к базе данных Android SQLite. Это доступно здесь: http://code.google.com/p/android-active-record

Это позволяет исключить большую часть шаблонного кодирования при выполнении операций CRUD над объектами базы данных, а также сводит к минимуму усилия по созданию / поддержанию структуры базы данных

5 голосов
/ 12 мая 2010

Попробуйте ActiveAndroid . Это бесплатный и открытый исходный код ( Apache Version 2.0 ).

С сайта:

ActiveAndroid - это активный стиль записи ORM (объектный реляционный картограф). [...] ActiveAndroid позволяет вам сохранять и извлекать записи базы данных SQLite, даже не записав один оператор SQL. Каждая запись базы данных аккуратно упакована в класс с такими методами, как save () и delete ().

[...] Доступ к базе данных является хлопотным, по меньшей мере, в Android. ActiveAndroid заботится обо всех настройках и беспорядке, и все всего за несколько простых шагов настройки.

2 голосов
/ 26 января 2015

Я написал новый ORM для Android, который нацелен и максимально прост в реализации. Он поддерживает списки и свободную миграцию SQL. Несколько вещей, которые я всегда находил, имели издержки в других библиотеках.

http://www.rushorm.com/

2 голосов
/ 15 апреля 2012

Бесстыдный плагин, но я работаю над новой платформой Android с открытым исходным кодом под названием Infinitum . Одной из его основных функций является ORM, который имеет API критериев, аналогичный Hibernate, и несколько других полезных функций (ассоциации, отложенная загрузка и т. Д.). Это все еще на ранних стадиях, но я думаю, что это идет довольно хорошо.

2 голосов
/ 15 января 2012

Если производительность и размер имеют значение, вам следует взглянуть на наш ORM-инструмент с открытым исходным кодом greenDAO . Мы написали это потому, что не хотели идти на компромисс по скорости. Другие инструменты сильно зависят от рефлексии, что очень медленно в Android. Несмотря на небольшой размер (<100 КБ), он поддерживает отношения, построители запросов и т. Д. </p>

1 голос
/ 24 сентября 2011

Я столкнулся с той же проблемой и посмотрел на android-active-record и ActiveAndroid. Я обнаружил, что android-active-record не справляется с тем, что меня волнует (например, отношения), и ActiveAndroid не бесплатен. Поэтому я решил написать свою собственную библиотеку. Он называется AndroidRecord, и он размещен на GitHub , и вы можете делать с ним все, что захотите (думаю, я собираюсь пойти с лицензией MIT). Я использую это каждый день, и я доволен этим, но я хотел бы получить обратную связь.

Если вам нужно знать, как его использовать, я работаю над документацией. Если вам это нужно прямо сейчас, вы можете проверить этот неудачный пример проекта , которого должно быть достаточно, чтобы погрузить ваши пальцы. Вы также можете написать мне по электронной почте, конечно.

1 голос
/ 04 декабря 2009

Есть также Neodatis и Perst (Lite).
Я играл с Перстом год назад и пришел к выводу, что оно того не стоит.
В конце концов, а) Android работает на довольно ограниченном устройстве с ~ 16 Мбайт кучи на приложение и б) Ваши клиенты действительно оценят производительность и низкое энергопотребление. Поэтому мой совет - использовать SQLite и рукописный SQL. Это совсем не сложно, а обертки, предоставляемые Android SDK, действительно хороши.

РЕДАКТИРОВАТЬ: В 2012 году совет будет использовать компонент ORM DroidParts (это мой проект).

0 голосов
/ 09 марта 2012

Некоторое время назад я сравнивал основы ormlite и greendao. Возможно, вы захотите взглянуть там . В ближайшем будущем я планирую написать кое-что о более продвинутых материалах, но пока это только основные вещи. В моем собственном проекте я использую GreenDAO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...