Комментарии 15
Хорошая библиотека. Для IDE NetBeans — Annotation Processors может пригодиться для справки.
0
Все будет хорошо до первого апгрейда схемы базы данных.
+3
эм… ну с обновлениями пока туго — согласен. но часто бывает, что достаточно удалить таблички и пересоздать.
0
а чего сразу минус? :) а по существу — если приложение синкается с сервером, то сохранив креденшелы или аксес токен в перференсы можно спокойно закилить базу и синкнуть ее. конечтно если там не сильно много данных.
например такое точно подходит для всяких там рсс и прочего тонкого клиента.
например такое точно подходит для всяких там рсс и прочего тонкого клиента.
0
Ну не плюс это точно.
А если придумать механизм апдейта схемы, то и загружать ничего не придется.
А если придумать механизм апдейта схемы, то и загружать ничего не придется.
+1
Было бы вообще прекрасно если бы вот эта часть тоже генерировалась, так как то, что сейчас, не лучший вариант
Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
SqlSchema.onDrop(db);
onCreate(db);
}
+1
НЛО прилетело и опубликовало эту надпись здесь
На вид получается сложнее и дольше, чем написать аналогичный SQL руками. В чем смысл?
+1
Почему сложнее? Несколько аннотации и все. На первый взгляд simple view сложное, но один раз попробовав все становится понятным.
-1
Налицо усложненный микро-цикл разработки, который девелопер «прокручивает» несколько раз до получения нужного результата.
А.
— Пишем SQL-код
— Запускаем, видим результат и ошибки
— Повторяем
Б.
— Пишем Java-код с аннотациями (раза в 2 больше по объему)
— Компилируем
— Запускаем
— Берем полученный файл, добавляем в приложение, компилируем
— Запускаем, видим результат и ошибки
— Повторяем
Если в варианте «Б» что-то вышло не так, то придется восстановить в голове обратную цепочку и понять, что же нужно исправить в исходных аннотациях, чтобы получился нужный SQL.
А.
— Пишем SQL-код
— Запускаем, видим результат и ошибки
— Повторяем
Б.
— Пишем Java-код с аннотациями (раза в 2 больше по объему)
— Компилируем
— Запускаем
— Берем полученный файл, добавляем в приложение, компилируем
— Запускаем, видим результат и ошибки
— Повторяем
Если в варианте «Б» что-то вышло не так, то придется восстановить в голове обратную цепочку и понять, что же нужно исправить в исходных аннотациях, чтобы получился нужный SQL.
+1
Стоять.
Вы всеравно пишите описание таблички в интерфейсе или классе. Вам нужны константы с именами полей и таблицы. Все что нужно — это вместо SQL развесить аннотации.
Копировать файлы не надо. Он сгенерится в вашем проэкте в папке gen там где и файлик R.java
Что за пункт «компилируем» в «Б»? Как только вы сохранили изменения — файл перегенерился
Так что никаких лишних степов не будет.
Вы всеравно пишите описание таблички в интерфейсе или классе. Вам нужны константы с именами полей и таблицы. Все что нужно — это вместо SQL развесить аннотации.
Копировать файлы не надо. Он сгенерится в вашем проэкте в папке gen там где и файлик R.java
Что за пункт «компилируем» в «Б»? Как только вы сохранили изменения — файл перегенерился
Так что никаких лишних степов не будет.
-1
Как удалить коммент?
0
Почитал комментарии. «Налицо усложненный микро-цикл», «налицо проблемы». Я использовал эту либу в проекте с более-менее развесистой структурой БД и провайдером. Налицо то, что я потратил 20 минут на то, чтобы описать интерфейсы с аннотациями и после этого получил готовую схему, готовый провайдер с кучей рутины и дополнительных плюшек. И все это получил сразу. Писать руками такой провайдер заняло бы пару часов, а тут он вот, готовый.
С обновлениями проблем особых также не возникало. В процессе разработки вы делаете готовую базу. Потом, когда приложение в продакшне, вы точно так же обновляете описание, и добавляете обновление в onUpdate. При этом, провайдер «пофиксится сам». По сути эта библиотека облегчает Вам процесс создания БД и провайдера. В остальном- полная свобода. Процесс ее обновления остается таким же, как и без нее. Но это не проблема.
И при чем тут ORMLite? Цель этой библиотеки — ускорить и облегчить процесс создания базы, а не навернуть на нее так любимый начинающими «ОРМ это же круто, у нас объекты, а не курсор».
С обновлениями проблем особых также не возникало. В процессе разработки вы делаете готовую базу. Потом, когда приложение в продакшне, вы точно так же обновляете описание, и добавляете обновление в onUpdate. При этом, провайдер «пофиксится сам». По сути эта библиотека облегчает Вам процесс создания БД и провайдера. В остальном- полная свобода. Процесс ее обновления остается таким же, как и без нее. Но это не проблема.
И при чем тут ORMLite? Цель этой библиотеки — ускорить и облегчить процесс создания базы, а не навернуть на нее так любимый начинающими «ОРМ это же круто, у нас объекты, а не курсор».
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
AnnotatedSQL lib — автоматическая генерация базы данных в Android