Уровень данных более высокого уровня для Android?

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

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

http://ormlite.com/sqlite_java_android_orm.shtml

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

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

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

Сахарный сайт

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

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

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

С веб-сайта:

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

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

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

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

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

http://www.rushorm.com/

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

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

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

EDIT: В 2012 году совет будет заключаться в использовании компонента ORM DroidParts (который является моим проектом).

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

Посмотрите на Androrm . Он с открытым исходным кодом и хорошо документирован ( см. Здесь ). Если вы когда-либо работали с django, вы заметите, что синтаксис очень похож.

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

SQLite явно входит в состав Android:

http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html

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

Может быть, http://developer.android.com/reference/android/database/sqlite/SQLiteQueryBuilder.html – это то, что вам нужно?