Anonymous
он лист резултов дает
Anonymous
а с резулта уже вытягивается инфа. с каждого
Aleksandr
проверять версию БД и копировать
подскажешь как это сделать ?
Anonymous
метод класса NewsArr
Dug
подскажешь как это сделать ?
в SQLiteOpenHelper есть метод onUpgrade, который вызывается, когда система обнаруживает при запуске, что DB_VERSION(это примерная переменная, можешь назвать, как хочешь) изменилась.
Dug
и вот в onUpgrade ты совершаешь действия, которые необходимы. А ещё лучше просто погуглить туториал по sqlite. Там будет всё-всё-всё расписано
Anonymous
и как это сделать?
Anonymous
не, как саму обертку сделать?
Aleksandr
в SQLiteOpenHelper есть метод onUpgrade, который вызывается, когда система обнаруживает при запуске, что DB_VERSION(это примерная переменная, можешь назвать, как хочешь) изменилась.
Это понятно. К переменной DB_VERSION я могу дотянуться. Как быть с этой же int переменной случае обновления ? Она же статично прописана. Не изменишь же ее программно в классе ?
Dug
в плане не изменишь? Ты её и менять должен, когда обновляешь что-либо в бд
Aleksandr
в плане не изменишь? Ты её и менять должен, когда обновляешь что-либо в бд
то есть существует приложени с бд №1 —------ выпускаю обновление с DB_VERSION = 2 и готовой бд в Assets. В стартовом классе if ( DB_VERSION == 2 ) { копирую } оно ?
Dug
Но что-то такое, да
Dug
Только позаботьтесь о том, чтобы данные перекопировать тоже.а лучше не копироват заново бд
Dug
А изменять от версии в версии
Aleksandr
да, лучше изменять от версии к версии. Но моя проблема в другом: бд сейчас создается при первом старте приложения путем парсинга xml файлов в ресурсах приложения. Это длится от 10 до 30 секунд, и на Android 6+ иногда этот этап пропускается. В итоге БД пустая есть, а инфы в ней нет
Dug
Меняйте что-то. Потому что 10-30 секунд это слишком жирно
Dug
Даже не слишком, а ЖИРНО
Aleksandr
XmlPullParsing применяю в AsyncTask
Aleksandr
что тут поменять можно ?
Dug
Обязательно должно с xml всё идти?
Dug
Вот вообще никак иначе?
Aleksandr
все эта матата нужна для поиска внутри приложения. То есть в xml заранее прописаны ссылки, а потом через запросы к БД производится поиск
Aleksandr
что придумал, что умел, то и реализовал
Dug
Я фигово сейчас соображаю конечно, но а что если заменить xml на json?
Aleksandr
json быстрее Xml парсится ?
Aleksandr
Да
а csv ?
Roman
а csv ?
Не знаю. Гугли Может тут ещё у тебя в скорости играет роль не только формат, но и структура внутри
Dug
json намного быстрее парсится. А ещё в чем проблема сразу бд с даннымы стартовыми держать в assets?
Aleksandr
json намного быстрее парсится. А ещё в чем проблема сразу бд с даннымы стартовыми держать в assets?
так и хочу сейчас сделать. Уже заранее создал бд, планирую копировать в папку приложения. Появился вопрос работы с версиями
Stanislav
Стоп. Json парсится быстрее CSV? Чо
Pavel
@Binds позволяет связать интерфейс и ревлизацию которую необходимо подсьавить
Sasha
Доброй ночи, ребят) А кто-то знает как в tablayout засунуть меню, подобное тулбаровскому? Я про троеточие возле вкладки
Pavel
Нужно написать метод в духе SomeService provideSomeService(SomeServiceImpl impl);
Pavel
Класс в котором определяется должен быть модулем дагера и плюс кажется обязательно абстрактным
Anonymous
database = Realm.getDefaultInstance. Все время выдает InvalidObject. что не так?
Dug
Для поиска в бд реалм не надо писать begin/end-Transaction, кстати
Artur
Есть ли тут ребята, которые Xposed модули пишут или пробовали?
Anonymous
Для поиска в бд реалм не надо писать begin/end-Transaction, кстати
ну было до этого проще, без бегин эндов, я от безысходности, сейчас трейс скину
Dug
asFlowable кстати вроде бы для вот такого вида выборки и вообще выборки не советуют использовать, т.к. он оне для этого предназначено. Оно для того, чтобы подписываться на изменения объектов в бд, которые вы выбираете. (Читал где-то на медиуме)
Dug
Мб вижу ошибку. Попробуйте copyFromRealm делать в блоке realm.executeTrancaction
Anonymous
сейчас попробую
Dug
Хм, наверное все равно неправильно. executeTransaction для копирования в бд вроде бы. Поздно уже, плохо соображаю
Dug
val user = Realm.getDefaultInstance().use { it.copyFromRealm(it.where(...).findFirst()) }
Dug
Очень грубый пример, но чет такого вида
Anonymous
тут у меня уже в filter попадает Invalid Object заполненый нулами, хотя у меня в nonNull типы в классе указаны
Dug
Покажите класс юзер
Anonymous
Anonymous
Такая была: Only valid managed objects can be copied from Realm И такая: The pending query has not been executed. Сейчас чет вообще не пишет трейс, надо инвалидейт кэш наверное сделать
Dug
Чет странно все это)
Dug
У меня уже утро, я спать. Простите)
kake
споки ноки
Dug
Если что, попробуем разобраться завтра, если никто тут с утреца пораньше не поможет
Dug
споки ноки
Утро доброе
Anonymous
да я тоже пожалуй пойду
Anonymous
спс
Pavel
Т.е реализуется не сам интерфейс непосредственно, а его наследник?
Anonymous
есть активити, внутри активити фрагмент1 с вьюхами, по клику вьюхи фрагмент1 заменяется фрагментом2, когда фрагмент2 на экране и из меню вызвать фрагмент3, который заменяет уже фрагмент2, при нажатии кнопки назад фрагмент3 накладывается на фрагмент1. как это решить?
Anonymous
фрагмент3 остается под фрагментом1 и его видно
Алексей
replace вместо add?
Anonymous
так и стоит
Anonymous
replace вместо add?
когда я на фрагменте3 и нажимаю кнопку назад у меня два фрагмента в состоянии onresume: фрагмент1 и под ним фрагмент3
Anonymous
как отловить нажатие системной кнопки назад в фрагменте?
Roman Ismagilov
https://yandex.ru/search/?text=onbackpressed%20fragment
Anonymous
как отловить нажатие системной кнопки назад в фрагменте?
решил с помощью этой статьи http://rmcreative.ru/blog/post/android-obrabatyvaem-nazhatie-back-v-fragmentakh
Andrey
Привет, кто-нибудь использовал AspectJ под Android?
‍Yap
привет, есть чат по dagger?
Алексей
‍Yap
спасибо)
Gleb
а какие есть варианты что бы с moxy и dagger инжектить в презентер через конструктор, а не поля?
Andrew
а какие есть варианты что бы с moxy и dagger инжектить в презентер через конструктор, а не поля?
инжектить в конструкторе - не совсем правильно с точки зрения архитектуры
Gleb
инжектить в конструкторе - не совсем правильно с точки зрения архитектуры
почему, легче же тестить? и мне наоборот говорили, что инжектить в поля - костыль
Andrew
дело хозяйское
Gleb
тогда можно вернуться к моему вопросу. Это нормальная практика? @Inject @InjectPresenter Presenter presenter; @ProvidePresenter Presenter providePresenter() { return presetner; } @Override public void onCreate(Bundle saveState) { Component.get().inject(this); super.onCreate(); ....