Android Annotations иногда чудеса вытворяет — во-первых, нужно сконфигурировать IDE, во-вторых, иногда eclipse сходит с ума и не видит сгенеренные им классы
это да, налдо руками часто указать source directory. в AS таже беда.
я пытался описать так сказать высокоуровневые библиотеки. которые помогают делать архитектуру.
понятно что есть еще уйма мелких либ которые облегчают жизнь.
Gson — это всего лишь автоматическая сериализация и десириализация из JSON. Это один из вариантов конвертирования ответа сервера в объекты в ретрофит
вот это Class.forName(«net.sourceforge.jtds.jdbc.Driver»); надо делать в статическом блоке инициализации
вверху вашего класса
static{
Class.forName(«net.sourceforge.jtds.jdbc.Driver»);
}
большинство программистов — СПД в Украине и ИП в России, т.е. частный предприниматель. так что трудовой кодекст тут не действует. что написано в договоре то и будет.
можно проимпрувить команды и избавится в RestService от switch
делается просто — объявляете команду как parceble. делаете что бы она умела сохранять свои параметры в parcel.
далее пишете ей метод start — кторый передает ее парсебл оюъект в ваш сервис, а сервис создает ее выполянет метод execute.
метод execute делаете пакетной видимости что бы никто не дернул его.
в коде это как то так
class RestService extends INtentService{
KEY_COMMAND = "KEY_COMMAND"
public void onHandleIntent(Intent intent){
Operation oper = (Operation)intent.getParceble(KEY_COMMAND)
oper.execute();
// handle some errors;
}
}
class Operation{
//call in UI thread
public void start(Contect conext){
Intent intent = new Intent(context, RestService.class);
intent.putExtra(RestService.KEY_COMMAND, this);
context.startService(intent);
}
//call in service
void execute(Context context){
//some actions
}
}
Вы всеравно пишите описание таблички в интерфейсе или классе. Вам нужны константы с именами полей и таблицы. Все что нужно — это вместо SQL развесить аннотации.
Копировать файлы не надо. Он сгенерится в вашем проэкте в папке gen там где и файлик R.java
Что за пункт «компилируем» в «Б»? Как только вы сохранили изменения — файл перегенерился
Первый вариант: Вводим аннотацию version и помечаем поля, но это геморно.
Второй вариант: сравнивать наборы полей таблиц — той что в базе и новой. Так сможем отследить добавление, удаление и изменение типа колонок, но переименование колонки не отследить
У меня не ORM, а чистой воды хелпер.
Сам я не юзал ORMLite, но знакомые говорят, что юзать его с CursorAdapter и контент провайдером не реально. Это так?
а чего сразу минус? :) а по существу — если приложение синкается с сервером, то сохранив креденшелы или аксес токен в перференсы можно спокойно закилить базу и синкнуть ее. конечтно если там не сильно много данных.
например такое точно подходит для всяких там рсс и прочего тонкого клиента.
Мне кажется, что такую штуку можно сделать с помощью адаптера тоже.
Завести два типа вьюх. И если идёт лоадинг то возвращать количество элементов n+1
Ну и первый тип это обычный а второй с лоадингом. Должно сработать.
Я так делал для результатов поиска.
Т.е. сверху строка поиска, а снизу результат. Как только чел набирал текст в поиске, я фильтровал локальную базу и шел в сеть. Что бы показать, что ищем в сети на первой позиции списка выводил лодинг вью
это да, налдо руками часто указать source directory. в AS таже беда.
понятно что есть еще уйма мелких либ которые облегчают жизнь.
Gson — это всего лишь автоматическая сериализация и десириализация из JSON. Это один из вариантов конвертирования ответа сервера в объекты в ретрофит
вверху вашего класса
static{
Class.forName(«net.sourceforge.jtds.jdbc.Driver»);
}
делается просто — объявляете команду как parceble. делаете что бы она умела сохранять свои параметры в parcel.
далее пишете ей метод start — кторый передает ее парсебл оюъект в ваш сервис, а сервис создает ее выполянет метод execute.
метод execute делаете пакетной видимости что бы никто не дернул его.
в коде это как то так
в качестве RequestListener юзаем ResultReceiver
всегда хотел проимпрувить бортовой компьютер авто
Вы всеравно пишите описание таблички в интерфейсе или классе. Вам нужны константы с именами полей и таблицы. Все что нужно — это вместо SQL развесить аннотации.
Копировать файлы не надо. Он сгенерится в вашем проэкте в папке gen там где и файлик R.java
Что за пункт «компилируем» в «Б»? Как только вы сохранили изменения — файл перегенерился
Так что никаких лишних степов не будет.
Первый вариант: Вводим аннотацию version и помечаем поля, но это геморно.
Второй вариант: сравнивать наборы полей таблиц — той что в базе и новой. Так сможем отследить добавление, удаление и изменение типа колонок, но переименование колонки не отследить
Сам я не юзал ORMLite, но знакомые говорят, что юзать его с CursorAdapter и контент провайдером не реально. Это так?
например такое точно подходит для всяких там рсс и прочего тонкого клиента.
Завести два типа вьюх. И если идёт лоадинг то возвращать количество элементов n+1
Ну и первый тип это обычный а второй с лоадингом. Должно сработать.
Я так делал для результатов поиска.
Т.е. сверху строка поиска, а снизу результат. Как только чел набирал текст в поиске, я фильтровал локальную базу и шел в сеть. Что бы показать, что ищем в сети на первой позиции списка выводил лодинг вью
предпросмотр можно оставить.
просто все эти редакторы пытаются делать падинги и маргины в пикселях. а мы ведь знаем, что надо делать в дипах
Для переодичных задач пользуйтес alarm менеджером. Говорите ему что бы кинул вам интент в нужный сервис и выполняете таску.