Вот бы в отпуск съебаться.Предыдущий тред тут:https://2ch.hk/pr/res/750609.htmlКоротко о главном:1) Мобильная разработка - это весело.2) Android Studio & Java - легитимный набор, проверенно временем и поддерживается гуглом.А также о неглавном:3) PhoneGap/Ionic/Titanium/ReactNative - имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити.4) Xamarin - мультиплатформенная разработка. Попытка серебряной пули на C#. Довольно популярный. Куплено Microsoft. Теперь есть бесплатная версия.5) BugVM (RIP RoboVM) - идейный наследник ксамарина, а теперь уже и его часть но на Java. Учитывая что Microsoft убила RoboVM, встречаем опенсорсный BugVM.Отдельного упоминания стоят:1) Kotlin - Java от JetBrains, новый и стильный язык, куча синтаксического сахара прилагается, есть стримы и делегаты. Хотите писать на котлине? Добро пожаловать в JetBrains и Avito.Где брать инфу:Интернет-ресурсы1) http://developer.android.com/index.htmlНаша библия. Документация/небольшие примеры/гайды. Но только на инглише, но это плюс. Минус в том, что это все таки документация с небольшими примерами и гайдами и искать там реализацию чего-то хоть немного сложного нету смысла. Раздел Training как раз для старта.2) http://stackoverflow.com/Пользуюсь чаще чем первым сайтом. Можно найти практически все.3) Есть два вполне вменяемых русскоязычных ресурса. Для старта подходят очень даже.http://startandroid.ru/иhttp://developer.alexanderklimov.ru/android/Второй еще и условно бесплатный. Главный плюс - это русский язык, простые гайдики, но переводы классов иногда заставляют фейспалмить.4) http://habrahabr.ru/ - редко но метко, можно найти годные статьи по каким-то реализациям, или переводы с developer.android. Хотя чего тут объяснять.5) https://www.udacity.com/ - в треде очевидцы говорили что есть годный курс, но я лично не смотрел.Книги, их никто не читает, но все советуют только одну1) The Busy Coder’s Guide to Android Development - в отличии от остальных книг она обновляется, а так как ведро не стоит на месте а хуярит семимильными шагами, то я бы и не советовал другие книги.А теперь, так как заебали уже всех, гайд для:>"Я хуярил на делфи 5 лет назад а теперь хочу вкатится в андроид":Чтоб быстро хоть как-то вникнуть в джаву берешь и гуглишь javarush или codingbat.com.Можно Эккеля "Философия java" почитать.Или Хорстманн "Java. Библиотека профессионала" до 7 главы.Что тебе нужно понять в самой жабе.Энтри лвл.1) ООП - сам принцип нужно именно понять, так как ооп язык.2) Типы данных. Примитивы и ссылочные.3) Структуры данных - Массивы/коллекции - без них никуда. Полезно почитать про алгоритмы работы коллекций и их сложности.4) Дженерик типы, они как раз юзаются в коллекциях.5) Классы/интерфейсы и все вытекающие.Уже можно быдлокодить потихоньку и учить андроид параллельно с тем что ниже.Дальше6) Потоки ввода/вывода (streams). Не путать с тредами(threads).7) Threads, особо не нужно вникать(в java.util.concurrent можно не лезть, в ведре все равно особо не пригодится), но нужно понять как работает многопоточка и что такое Runnable.8) Прочитать про паттерны что-то. Начать с listener, adapter, singleton, iterator так как на каждом шагу. Ну и по накатанной.Уже сделаешь что-то нормальное.Дальше.9) Работа с Sqlite, нужна будет в любом случае.10) Работа с json.Привет клиент-серверка.Пишите в треде что добавить
>>762034Там про запись видео, а в реальном времени можно?Как при отладке приложения через Android Studio.
>>762039 (OP)> Вот бы в отпуск съебаться.Так съебись, в чем проблема?Какого черта это первое предложение шапки? ОП, ты совсем охуел?
>>762046В реальном времени нельзя, только с задержкой.Хочешь в реальном — используй эмулятор.
я пишу под андроид уже третий год, но я все еще не знаю ответа на вопрос: как обрабатывать поворот экрана (пока в фоне идет запрос)?
>>762083Использовать вьюстейт как прослойку между презентером и вьюхой.
>>762064А как можно на эмулятор, Genymotion, например, установить мой .apk минуя Android Stdio? Или скопировать устройство с установленным приложением на другой компьютер с эмулятором?
>>762115Drag'n'drop апкшки в эмуль.
>>762083Тоже около 4 лет, сдается мне что лучше вообще не обрабатывать явно, а использовать нотификации.1) запустил синхронизацию, без сохранения явной ссылки2) крутишь экран, после поворота берешь данные из локально базы (только чтение)3) на onResume подписываешься на нужные оповещения, на onPause отписываешься...4) фоновый процесс записал данные в базу, кинул бродкаст что изменил базу5) в активити/фрагменте/конроллере/вьюмодели ловишь бродкаст и перечитываешь базуТут главное что чтение из базы индемпотентное, те его можно вызвать хоть 100500 раз и в отличие от web запроса оно завершится за короткое время.Вот видосик с последнего Google IO, может он подкинет пищи для размышления: https://www.youtube.com/watch?v=70WqJxymPr8
>>762083rxjava (оператор cache) + loader (или статик поле, ретеин фрагмент, че угодно), так делают чуваки из elegion, мне понравилось
>>762062Лето же. Да и свежих новостей не заметил.
>>762141Есть примеры? А то что-то я хз как ровно подвязать лоадер к пресентеру.
>>762149Да я тоже хз, видимо как хочешь, так и подвязывай
>>762122видосик не понравился, ничего конкретного, просто рекомендации от к.о. смотрел жопойкак быть если бродкаст ушел в момент между отвязкой и привязкой? будет ждать событие которое уже произошло?неужели за столько лет не нашлось более элегантного решения?
>>762155>>762149Хотя не вот вспомнил https://github.com/googlesamples/android-architecture/tree/todo-mvp-loaders/
>>762158Ну так ты на onResume должен не только подписываться, но и делать запрос к базе.Лоаедеры так и работают (может исходники CursorLoader посмотреть).Шо поделаешь, это андроид (на ios/wp страница не разрушается на повороте).Не хочешь ебать мозги - отключай поворот.
>>762172лоадеры подписываются/отписываются в onStart/onStop
>>762180Ну это конечно ничего не меняет, но спс за инфу
>>762118Прикольно. Спасибо за помощь!
>>762172> Не хочешь ебать мозги - отключай поворот. Это не поможет. Кроме смены ориентации есть еще куча других событий config chages.
>>762362И щас к ним прибавится изменение размера окна из-за многооконности.
>>762362> Кроме смены ориентации есть еще куча других событий config chagesПо моему опыту, в конечном итоге на все config-change кроме поворота окна можно забить хуй (типа смены языка).Слишком редко они происходят, в отличие от поворотов, которые могут вызывать config-change каждую секунду.Раньше было мерзкое событие "выдвижeние физической клавиатуры" (motоrola milеston),но такие девайсы не получили распространения и хyй с ними.> изменение размера окна из-за многооконностиСам уже проверял?
>>762398лейауты должны меняться, конечно будет пересоздаваться
>>762398https://medium.com/google-developers/5-tips-for-preparing-for-multi-window-in-android-n-7bed803dda64#.hztmtq4vm> The default case is that your whole activity is destroyed and recreated, restoring any state you saved in onSaveInstanceState() and reloading all of the resources/layouts. This has the nice property that you know everything is consistent with the new configuration and that every type of configuration is handled.
Програмач, помоги. Установил Android Stidio, захотелось поизвращаться, покрутить код на Java и т.д. Но сразу же столкнулся с проблемой дебаггера. Я создал кнопочку, к примеру, на неё повесил обработчик события, чтобы при нажатии в соседнем TextView появлялся текст типа: "Hello, world!". Но когда я изменил код этого самого метода onClick, чтобы она писала другой текст, затем скомпилировал и запустил (запускал я всегда на своём телефоне), то та же самая кнопка писала не новый текст, а всё тот же старый, который я уже давно стёр. В чём проблема? Почему дебаггер так криво работает? Я потом ещё пробовал поменять фоновый цвет приложения, скомпилировал, запустил, и цвет, на удивление, поменялся, а кнопка всё равно работала по-старому. С кнопкой я привёл пример для наглядности. Что я делаю не так, посоны?
Помощь с регистрацией и смс!telegram.me/AndroidChantelegram.me/AndroidChantelegram.me/AndroidChantelegram.me/AndroidChantelegram.me/AndroidChantelegram.me/AndroidChantelegram.me/AndroidChantelegram.me/AndroidChan
>>762398> можно забить хуйТебе в php-тред.
>>762566Зарепортил уёбка.
>>762367> И щас к ним прибавится изменение размера окна из-за многооконности.Поворот экрана это тоже смена размера окна: ширина и высота меняются местами.
>>762172> Не хочешь ебать мозги - отключай поворот.При этом не меняется размер тулбара он меньше в ландшафтной ориентации и максимальное число кнопок в меню. Если второе не очень критично, то первое просто отвратительно с эстетической точки зрения.
>>762692Кстати, на айфонах в 99% приложений есть только портретная ориентация.Там то понимают как всех бесит когда решил прилечь с телефоном, а он экран начинает вращать.> При этом не меняется размер тулбара он меньше в ландшафтной ориентацииНе понял, а зачем он вообще должен менять размер и кол-во кнопок (экран то остается в портретном режими)?Ты что обычно экран поворачиваешь вместо того что бы нажать на троеточие?Вставлять поворот везде просто потому что ты можешь, хотя это внесет доп. сложность и ничего не даст юзеру, не очень умно.
>>762767Не очень умно не понимать то, что нельзя уйти от пересоздания активити, хотя бы потому что сам андроид может убить активити. Плюс если у тебя хоть какое то нормальное приложение, а не твой список дел, который работает без интернета, то у тебя будут разные лейауты для разных размеров. Если ты не хочешь это понимать, то пиздуй в ios, там делается просто 2 разных приложения под телефон и планшет, что пиздец
Ребят, может завалялся у кого пример кода загрузки изображение в альбом или на стенку пользователя vk sdk android?
>>762793У вк же охуительная документация, или ты хочешь, чтобы за тебя сделали?
>>762794Никак нет. Я так понял, что нужно использовать что-то вроде этого, но затрудняюсь реализовать getPhoto. Получается я должен дать путь к изображению в ресурсах моего проекта? Или это все дописывать в поле request.executeWithListener(....) или использовать другие методы из vk api?final Bitmap photo = getPhoto(); VKRequest request = VKApi.uploadWallPhotoRequest(new VKUploadImage(photo, VKImageParameters.jpgImage(0.9f)), 0, 60479154);
>>762790> в ios, там делается просто 2 разных приложения под телефон и планшет, что пиздецУже пару лет как там "по умолчанию" общая верстка для iphone/ipad.> нельзя уйти от пересоздания активитиЕще раз есть частые события (как поворот экрана) и есть редки события (пользователь свернул приложение, открыл настройки, поменял язык, вернулся в наше приложение).Второй пункт можно спокойно пережить и пересоздать активити загрузив все заново (ну если ты не догадался кэш сделать).Я понимаю бушует юношеский максимализм и хочется что-бы все было идеально,но когда работаешь над серьезными проектах пару/тройуку лет - понимаешь что это не так важно,как сделать приложение с минимальной сложностью поддержки и внедрения новых фич.
>>762796В чем твоя проблема? Ты в параметрах одного метода запутался? У тебя же есть VKApi.uploadWallPhotoRequest(File, long, long).
>>762834Проблема getPhoto(), что подразумевается под этим? Да, я похоже даун, ну что-то переклинило. Или мне все это что я писал выше не использовать, а то лишь VKApi.uploadWallPhotoRequest(File, long, long), если да, то как дать ссылку на файл?
>>762837Под этим подразумевается твой способ получения битмапки фото. Но ты можешь использовать и не битмап.
>>762908Я хотел узнать, что он подразумевает в плане реализации. Вот пример кода http://pastebin.com/v6WtTeQA , но я получил ошибку после прохождения авторизации java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=10485, result=-1, data=null} to activity {com.example.molodec.vktest/com.example.molodec.vktest.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat, int, java.io.OutputStream)' on a null object reference
>>762948Ну а хули, ты читать не умеешь? Там же написано что ему нудна не нулевая битмапка, НАЧАЛЬНИК С КЕМ МЕНЯ ПОСАДИЛИ.
>>762955Вообще-то они должны были вставить assert на NULL вначале метода API.Эх, писали бы на котлине, не было бы таких левых ошибок.
>>762965Ну или аннотацию @NotNullable на аргумент метод поставить было можно.
>>762767> Не понял, а зачем он вообще должен менять размер и кол-во кнопок (экран то остается в портретном режими)?Условно числа из головы, в портетной ориениации высота тулбара — 72 dp, максимально помещается 3 иконки. В ландшафтном — 64 dp и 5 иконок. Когда ты поворачиваешь экран, тулбар создается заново и эти параметры обновляются. Если включить обработку смены конфига — они не будут обновляться и высота тулбара будет зависеть от того, в какой ориентации приложение было запущено. Число иконок — тоже.Так понятнее?Хотя я понял, ты предлагаешь отключить автоповорот, записав ориениацию в манифесте, а не включить обработку смены конфига.
>>762965>>762968А чем им ассерт бы помог? Вывалилось бы с точно такой же ошибкой. Чувак должен убедится что битмапка не ноль и не пихать туда и все.
>>762968@NonNull, а аннотации тащат зависимость к appcompat.
>>762813> когда работаешь над серьезными проектах пару/тройуку летну это точно не про тебя максимум списки покупок
>>762955Можно тогда пример как ее нужно было обозначить?
>>762971Чувак, ну это же мувитон для БИБЛИОТЕКИ не проверять аргументы. И исключение было бы понятно даже для даунов ArgumentNullException("Argument photo is null, GFYS faggot");>>762972Есть сторонние библиотеку для @Null/@NotNull (котлин и скорее всего IDEA/AS много чужих поддерживает).Хотя я так подумал это бы не особо то и помогло.
>>762978Больше чем на псевдокод не рассчитывай ок?1) Получить переменную битмапки;2) Проверить что она не null;3) Если не null то начать отправку в ВК;4) Иначе думай в чем проблема, почему null;
>>762965assert на android? really?
>>763042бля ну не добывайся до мелочей, я имел просто проверку на null:if (arg == null) throw new ArgumentNullException("arg");
Посоны где вы купили свои андроид девайсы? Хотел купить нексус 5х но в моей стране гугл магазин не работает. Хочу купить в интернете потому что в магазинах наценка около 200 бачей, так что пусть они идут нахуй
>>763063Nexus5X на Google Play еще по предзаказу, через бандерольку.Но тебе лучше пройти в /mobi/nexus тред.
>>763069Спасибо братан
Двач, привет! У меня вопрос к работающим анонам и фрилансерам.В общем, я сделал для местного новостного агенства( типа того) приложение, похожее на приложуху медузы. Добавил несколько фич с отправкой фото-видео и писем и ещё развлекухи немного. Но за ориентр была взята медуза. Скажи, сколько просить денег за это? Скрины показать не могу, но стиль выдержан заебись(как приложуха хабра). 50к хватит за онли андроид версию? Или просить 50 за андроид + айос портированную? Какие цены вообще на такие вещи?
Бери 50к за андроид версию.Не потому что дорого или дешево, а потому что продавать сразу две версии как-то не солидно. Выглядит как "2 по цене 1"
>>763121а сколько вообще подобные штуки стоят? Мне кажется, что 50 тысяч - это как-то дохуя, но я открыл разные "ПО на заказ" и там вообще чуть ли не в 500к выходит корпоративное говно. Причём сроки там адовые, например, 13-17 недель.Что они там столько времени делают - хуй знает.
>>763125> Что они там столько времени делают - хуй знает.Делают архитектуру например, а не хуяк-хуяк и в продакшн.> 50 тысяч - это как-то дохуяНет, это норм за такое приложение, если ты не индус за еду.
>>763090> Сначала сделал, потом денег проситВопрос уже в том насколько там щедрые дяди.> айос портированную? Как ты на iOS портировал то (или собираешься)?
анасы, поясните за собеседования.спрашивают ли сейчас новомодные rx. dagger, mvp и т.д.я ж старпер, нихуя не знаю из этого реально ли без этой хуйни хотяб тыщ на 130?
>>763175Да, знание асинктаска достаточно для 150к-200к
>>763175За Котлин дают +100k
>>763185ну у меня щас 100, я этого не знаю всего
>>763188Ну молодец, работаешь в быдлоконторе
>>763199лол, работаю кстати в конторе от которой местные аноны кипятком ссут. особенно доставляет читать маняфантазии, дескать вот там охуенно работать
>>763211Похоже на то, что маняфантазии у тебя
>>763211Ссу пока только елегиона и роботов. Но ты вангую работаешь каком-нибудь говнояндексе.
Ловите presenter cache.http://blog.bradcampbell.nz/mvp-presenters-that-survive-configuration-changes-part-1/
>>763175Да, спрашивают. Андроид скатился до уровня, когда появились миллионы фреймворков и нужно все их знать, это был вопрос времени.
>>763218> елегионСраные полуебки, так и не прислали мне мой диплом за их поганый тест.
>>763415Да этот диплом нахуй не нужен, а тест говно ну хоть в офисе гугла побывал
>>763186За Хаскелл дают +300k
>>763415А мне прислали даже в украху.
Ананасы, кто-нибудь под NDK что-нибудь пилил?Какого это?Есть желание и возможность запилить игорь под Андроид, но вот Джаву не знаю.
>>763627Соблаговолите пройти в /dev/Unity тред и перестать отвлекать нас от серьезных беседъhttps://2ch.hk/gd/res/262023.html
>>763635>Как_сделать_клиент_серверку_без_костылей_2016>серьезные беседы>>763627На голом NDK ты далеко не уедешь. Хочешь сосать плюсы - используй Cocos2dx, хочешь сосать жабу - libGDX, хочешь шарпы - Unity
>>763649> как сделать клиент серверку без костылей> все еще нет ответа
Посоны, как в андроид студио найти использования метода?
>>763710А, всё, нашёл. В глаза ебусь
>>763042а что не так с ассертами? вот студия советует ей проверять как вариант
>>763689Это философский вопрос.
>>763718Из релизного кода они будут выкинуты. Раньше так было.http://stackoverflow.com/questions/6176441/how-to-use-assert-in-android
>>763718далвик не понимает их, хз как art
>>763125если с мессенджером и лк - 150+, без - порядка 60-120 в зав-ти от наглости
>>762039 (OP)Сегодня попробовал сделать то приложение, которое мы пилим на фонгапе, сделать на джаве и кончил радугой, годнота лол.
устроился android junior в стартап, что почитать для прокачки скила? паттерны, блох или busy coder сойдет?
>>763994> в стартапЗа еду?
>>763997За 25к.Другой анон.
>>763997нахуй еду, поработав неделю понял что на еде можно сэкономить
>>764005конечно, добрые люди в мусорку обжевки ведь выкидывают, мы ведь программисты под ведро, для нас специально
>>763994какой нормальный стартап будет набирать джуниоров?
>>764002Многовато, я бы больше 15к не дал. А в стартапах вообще принято работать за доширак и обещания процентов от продаж, КОГДА ВСЕ ЗАРАБОТАЕТ.
Вот подкачал я свои скилы в джаве и андройде но опыта коммерческого нету, как искать работу? Во все компании отсылать резюме? Или по компании и ждать ответа? На позицию джунов нет вакансии(
>>764493презентуй себя как мидлакидаешь ссылки на своичужие аппы в стореприписаваешь себе опыт в noname конторефрилансер
>>764523> приписаваешь себе опыт в noname контореДвачую этого комбинатора. "Работал удаленно, было несколько заказчиков, сейчас всех уже не помню, код показать не могу - коммерческая тайна"Если есть свои нормальные проекты (грамотная архитектура, паттерны, тесты, доведены до конца и работают) на github/bitbucket - будет звучать убедительнее. Если есть приложения в Google Play - еще убедительнее (но там надо 25$ за регистрацию вроде).
и у кого это прямо сейчас работает?
>>764538>(грамотная архитектура, паттерны, тесты, доведены до конца и работают)Половина мидлов этого не умеет.
>>764820>>764538Чем определяется джуниор или мидл?
>>764863Опыт работы = знания реальных проектов = практический навык.
>>764923Все равно что-то не то. Можно 3 года на иннер асинктасках все писать.
Аноны, поясните за mosby, какой профит юзать его, а не делать свой mvp с нуля?
>>764935Можно, но смысл ведроида даже не в архитектуре, а в знании костылей. Архитектуру на ариксе можно выучить на неделю.
>>764942> какой профитТо, что не делаешь свой мвп с нуля?
>>764969так я не понимаю, в чем сложность mvp с нуля? И чем этот фреймворк помогает
>>764995А в чем сложность написать свой ретрофит?
В MVP колбеки от вьюх хранятся внутри ViewImpl и вызывают методы презентера?
>>765016короче ладно, ты сам не знаешь, видимо, ещё ни разу не писал ничего по mvp
Котаны, как в google maps работает accuracy circle?Написано, что его радиус равен двум СКО. Но почему он тогда не меняется при движении, когда разброс координат увеличивается?
>>765062Ебанаты, вокруг ебанаты.
>>765059Да.
>>762039 (OP)Поясните за охуительные анимации, куда копать?
Есть таб с галерей картинок которые подгружаются глейдом в ImageView (штук 20 на большом дисплее). При первом переходе на этот таб анимация viewpager'a немного притормаживает. Можно как-то сказать глейду, чтобы он как-то сбалансированно подгрузил видимые картинки при инициализации фрагмента во вьюпейджере?
Кто-нибудь пробовал используя Espresso открывать drawer и кликать по итему ? Никак не вдуплю, хули оно с дефолтными итемами пахать не хочет, добавленными через меню
765438-ананас, заработало с поиском по id-шникам итемов в меню, я доволен
>>765463> >>765438-ананас
К слову, о том же Espresso, ни у кого не возникало сложностей при вводе текста в android.support.v7.widget.SearchView ? Требует, гад такой, android.widget.SearchView...
>>765469Парниша, ты вообще о чем?
Каким образом правильно делать тени вьюхам? Вот растягивающаяся плашка, цвет обводки и задника задаются темой. Обводку/задник делать из шейпов, а тень из 9patch? Elevation это же только lolipop+ да?
Как получить координаты MotionEvent в обход этого? https://code.google.com/p/android/issues/detail?id=72746Есть ли еще способы получения координат нажатия из сервиса?
>>762039 (OP)Как правильнее написать API, которое дергает сервер и возвращает результат? Сделал пока несколько AsyncTask-ов в отдельном package, с setCallback-ами - при onPostExecute, вызывается этот callback. Джавы не знаю, буду рад совету как это делать канонично.
Такая проблема, есть один onClick (выставлен в layout-файле):http://pastebin.com/Ng7QTRAJесли закомментировать блок условия, то всё работает, иначе выдаёт IllegalStateException
аноны, надо сделать такое приложение, где в начале получаю инфу в сплеш скрине и на этом всё. Нормально ли будет хранить ответ в аппликейшене, или есть варианты лучше?
>>765745> IllegalStateExceptionСтактрейс где?
>>765739R E T R O F I T
>>765824http://pastebin.com/WDviMWqNname и password -- строки, объявленные как package-local поля класса. Алсо, эксепшен возникает при любой попытке досупа к ним.
>>765838Caused by: java.lang.NullPointerException at takheer.ru.passworder.LoginActivity.toRegistration(LoginActivity.java:44)И в чем твоя проблема?
>>765812Твое приложение умирает в фоне и пользователь восстанавливает его на внутреннем экране. Что будешь делать?
>>765863>И в чем твоя проблема?Я хочу, чтобы оно работало, а оно не работает. В этом проблема
>>765863Я понял твой вопрос. Моя проблема в том, что я плохо понимаю суть NullPointerException. Создал я два поля, проинициализировал их в onCreate, попытался в других методах эти поля прочитать. Вылез NPE. Предлагаешь тупо обернуть в try-catch?
>>765865сосну хуйца, как лучше сделать?
Ну познакомишься ты такой с девушкой, о чем будешь говорить?Как ты под ведро говно свое пилил?
>>765880> 2016> NullPointerException
>>765883или как насчет передавать везде parceble и сейвить его в бандл, так лучше?
>>765827>R E T R O F I TОхуенно, спасибо.
>>765913> 2016> Kotlin
>>765921Можно еще проверять, если поле с твоими данными занулились, отправлять юзера на сплешскрин.Ну а по хорошему бд конечно или хотя бы файл. Гуглы не советуют использовать бандлы для хранения данных.
>>765944Уноси своего братишку с сладким хлебушком, поехавший.
>>765863>>765880>>765870Просто я дурной и забыл, что формочка для ввода текста это EditText, а не TextView.
Аноны, как правильно хуйнуть вьюпейджер внутрь ресайклвью. Делаю новый адаптер в онбинде, но не сохраняется страница пейджера, если перейти вниз ресайклвью и потом обратно. Как быть?
>>766307Сохранять позицию пейджера для каждого id модели в карте?
>>765913Очередной хипстерский тренд, который никому нахуй не нужен.
>>766342Хипстерский тренд это:ClojureScript + ReactNative, а котлин уже рабочая лошадка.
Посоны, подскажите, как эту парашу еще можно сократить? Я уверен, что тут можно вобще в три строчки ебануть http://pastebin.com/XQsQmBTX
>>766389Сабскрайбера можно определять отдельными action1. Передаешь 2 таких в subscribe и сокращаешь за счет лябдопреобразования.И хули у тебя не через flatMap сделано?
>>766342RX тоже хипстерский тренд, но он взлетел. Котлин тоже может взлететь, но на это ему нужно еще года полтора точно.
>>766394ок, я уже поменял subscribe на flatMap, получилось почти то же самое, но вот насчет того, как сабскрайбера отдельным action сделать вобще не ебу, буду признателен за пояснение, если тебя не затруднит
>>766402я напиздел, нихуя с flatMap не получилось, cyclic inference выдало и нахуй меня послало
>>766368Твоя рабочая лошадка хотя бы в 2-3 процентах коммерческих приложений используется?
>>766423> В сторе >1kk приложения, > языку меньше год, сам то как думаешь?Тем более никто не будет переписывать коммерческое приложение с 0 на другом языке.
Аноны, а как сделать скроллбар толстым, чтобы им можно было прокручивать список? Как в стандартном приложении "контакты" или как в dashchan.
Сабскрайбы на топики пушей работают независимо? Т.е. я могу подписаться на топик не запрашивая токен, просто вызвав FirebaseMessaging.subscribe?
>>765593Юзай cardview, там есть elevation. Просто любую вьюху оборачиваешь в кардвью, сам так делаю, зависимость есть, брат жив.>>766449Не совсем понял, но если понял правильно, то гугли scrollbar styling.
>>766855Я думаю он про то, как сделать что бы по этому бару можно было быстро скролить, как в adobe pdr reader'e например. Или в контактной книжке по буквам.
>>766909> Или в контактной книжке по буквамhttps://github.com/krimin-killr21/MaterialScrollBarВот например.
>>766920Надо будет поковырять что бы для всего можно было применять.
Уважаемые синьоры, пишет вам >>766389 -кун, я переделал (с горем пополам) на флет мапы, но возникла проблема http://pastebin.com/rT0280mW как сделать, чтобы foo было доступно оттуда, где мне надо взять его айдишник и засунуть в новый объект?
>>767070Во flatMap вторым аргументом можно передать функцию агрегатор, которая должна либо запихнуть bar в foo (или наоборот), или составить из них Pair<Foo,Bar>.
>>767141 Спасибо, анон, читал об этом, но как-то не доходило, что нужный мне айдишник можно просто подсунуть в объект который пойдет дальше, а пары составлять уж совсем не хотелось.
Аноны есть кардвью и внутри неё вьюпейджер http://pastebin.com/9wMb07fj Если ставлю онкликлистенер на карточку, то она кликается, если не задан адаптер у вьюпейджера, иначе итем вьюпейджера, как бы перекрывает карточку, как мне обрабатывать клик по карточке?
Суп ребят! я воооооооооооообще не могу в java и учить её мне страшно со строк паблик класс майн активити Майн кококок.кококо{ Но я слышал о NDK и наслышан что телефонки умеют попиленый openGL с шейдерами и ништяками.
>>767251вопрос забыл Чё мне почитать?
>>767253«Триумфальную арку» Ремарка
>>767285че ты вот зеленишь? я достаточно хорошо умею cpp и GLSL но на пеки. что по ndk и gles в одной связочке есть?
>>767315пройди плиз в /gamedev/ или c++ тред, тебе здесь не помогут
>>767355а что вы тут тогда обсуждаете?я нюфа у вас
>>767462«Триумфальную арку» Ремарка
Короче пацаны! Решил запилить примитивную приложуху что то на подобе справочника. На первом экране список всякой ебалы. При тапе на элементе списка вызывается второе активити с более детальным описанием и видюшкой из ютуба. Вопрос вот в чем: предполагается, что данных будет много, поэтому каким способом лучше хранить данные, на СД карте или как то через БД?
>>767471Много — это сколько?Данные — это в что и в каком формате?
>>767475Около 500 записей.Все в текстовом виде, только видосик с ютуба отличается. Ну мб еще какая то картиночка в пункте списка
>>767482Пиши в БД.
>>767486Окей, спс. Сажа то зачем?
Парни. опытные разрабы. Подскажите, как грамотно распланировать задачи? Я пилю приложуху, но всё происходит как-то без плана. Есть план того, как приложение должно выглядеть. С чего надо начинать? Вот смотрите. Там будет сплэшскрин.Потом открывается спарсенные заголовки.По клику на эти заголовки открывается статья. Сверху над заголовками есть кнопка, которая показывает другие жанры(переход на новую активити). Так вот. Я сначала запилил заголовки, а потом опомился, что нужно делать сплэшскрин. в итоге два часа мозгоебли только с переносом строчек и копипастой. Это меня выбесило и я снёс к хуям весь проект ,потому что запутался. Не могу работать, когда не понимаю, что и где лежит и всё перепутано. Как быть?
>>767589А что, добавить новую активити для сплешскрина и установить для неё интент фильтр - не вариант?
>>767592запутался, говорю ж(
>>767589> Это меня выбесило и я снёс к хуям весь проект ,потому что запутался. Не могу работать, когда не понимаю, что и где лежит и всё перепутано. Проиграл. Но все же ты продержался дольше чем многие другие. Тебя еще ждет замечательный мир несортируемых по папкам лейаутов и дроваблов.
>>767589https://ru.wikipedia.org/wiki/GitНаучись делать бранчи, теги, планировать изменения по коммитам.В итоге сможешь откатывать на любой пред. стадию и экспериментировать с фичами не боясь зафакапить наработки.
>>766855Спасибо.
>>767172Бамп
>>767595до этого я делал рабочую приложуху, всё было хорошо и результат заказчка устроил. но меня не устроила эта богомерзкая мусорка в папках и подпапках. Ты просто не можешь представить себе, Анон, как я ненавижу, когда всё разбросано в хуевых непонятных местах. Ненавижу блять
>>767683Слушай клики в айтемах вьюпейджера, прокидывай выше.
>>767315>я достаточно хорошо умею cppЕсли Java тебя напугала - то недостаточно хорошо.
>>767687> как я ненавижу, когда всё разбросано в хуевых непонятных местах. Кстати, никто не встречал сервиса что бы перегнать PNG (xxxhdpi) -> Vector Drawable?Заебали эти подпапки под разные разрешения, сил уже нет.
>>767688Ну это костыль, я уверен, что можно пофиксить
Напишите пожалуйста в каком городе/сколько получаете, и какие приложения пилите.Пилю сейчас одно приложение в софтверной компании, которая вообще не занимается написанием приложений для конченого пользователя, отлично знаю что это приложение не отобьет мою зарплату, лол.
>>767794Мск. Корпоративные приложения. 250к
>>767794Может, у тебя какое-то приложение по заказу от какого-нибудь банка, например, и им похуй на окупаемость, лишь бы отчётность была?
>>767794С какого хуя я тебе это писать должен...
>>767794Мухосранск-миллионник. Разные приложения на заказ. 120к
Вопрос по асинктаску. Только не начинайте.Адекватно ли, если результат какой-то сложный или несколько разных, присваивать это в приватные поля таска и в онПостЭкзикют доступаться вместо жирного дженерика?
>>767864Алсо, я запятые правильно расставил?
>>767864>>767869Вы здесь что, ангельчане? Вот и уёбывайте в своё Чикаго.
>>767882Не попал по пехтонотреду, не серчайте.
Вопрос по асинкзадаче. Только не начинайте.Адекватно ли, если результат какой-то сложный или несколько разных, присваивать это в частные поля задачи и в наПослеВыполнения доступаться вместо жирной конструкции обобщения?
>>767690ну в цпп не видел овер 120 символов в строке. пиздец напугало
>>767948В хорошем жабокоде тоже не увидишь.
>>767960стандартный конструктор апки андройд ебашит кучей страшных овер9000 символов строк. Это типо мне не надо?
>>767965Выражайся нормально, я тебя не понял в полном объеме. особенно эту часть: "кучей страшных овер9000 символов строк"Да конструкторы вьюшек в андроиде большие, но андроид это один большой костыль. А насчет сигнатуры метода - ставишь перенос стоки после запятой и все, теперь строка не 120 символов а 80, все по канону.
Сап ведрач! Меня забанили на Гугле и теперь один вопрос не даёт мне покоя.Можно ли из приложения менять приоритет выполнения остальных программ или даже заставить систему схибернейтить их на время выполнения моего важного приложения? Или не стоит вскрывать эту тему?
>>767982Все что угодно, с рут доступом.
>>767982Любое foreground приложение имеет более высокий приоритет выполнения.
ну ладно.. с андройдами ты меня успокоил. то-есть мой план -- подучить java.. собрать конструкторец GL и на NDK в стандартные функции GL конторах
>>768040ссоре не туда вставил конторах..хотел сказать описываю на NDK геймплей
Самая популярная хуитка на андроидах и никто не ответит? >>767864
>>767864Нет.
>>768091Почему?
>>768079Популярные они были во времена 1.6, сейчас все на RX
>>768092Не слишком ли много вопросов на сегодня?
>>768116Че сагаешь меня? Просто хочу знать чем это плохо (помимо самого асинктаска).
Retrofit (2.0.2) + gzip делали? Везде пишут, что при подсовывании okhttp, он сам разруливает и добавляет в accept-encoding gzip. Но логи говорят о том (logging-interceptor), что нихуя он не добавляет. Я забыл что-то включить, или все-таки надо собственный интерсептор для всего этого писать?
>>762039 (OP)Аноны, у меня есть фрагмент с вьюпейджером, страницу вьюпейджера пишу в бандл, когда перехожу в другой фрагмент из этого и возвращаюсь вьюпейджер становится на первую страницу, при перевороте всё ок
>>768192как собственно сделать, чтобы при возвращении из другого фрагмента там была та же страница, что и раньше?
>>768195Делай через активити
>>768200нету другого выхода?
>>768192Если никто не ответит, я завтра вечером из интереса попробую тоже.
>>768192А как ты заменяешь фрагменты? Если каждый раз делаешь новый фрагмент и реплейсишь, то конечно не будет ничего запоминаться. Попробуй вместо этого записывать фрагмент под конкретным тагом и в случае реплейса делать fragmentManager.findFragmentByTag() и делать новый только если старого не существует. Если не получится, то FragmentInteraction.replace делать fragmentinteraction.detach+attach.
>>768277>то FragmentInteraction.replace делать fragmentinteraction.detach+attach. то вместо FragmentInteraction.replace попробуй делать fragmentinteraction.detach+attach.
>>768277при возврате делаю popBackStack()
>>768147> при подсовывании okhttp, он сам разруливает и добавляет в accept-encoding gzip. > Но логи говорят о том (logging-interceptor), что нихуя он не добавляетТы куда-то не туда смотришь (или твои логи показывают не все).Вот обычный OkHttp 3.2.0 и GitHub API - из запросе и в ответе прописывается gzip.
>>768477А с rx адаптером добавляет?
>>768518> А с rx адаптером добавляет?Не понятно как это должно влиять, ведь это разные уровни абстракции.Но в любом случае проверил - добавляет.
как в сраном d.android.com поставить англ язык, и что бы он бляц автоматом не ставился в рус? как же меня бесит эта хуйня
>>768554Попробуй куки очисть и зайти заново на сайт, по идее он должен показать диалог с выбора языка по умолчанию.
>>768079>Самая популярная хуитка на андроидах>асинктасклол
>>768572Нуу.. она популярна.
>>768581ахахаха
Какие требования для миддла?
>>768595Знать и уметь асинктаск.
>>768596>асинктаскахахаха, лол
>>765863> package tahreer.ru.passworderТы новенький?
>>767794700к сити, клиент-серверное приложение, 15к
>>768192мб сохранить текущую позицию вьюпейджера и засетать при резюме?
>>768637Ну я теперь храню страницы в переменной класса и подставляю её во вьюпейджер, вроде всё работает
Во фрагменте, который setRetainInstance(true), качаю видосики с дропбокса с помощью dropboxAPI+rxjava. subscribeOn в новом потоке. Зачем кешировать обсервер, и отписывать/подписывать перед/после поворота? Запрос и без этого не прерывается. Ведь я правильно понимаю: тк объект фрагмента не уничтожается-->новый поток который мы вызвали тоже не прерывается. В onCompleted с UI нет никаких взаимодействий.Поворот обрабатываю не в ручную офк.
>>768678Стоит в сервис с нотификашкой вынести, так как грохнет кто-то твою активити и видосик не скачается, ставлю 1 звезду.
Сеньоры, это норм, что при тыкании моего приложения оно разрастается до 55-60мб, а при инициации gc в студии оно становится сначала 32, а потом опять при инициации 22, это мой быдлокод или всё ок?
>>768773не ок.
>>768777почему?
>>768773А мне кажется все ок, если ты конечно не ловишь OME, возможно стоит добавить всяких освобождений в onTrimMemory
>>768773Какое у тебя разрешение экрана и сколько всего памяти на устройстве?
>>7688001280x720 1 Гб И да, в приложении много картинок, юзаю Picasso
>>768802В onDestroy (не очень много смысла) или onTrimMemory (а тут уже больше смысла, лови кейз TRIM_MEMORY_UI_HIDDEN) своей активити и чисти кеш картинок. http://stackoverflow.com/questions/22016382/invalidate-cache-in-picasso
>>768808спасибо, но я думаю пока не приложение не падает, оставлю так
>>768826>не приложениеОговорки по Фрейду.)))....)
Приветик. Я тут хочу написать приложение, но останавливает отсутствие вменяемой java-библиотеки для существенной части функционала. Конкретно - парсинг abc-нотации и генерация изображения с нотами. Нашел однако примерно то, что мне надо на js - https://github.com/paulrosen/abcjs . Эта библиотека делает все что мне нужно, но заточена она под веб, svg выплевывается в dom-элемент. Есть ли способы как-то засунуть все это в андроид-приложение? Т.е. загружаем библиотеку в какой-нить javax.script , выполняем, это все я себе еще более менее представляю, но вот как перехватить svg изображение и например передать во вьюху, м?
>>768869WebView, там все удобно.
>>768919Смешно.
>>768922Кто тут шутит — пишешь html+js в ассетах, загружаешь в WebView и пишешь @JavascriptInterface
>>768934Потом удивляешь, почему всё работает через жопу и жутко медленно.
Как сделать, чтобы при скролле вьюшки в коллапсинг туллбар лейауте становились прозрачными взависимости от положения скролла?
>>768958У апбарлейаута есть листнер на скролл.
>>768958коллапсинг тулбаре можно детектить отхождение, высчитывай процент и твори
>>769013>>769048А там на всех девайсах будет одинаковое значание в лисинерах?
>>769075Нет, там оффсет отдается в пикселях.
>>768947Ой все, у меня на трехлетнем теле летит приложение с такой вьюхой, и норм.
AccountManager еще используется или он как AsyncTask? Как вы вообще по-пацански делаете аутентификацию юзера, и сохранение токена?
>>769223Я бы предложил OAuth2 и хранение токена в дефолтном KeyStore андроида.
>>769223Конечно используется. И именно его и нужно использовать.
А можно сделать чтобы диалог (Dialog()) не блочил активити? В смысле если я нажал куда-то помимо окна диалога, ивент дошел бы до нижележащей активити.
>>768773> Сеньорысеньеров полон тред
>>769403делаю свою вьюшку в активити с полупрозрачным бэкграундом
Сап, делал я значит список с автоподрузкой и тут опана:Caused by: rx.exceptions.OnErrorNotImplementedException: Only the original thread that created a view hierarchy can touch its views.Код добавления элементов:public static void fake_loadNewsUsingAdapter(int position, SimpleBindableAdapter<NewsItem> adapter, String lorem) { /NewsItemObservableEmulator.getFakeNews(lorem) .subscribeOn(AndroidSchedulers.mainThread()) .observeOn(Schedulers.io()) .flatMap(newsItems -> Observable.from(newsItems.getNews())) .subscribe(newsItem -> adapter.add(new NewsItem(newsItem.getTitle(), newsItem.getDescription())), e -> {e.printStackTrace(); adapter.setItemsLoading(false);}, () -> adapter.setItemsLoading(false));/ NewsItemObservableEmulator.getFakeNews(lorem) .subscribeOn(AndroidSchedulers.mainThread()) .observeOn(Schedulers.io()) .map(newsApiObject1 -> newsApiObject1.getNews()) .map(newsApiItems1 -> translateFromApiDataToNormal(newsApiItems1)) .subscribe(newsItems -> {adapter.addAll(newsItems); adapter.setItemsLoading(false);}); }что то, что закомменчено, что то, что не закомменчено вызывает эту ошибку. Что собсна с ней делать ? При этом если добавить в onError что-нибудь типа e -> e.printStackTrace(); то будет выскакивать такая ошибка только на первом элементе из "порции", да притом не со 100% шансом. Почему эта фигня вообще происходит и как ее исправить ? Подумываю вот увеличить расстояние до конца подруженной части списка после прохождения дальше которого инициируется подгрузка
>>769554Пардон, звездочки бли зверско скушаны, очевидно перед NewItemObservableEmulator и после setItemsLoading(false)); должны стоять звездочки
>>769554упс, то я дурак, .subscribeOn(AndroidSchedulers.mainThread()) нужно юзать , а не .observeOn(AndroidSchedulers.mainThread()) ;Придумали же епт, названия
>>769559> subscribeOn сетевой запрос на главный потокРазберись с этими операторами полностью, ты опять делаешь не так.
>>769403С точки зрения UX, так делать не стоит.
Сап, братишки, нужна ваша помощь.Нужно мне сделать приложение, которое будет хранить пару конкретных файлов в облаке. Т.е. по нажатию кнопки загружать их на какой-нибудь гугл драйв и потом скачивать обратно.Как это можно сделать?Сейчас разбираюсь с драйв api, но как-то все мутно, не до конца понимаю как все работает. Получается, что я могу только создать файл в облаке, а потом побайтово скопировать содержимое своего файла туда, все правильно понял? И можно это делать не только для .txt, а для любых форматов?
Аноны как сделать, чтобы кнопка меняла иконку после нажатия, а то сейчас я это в коде делаю
>>769812Firebase storage для файлов, а ссылки на файлы хранишь в Firebase database.
>>769824Toogle button как вариант.
Как гуглить туториал про просмотр картинок, как в вк или других приложениях, т.е. когда картинку можно смахнуть вверх или вниз и она вернется на свое место?
>>769862Открываешь код вк или чего-то там и смотришь. Названия пакетов не обфусфируются полностью, если атм какая-то либа нагуглишь по ней, иначе посмотришь принцип.
>>769834>Firebase sterageЭто ведь не бесплатно?Через drive никак не получится?
>>769876Я думаю тебе 1 гб бесплатной версии хватит.
>>769882Боюсь, что может и не хватить много пользователейЕсть помимо офф сайта годные туторы как с этой firebase работать?
>>769834Зачем использовать датабазу? Одного сторадж недостаточно?
>>769882Расскажи там 1 GB на всех юзеров или на каждого?Если на всех, то как там разруливать кому какие данные принадлежат?
>>769901>>769904Firebase storage не может в списки файлов, только доступ по названиям. Для этого у нужен database, чтобы запоминать, у какого юзера какие файлы есть.Разруливание прав происходит через firebase auth и правила описываемые в storage.5 GB на всех. Но если мало, то google drive офк.
>>769907>5 GB на всех. Но если мало, то google drive офк.И это возвращает меня к предыдущему вопросу:>Получается, что я могу только создать файл в облаке, а потом побайтово скопировать содержимое своего файла туда, все правильно понял? >И можно это делать не только для .txt, а для любых форматов?
>>769912А как ты хотел? Ты скачиваешь файл побайтово и выгружаешь в облако тоже побайтово. Другое дело, что в sdk может быть обертка, в которую можно запихнуть io.File, и она сделает все сама.Можно для любых форматов.
>>768947На виндофоне, да ни к ночи будет он помянут, треть программ написаны на html + js, никаких лагов.
>>769916А что лучше под это использовать? Google Drive Api for Android или Google Drive REST Api?
>>769925Это там калькулятор даже на десктопе стартует по 10 сек.Недавно увидел это в живую охуел, сам то на маке сижу.
>>769916>Можно для любых форматов.А как эти любые форматы запилить?Файл создается через MetadataChangeSet.Builder(), там есть .setMimeType("") куда нужно пихнуть тип файла. Список типов вот https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_MIME-%D1%82%D0%B8%D0%BF%D0%BE%D0%B2 - он достаточно ограничен.Можно это как-нибудь обойти?
>>769958Есть такая штукаMimeTypeMap.getSingleton().getMimeTypeFromExtensionЕсли она вернет null, ты можешь попробовать задать application/x-binary.>>769933Ну, я бы в первую очередь все-таки попробовал Api for Android, чем самому писать все запросы.Да и я вообще с Drive не работал.
Как у меня бомбит от того, что нет толковых туторов о том, как юзать этот сраный драйв апи.Документация какая-то кривая, на стековерфлоу все жалуются на баги. Нахер так жить?
>>769560хер его знает, ui не фризит, не ругается, сам был удивлен
Антош, у меня org.junit.Assert.fail прерывает тестирование и остальные тесты не проходят. Как сообщать в тесте о том что этот тест не прошел, но не прерывать все тестирование? JUnit 4.12
>>770212test { abortOnErrors = false}
>>770217Куда это пихать? Запихнул в build.gradle он говорит что "Gradle DSL method not found: 'test()'"
Не анимирует последние of type виджеты внутри PreferenceFragment. На эмуляторе nexus7 api22 тоже. Что-то очевидное упускаю? В чем может быть дело?SettingsActivity.java http://pastebin.com/7QKSmc3ypreferences.xml http://pastebin.com/kFJCcrwRactivity_settings.xml http://pastebin.com/rBg10mz3
>>770233> android.preference.PreferenceFragmentv7, v14 тоже не работают? Да и в них вроде материал дизайн завезли.
>>770280Спасибо, с v14 заработало (v7 не смотрел). А что не так со стандартным может быть, не представляешь?
https://www.youtube.com/watch?v=jl1HRiCaAP4Эти ребята прямо про меня рассказывают, готов подписаться под каждым словом.TL;DSSOLID + Kotin + Reactive programming = Рулят
Аноны, почему может не вызываться onDestroy у фрагмента, после инициации gc, этого фрагмента уже нет на экране офк?
>>770325Код где? К чему мне твой треп на пол часа.
>>770358Он застрял во фрагмент менеджере. addToBackStack например. onDestoy вызывается не из-за сборщика мусора, его вручную вызывает фрагмент менеджер же, не?
Такс, котаны.Есть foreground сервис в котором находится объект-БТконтроллер внутри которого крутится обмен данными с Bluetooth LE устройством.В активити биндится сервис и таким образом через ссылку на сервис любые фрагменты, наследованные от BaseFragment получают ссылку на БТконтроллер.Проблема в том, что эта сцука, БТконтроллер не зануляется при уничтожении нахуй, всего. И сервиса и активити.Что с этим делать?
>>770367> Код где?Какой тебе еще код?.. думаешь так просто "слез с фрагментов точеных, запрыгнул на flow дроченый".Нет, няш, тут думать надо над чистой архитектурой и правильно разделять UI на custom views.Еще кстати хорошая идея выноса чистого Java/Kotlin код в отдельный модуль без Android API зависимостей.Вообще очевидные вещи раскатывают, один хрен года за 3 до этого доходишь сам.
>>770373ЕЛКИ ПАЛКИ!Ссылка на сервис была с модификатором static.
Сколько будет жить отдельный поток вызванный из приложения, если юзер закроет его нажимая кнопку назад, а не через swipe task? До тех пор пока не завершит свою работу? Или это нихуя не безопасно и система может грохнуть его в любой момент?
>>762039 (OP)Какого хуя LeakCanary не работает? Просто ничего не происходит, юзал её месяца два назад, она постоянно брала дамп и анализировала его, щас нихуя
Имеет ли смысл искать альтернативу localbroadcast, если объемы передаваемых данных примерно такие: каждые 2 сек 2-3 интента суммарно с 60 байт extra. Всего 10 типов интентов?
>>770486ПРОФАЙЛЕРОМ померь
>>770325Говно рассказывают.> SOLID + Kotin + Reactive programming = РулятЭто и так очевидно.
Есть ли библиотеки с каким-либо новостным api? Нужно для тестового задания, в списке у каждой новости должны присутствовать дата, изображение, заголовок (примерно как на пике). При выборе новости - подробное описание, фото- и/или видео-галерея.Уже собираюсь реализовывать через парсинг RSS. Вопрос только в том какой именно новостной сервис использовать, чтобы был весь вышеперечисленный контент. Что посоветуешь, Анон?
>>770507> Kotin> Это и так очевидно.Не всемКстати, это "полный жизненный цикл фрагмента" (пикрил) еще на Google IO показывали.https://www.youtube.com/watch?v=k3IT-IJ0J98 (╯°□°)╯︵ ┻━┻ Видео с IO дает как-раз лишний повод задуматься о том что фрагменты зачастую избыточны.
>>770516Retrofit + SimpleXMLConverter + http://pojo.sodhanalibrary.com (что-бы сгененировать JAVA классы из XML) + Picaso/Volley/Glide (для картинок)
>>770685Спасибо, но это и так понятно, а вопрос>какой именно новостной сервис использовать, чтобы был весь вышеперечисленный контент.
>>770791Ну если ты в /pr/ пришул с таким вопросом, то очевидно чтоhttp://www.gay.ru/news/rainbow/rss.xml
>>770807title, pubDate, description это не все что надо, должна же быть еще картинка, потом подробное описание и фото/видео галерея
>>770976Няшь, тебе сюда https://2ch.hk/b/
>>770976Создай сам, захости на firebase свой xml и не еби мозги с хуйней, никто тебе здесь не будет искать rss.
https://youtrack.jetbrains.com/issue/KT-12015Эй котлиноблядь, они там че объебались? Как я блять без бандлов буду?
Посоны, как такую вьюху запилить? Все пнгшки есть, но если их кидать даже на Relative Layout, то с кнопками, которые указывают по диагонали получается проеб
>>771104Рисуй на канвасе повернутые битмапки, обрабатывай onTouch всей вьюшки. Или сделай прямоугольные кнопки которые друг на друга накладываются, но это может привести к хуите.
>>771150Спасибо, анон. Я думал может есть способ попроще без изъебов, но видимо нет.
>>771155Увы.
>>771083Ну так нафиг ты юзаешь EAP, у меня на 1.0.2-1 все OKБудешь обзываться, не буду отвечать.>>771104На Android 4.1 (скорее всего) и выше можно что-то похоже сделать через: ViewGroup + View.setRotationКод: http://pastebin.com/uHaUGcXs
>>771210Я использовал 1.0.2 это разве early?
>>770991кстати, а как в firebase просто сделать запрос за данными, без взякой хуйни типо подписка на изменения
>>771210>>771192Пиздец я даун, посоны, тут в 5 строк это все сделалось.
>>771210> Будешь обзываться, не буду отвечать.Пиздец неженка, смотрите ка, на анонимной борде слегка его оскорбили.
>>771246Ну вот ты отрисовал с помощью поворотов, теперь лови клики. Ах да, твои нажатия не выглядят по человечески. Нет красивой анимации нажатия.
>>771321Я пока их еще не начал делать, но смотри как я думаю. Я по нажатию буду делать invalidate и запоминать координату нажатия, потом я по координате определю куда юзер ткнул и уже в onDraw буду подменять битмап на нужный в определенный момент, как-то так. А когда юзер уберет палец с экрана снова перерисую, только все битмапы одинаковыми будут. Как-то так.
>>771344Да, по другому никак, сделаешь xml аттрибуты для нажатой битмапки и не нажатой, будет норм.
Можно в студии быстро прыгнуть к android.R ресурсу? Типа курсор на android.R.layout.somelayout, ctrl+key -> открылся иксемель.
>>771244Есть метод что-то типа requestSingle, который отписывается после первого вызова.Я тебе про firebase hosting говорил, заливаешь xml/json/любое говно и выкачиваешь по прямой ссылке в приложение.
>>771729На маке cmd+клик по имени ресурса. На винде возможно через ctrl.
>>771747А, точно. Меня просто иногда кидает на сгенерированный R класс. Например v7.preference.R.layout.preference xml можно найти в ресурсах, но студия не понимает. Это как-то фиксится?
почему setImageBitmap(null) не работает на android 5.0+ ?(память не вычищяется)
>>771763Иди гугли "как работает Java GC"
>>771210Ангел?
Писать на Qt на ведре не зашквар? Maemo-dev ITT
>>771821Писать под ведро вообще зашквар, независимо от того, как писать.
>>771826Толстяк в треде, все в инкапсуляцию.
>>771782да там вообще не вычищается, или что я там должен вычитать про GC что в лолипопе он не работает?
>>770325что ты несёшь кретин? При чем тут SOLID?Давай, расскажи мне про OCP,LSP,ISP.Как у тебя это всё реализуется. Каких-то базвордов понахвотался, шёл бы ты отсюда.PS А чё, Java+SOLID не рулит?
>>770422Короче ты кретин.Любое говно + SOLID рулит.А ты дегенерат который котлину приписывает вещи которые были придуманы за 20 лет до него
>>771960 >>771961
Таки в итоге я допер, что при триггере onPause activity не рушится, но по какой-то неведомой причине умирают массово view-шки, прикрепленные flow. Решение как два пальца - брать и отлавливать при onPause все состояния дочек view, ждать onResume и после ВНЕЗАПНОЙ (и неадекватной) попытки KeyChanger-а пересоздать текущий view, передаем в нее лежащие в Activity данные. Ура, товарисщи, теперь проблем-то с Flow и не осталось :D
>>771899Ни разу не толстота же.
>>772199Ну раз пришел, ответь как на вопросы:1) что там mvc/mpv/mvvm?2) что там с поворотами?3) есть ли там какой-то аналог биндинга (как в mvvm)?
>>7722121) Я делаю по mvp все, и мне более чем нравится. Для mvvm извольте юзать data-binding или что-либо наподобие, ибо у этой либы цель вообще иная.2) Не смотрел, но коли могу манипулировать State-ами вьюх, то и повороты обрабатывать не то чтобы сложно было. Если интересно - могу завтра попробовать и отписать.3) см п1. Хочешь связывание - используй другие библиотеки, эта сделана не для того, чтобы биндить данные.
>>772212P.S. Но только учти, что будет очень непривычно :)
>>772220Кудани (на pastbin) пример идиоматичного презентера и вьющки
>>772247Если не возражаешь - завтра, я просто уже посидел часиков 10 в кафе за компом и у меня рвотный рефлекс на создание вьюх ^_^
>>772250OK, заодно и про повороты выясни :)
>>772254заметано
Погромисты, вы же понимаете, что рыночек с каждым годом будет решать все жестче, конкруенции будет все больше. Перспектива проработать до 40 за еду становится все реальнее, а после 40 вы будете никому не нужны. Тем временем ванька ерохин, который в 18 отучился, скажем, на юризда, в 40 будет уже примерно майором полиции с двумя фокусами в кредит, квартиркой от государства и еще одной в ипотеку, которую он будет в состоянии оплатить, не отдавая последний носок банку. Плюс, поездки за границу раз в год с семьей. Не будет ли у вас ощущения, что свернули вы не туда?
Андроиданы, в приложении нужна функция перевода с одного языка на другой. Где можно взять годный переводчик? Бегло порылся в google.translate API, он вроде присобачивается только к сайтам для перевода оных. Есть какие-нибудь встраиваемые базы, которые можно использовать в своих приложениях? Онлайн/оффлайн не так важно, главное достаточная гибкость и уже не готовое отдельное приложение.
>>772319Как порешает тогда и приходи.
>>772344> он вроде присобачивается только к сайтам для перевода оныхhttps://cloud.google.com/translate/v2/translating-text-with-rest#translating-a-single-string
>>772319да вот нихуя, приложения в цене только растут, пряморуких кодеров все меньше и меньше, спрос на услуги все больше и больше ( живу в ДС, опыт - год, работу предлагали трижды, сейчас на аутсорсе в веб-студии, средняя цена проекта ios + android + backend - 300-450к )
>>772367Спасибо. Вероятно что-то пропустил, пойду перечитаю более вдумчиво.
>>771969Я с ним отчасти согласен.Ладно бы были трюки с делегатами, дак нихуя этого нету. А так однохуйственно что ваши вары/валы, что свойства класса из коробки.
>>772398Да и багов однохуйственно
>>772319Ну это относится ко всему ИТ.Но когда вижу какие рахиты входят в ит то немного успокаиваюсь. Они никак не повлияют и не задемпингуют мой ценник, ибо они не могут сделать то что я. Да и советую смотреть на индусов, они самые дешевые, но с ними работают один раз, первый и последний.
>>772400Что?
Статья для новичков про архитектуру MVP и сохранение презентера при повороте экрана.https://github.com/konmik/konmik.github.io/wiki/Introduction-to-Model-View-Presenter-on-Android
>>772490Спасибо.
>>772490Почему не по русски? Я не буду такое читать
Передавать 3 листа строк (~100 элементов, <100 символов) в интенте это оукей?
>>772756:^)>>772796Пахнет неприятно, может быть лучше БД?
>>772822Активити берет из бд, показывает элементы. Клик на элемент -> другая активити показывает выбранные первой из бд элементы в пейджере. Первая не следить за апдейтами бд, поэтому если во второй брать из бд, ей могут прийти другие данные.
>>772829Как они будут другими, если у них айдишники одинаковые будут? Или у тебя там в фоне еще кто-то может выбранным данным что-то поменять, ну тогда здесь флоу какой-то не правильный, нельзя менять выбранные данные, если так пойдет то ты можешь получить выбранные и измененные данные, может какую-то блокировку на изменения вешать?
>>772756Можно кстати перевести. В целом, статья годная, всё просто и по делу.
Котаны, подскажите как сделать такую вещь:Есть StartActivity, оно запускается при старте приложения.Если запущен сервис - то в oncreate или в onstart StartActivity произойдёт переход на MainActivity.Как мне уничтожить к хуям StartActivity после перехода на MainActivity, чтобы юзер по нажатию на back button не попал обратно на MainActivity?
>>772955После startActivity(new Intent(StartActivity.this, MainActivity.class) вызови StartActivity.this.finish();
>>772960Вызов this.финиш после startactivity не помогает.У меня StartActivity с флагом singleinstance, т.к. два инстанса мне не нужно.
>>772965Такс! Это мой баг. Вызова finish действительно не было там, где он должен быть.
Привет. Подскажите из-за чего после закрытия Activity при помощи кнопки back, из task manager'a эта активити открывается после второго нажатия. По первому нажатию активити в такс менеджере подсвечивается, но ничего не происходит. По второму нажатию активити запускается.Почему не по первому нажатию?ОС: Android 6.
>>773070На картинки явно не 6 андроид, а максимум 4
>>773086Так вот в чем проблема! Проблема в картинке.
>>773095Хоть я и проиграл, но иди нахуй шутник хуев.Тащи давай флаги с которыми открываешь активности.
>>762039 (OP)Хочу разрабатывать под ведро на питоне. Какие подводные камни?
>>7731481) Хуй тебе, а не гайды;2) Хуй тебе, а не производительность;3) Хуй тебе, а не защита кода;
>>773142> активностиНе надо так.
>>773148Дополню коллегу:4) Хуй тебе, а не вакансии5) Хуй тебе, а не советы в этом треде
>>773150>>773167>1) Хуй тебе, а не гайды;Ну, у kivy таки есть доки. Но в остальном да.После питона у меня ява совсем не идёт, а в мобильную разработку хочется.
>>773173Попробуй Хаскелл. https://github.com/neurocyte/android-haskell-activity/blob/master/src/HaskellActivity.hs
>>773179Ох, лол, я уж лучше go подожду. Хотя за хаскель я в своё время брался, но не нашёл ему применения.
>>773179>HaskellФу, только Lisp спасет ведро.
>>773191Лисп - позапрошлый век, пролог - наше всё.
>>773193Только APL
>>773193Снимаю шляпу.
>>773201Ну хер знает. Обычно фортрана хватает, а покупать какую-то специальную клавиатуру и переходить на другой язык только потому, что он современнее - это хипстерство крайней степени.
Раз такое дело, пора вбросить последние новости про Kоtlinhttps://blog.jetbrains.com/kotlin/2016/06/kotlin-night-recordings/https://www.youtube.com/watch?v=POZmfjRHdfE
>>773209Зачем клавиатуру, шорткатов понаделай. Или с тачпада можно.
>>773142Флаги не использую, launchmode = "singleInstance", AppCompatActivity.
Ананасы, сап. Как убрать вот эти белые пробелы? вот код: <ImageView android:layout_width="100dp" android:layout_height="100dp" android:layout_marginTop="0dp" android:id="@+id/icon" android:src="@drawable/lightblue"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" android:textStyle="italic" android:paddingTop="0dp" android:paddingRight="50dp" android:id="@+id/Itemname" />что дописать?
>>773218Ты покажи xml ячейки с этой хуйней, небось там паддинг.
>>773230http://pastebin.com/dRq6CN40это весь код.Прикрепил. паддинга нет.
>>773232вылечил. вместо src заюзал background
Раз такое дело, пора вбросить тебе за щеку.
>>773210>>773245
>>773235Ты понимаешь что это неправильно? Сделай картинке wrap_content что бы не было белых полос, так у тебя картинка будет хуевится. И да, вместо fill_parent поставь match_parent, не тащи старье.
>>773245Чо Вам так с него бомбит, он вроде мирный.
>>773235>>773253Или поставь scaleType="fitXY"
>>773255это уже лушче
>>773254Фанбои никому не нравятся.
>>773255>>773257Будут проблемы с производительностью на больших изображениях. Вместо этого, лучше использовать fitCenter() или centerCrop() у Picasso/Glide.
>>773277>лучше использовать fitCenter() или centerCrop()Они разніе вещи делают. Что значит лучше?
>>773215> singleInstanceЭто и есть флаг. А он тебе нужен, или ты его просто как написал? У меня были проблемы с ним, когда я открывал хром табы и пытался перейти назад. Мне не давало и выкидывало обратно в хром.
>>773292Я в курсе.Значит, что не будет проблем с производительностью.
>>773213Я на самом деле от математики далёк, так что мне ни APL, ни фортран не понадобятся никогда.
>>773303Мне не хочется, чтобы активити в которой биндится сервис и производится всякая ресурсоёмкая залупа была создана в двух экземплярах, а это вполне возможно сделать пользователю.При помощи singleInstance это исправляется.Даже с launchmode="standard" ничего не меняется.У меня кстати на MainActivity сделан переход с IntroActivity, которая в манифесте помечена как android.intent.action.MAIN.
>>773330Заметил сейчас, что иногда MainActivity с первого прикосновения открывается из TaskManager. Но обычно с двух. Причем после первого прикосновения никаких методов никаких активити не вызывается. Со второго - как и положено onCreate и далее всё работает так, как и предполагалось.Мистика какая-то. Уже выкидывал весь код из onCreate, из onDestroy, из OnBackPressed - не помогает. Не пойму где спрятался косяк.
Двачаны. Есть массив строк для листвью. Для каждой строки есть картинка. Проблема в том, что картинок приходится делать столько же, сколько и строк.Но я хочу, например, не знать количество строк и циклом заполнить массив картинок. Куда писать цикл? Думаю, код поможет понять мою идею. В onCreate если пишу цикл for, то вылетает. если делаю Integer[]someName(){}и return, то тоже вылетает. Подскажите, как забить циклом картинок по количеству строк?
>>773410проебал кодhttp://pastebin.com/tQ7tJ52F
>>773410Если айдишники забивать, то никак.
>>773419А какой есть ещё вариант?
>>773419такой вариант сработает?ImageView whoamiwith = (ImageView)findViewById(R.id.whoamiwith) и потом в цикле Integer=whoamWith;Сработать должно?
>>773423>>773410Нахуй и впизду!Что ты хочешь на выходе получить?
>>773426чтобы было столько картинок, сколько строк
>>773410>Но я хочу, например, не знать количество строк и циклом заполнить массив картинок. Куда писать цикл? И как ты узнаешь размер массива картинок? Я посмотрел код, и нихуя не понял. Что вообще за тупость происходит? Тебе нужно как-то раскрасить листвью что ли? Тогда используй recyclerview и itemdecorator. Не хочешь делать так, а хочешь просто сделать красивое чередование картинок? Сделай массив из все картинок, у тебя это будет Integer[]imgid = { R.drawable.lightblue, R.drawable.gray, R.drawable.blue,}и получай нужную картинку просто по imgid[position % imgid.length]
>>773308Блять, ты долбоеб? Может у тебя еще суммирование лучше умножения так как быстрее?
>>773410Если ты хочешь избавиться от ручного заполнения массива imgid, то1) переименовываешь нужные картинки в image_0.png, image_1.png и тд2) В цикле вызываешь getIdentifier (возвращает ID ресурса по его имени) подставляя имена картинок, типа:getResources(). getIdentifier("image_"+i+".png","drawable",getPackageName());https://developer.android.com/reference/android/content/res/Resources.html#getIdentifier(java.lang.String,%20java.lang.String,%20java.lang.String)
>>773482Если честно хуевый подход. Непонятно по имени ресурса что за картинка и тд.
>>773485ну тогда называй картинки "опасные новости.png" "сверхопасные новости.png" и в getIdentifier подставляй words.toLower()+".png"
>>773495Не, спасибо. Нахуй ты такое говно советуешь? Тебя самого не ебут за такое?
>>773500Спасибо у меня все хорошо, держи подарок.
>>773508Себе можешь забрать, как раз подойдет под размер твоего ануса, может говно в тред перестанет вылетать.
>>773427>>773410Какой вопрос>>773500Такой и ответ. Хуярь эти картинки как-нибудь сам.
>>773471Ну, если при умножении у тебя всё будет виснуть, а сложение будет работать нормально, то да, сложение будет лучше.
>>773410Я бы сделал два массива ресурсов.Один с заголовками, другой с идшками картинок.И будешь получать R.array.my_titles и R.array.my_images
Антон, где я проебался с разметкой, в этом ли трабол?Как такое фиксится?
>>773598пикчефикс
>>773598>>773600Ну и где твоя разметка, даун?
>>773580Пизди хуйню расти дибилом.
>>773600> Решено?Охуенный UI.
>>773600Что у тебя с тулбаром?
>>773603Твоё мнение очень важно для нас, школьник.
>>773607Хуйня.
>>773608Да успокойся уже и хватит советовать хуйню.
Ой я ебал, началось лето и это пиздец. Нестерпимое желание укатить из треда.
>>773610Да говна пожуй, дурачок.
>>773614Что говоришь? Твоих советов пожевать? Нет спасибо.
>>773613Так бери и уёбывай, вместо того, чтобы плач Ярославны тут устраивать.Скучать не будем.
>>773620Ну конечно, вы тут ковровую бомбардировку говносоветами устраиваете и сами себя в нем топите.
>>773621И один лишь ты в белом плаще стоишь красивый?
>>773623Нет, нормальные люди в вашем метании говном просто не участвуют, я просто решил немного образумить.
>>773607Уже пофиксил, спасибо, адекват. А то понабежало тут школоебов.
>>773626Так ты его руками делал чтоль?
>>773625> Двач> нормальные люди
>>773627А чем его еще делать?
>>773626> Спрашиваешь, что не так с разметкой, не показывая разметку> Кругом школоебы
>>773629Понятно. Так на будущее, в нормальных тематиках сидят нормальные люди. Вообще удобнее форума не найти.Но вот залетевшие школотроны из б засирают все, благо им в тематиках особо не интересно.
>>773632Подумал, что тут очевидно всё, местные помогут хуй
>>773630На скрине видно какой-то прозрачный лейаут.Имею ввиду ты его пытался сам реализовать через лейауты или взял готовую вьюху - тулбар?
>>773634> Двач> Форум
>>773636> реализовать через лейауты> готовую вьюху - тулбарТак это одно и то же ведь, не? Или что ты имеешь в виду?
>>773635На самом деле очевидно, просто он дибил.Если тулбар не привязать к апкомпатактивити то он так и выглядит. Правда пока не понял какого хера он у тебя прозрачный.
>>773639Ладно, похуй, просто забей.Юзай Toolbar и AppCompatActivity
>>773637Анонимный форум, что тебе не нравится?
Стоит вас на минуту оставить и тред сразу скатывается в говно.
>>773678Слава богу, ты вернулся!
>>773681Ну а как иначе? Не могу же я вас бросить.
>>773435Спасибо, друг. не знаю, кто в треде отписывался - это был не я. Твой совет помог. Прям то, что надо! 700 чаёв с меня
При обновлении приложения SQLite база не будет заново создана, если версия её не изменилась?
>>773941Ты о чем вообще?Если ты про sqliteopenhelper, то он никогда не ПЕРЕСОЗДАЕТ базу,он может только ее проапдейтить
>>773941Только если ты сам в онАпгрейд/онДаунгрейд такое не сказал делать.
Скажите, дизайнером в студии кто-нибудь реально пользуется? Вообще, что думаете про него?
>>773981Что за дизайнер?
В архитектуре MVP где нужно размещать асинхронный код (AsyncTask):1) Прямо в моделе и далее вызывать методы презентера по результату выполнения асинхронной задачи?2) В презентере. В моделе при этом реализовать синхронный доступ к данным?
>>774010
>>77401490% верстаю мышкой.Остальные 10% через XML.При этом в custom view делаю так, чтобы в редакторе они отрисовывались точно также, как и в приложении.
Сап, двач! Можно ли как-то в GridLayout сделать divider, подобные LinearLayout? У меня есть три кнопки, между ними - пустошь. Вот пустошь в линеар можно забить либо бэкграундом, либо сделать android:divider и даже сделать divider_height и цвет. Как сделать divider(или его подобие) в GridLayout?
Используй recyclerview с gridlayoutmanager, там декораторы можно любые ставить.
>>774042>>774045
>>774042А если у тебя три кнопки, то просто сделай LinearLayou с orientation: horizontal
>>774055там ведь есть дивайдер, да?
>>774057Я никогда не использовал android:divider. Но если ты использовал его в LinearLayout и хочешь сделать что-то подобное в горизонтальном лэйауте, то очевидно,что нужно использовать тот же самый LinearLayout, просто с другим параметром ориентации (горизонтальная вместо вертикальной).
>>774059Я ошибся. я юзал его в листвью
>>774065Тогда попробуй обернуть кнопки в фреймлэйауты, ставь нужные маргины кнопкам внутри фреймлэйаута, а уже фреймлэйауты разукрась, как хочешь. Между фреймлэйаутами вроде не будет пустоты. А сами фрейм лэйауты запихни в горизонтальный линеарлэйаут. Можешь заменить фреймлэйауты на кардвью, если хочешь элевэйшн и красивые уголки, можешь заменить фреймлэйаут на релативлэйаут, если хочешь сделать дивайдеры какими-то особенными вьюшками.Если хочешь какой-то простенький бэкграунд, типа однотонного цвета сзади, то обойдёшься без фреймлэйаутов, просто линеарлэйаут, оборачивающий кнопки, с нужным тебе бэкграундом.Ну и вариант с ресайклервью с гридлэйаутом и статическим списком объектов и кастомным декоратором. Дохуя кода, сложная обработка кликов по кнопкам, но зато все дизайнопроблемы кладутся на совесть андроида.
>>774071>с ресайклервью с гридлэйаутом>с ресайклервью и гридлэйаутменеджером*
>>762039 (OP)Хуя там подбородок у трапа
>>774012Во времена android 1.6 писал и так и эдак, в любом случае с asynctask получалась полная лажа.Хотя для моделей без asynctask было проще писать тесты.В любой подходе mvc/mvp/mvvm юзать asynctask это устаревший подход.Asynctask это api-костыль что внести в java 1.6 работу с асинхронными очередями команд как и handle/looper.x) AsyncTask нельзя нормально зачейнить, x) для них нужно порождать подклассы либо погружаться в колбек-хел,x) ну и конечно там много бойлерплейта (особенно если пишешь в стиле java 1.6).Используй RxJava, это сразу снимет большинство головной боли.Там и асинхронность будет и тесты легко писать.
>>774100Вот допустим, у меня сейчас есть проект, довольно большой, в нём я использую асинктаски для одной цели - конвертации изображений (из файловой системы или в виде массива байтов) в битмапы. Соответственно, в асинктаске тупо пять строчек кода декодирования BitmapFactory с нужными параметрами, плюс абстрактный коллбэк в UI, чтобы я реализовал его в нужном месте и сделал с битмапом необходимые действия. За несколько месяцев разработки не сталкивался ещё со случаем, когда этот механизм меня подвёл бы. RxJava не умею. Вопрос: стоит ли прямо сейчас попытаться заменить этот асинктаск на RxJava-аналог или я не получу никакой выгоды от этого?
>>774100У меня задачка по-проще, думаю не стоит усложнять применяя всякие сторонние библиотеки.Мне нужно выбрать через contentResolver некоторые данные по медиатеке пользователя.Нашел AsyncQueryHandler - кажется это то, что надо.Получается максимально простое взаимодействие с моделью://вызов из Presentermodel.getArtistsList(AsyncQueryHandler callback);
>>774128А через Loader нельзя это сделать?
>>774105Усложнение - это путь в никуда.У меня тоже есть одно место, где используется AsyncTask - внутри Loader для загрузки данных из кэша и апдейта кэша. Работает мегастабильно, при том, что сделано очень просто.
>>774136Хм, точно. Это можно сделать через CursorLoader.Пока не знаю что из этих трёх способов лучше.Вариант с AsyncQueryHandler выглядит самым компактным.
>>774139Делай через Loader, пусть это и гряный код, пушо придётся имплементить коллбэки непосредственно во View, зато это рекомендуемый способ работы с БД.
>>774137А зачем загружать данные (из сети) прямо внутри Loader'a?Я всегда по-другому делаю: Loader загружает данные только из БД. Сервис получает данные из сети, сохраняет их через ContentResolver в БД. После этого, Loader автоматически получает notification, что данные были изменены и сам их перезагружает.
>>774170Я думаю твой вариант хорош, когда загрузка данных из сети длится достаточно долго.Кстати, а как правильно: в случае с MVP получать от модели уже ГОТОВЫЕ данные или что-то промежуточное, к примеру Cursor с некоторыми полями, что далее уже преобразуется в объект, который лежит внутри ListAdapter?
>>774173У меня всегда адаптеры работают с Cursor'ами. Именно поэтому обновление данных так удобно и происходит (CursorLoader + ContentResolver).А если ты будешь сохранять свои элементы как массив/список/что-то еще, то тебе самому нужно будет реализовывать механизм оповещений и обновлений.
Парни, глупый вопрос, конечно, но скажите: 10 активити в приложении - это не дохуя? Может, для памяти плохо или ещё что?
>>774444не дохуя
>>774444От проекта зависит. Для хэллоуворлда 10 конечно дохуя. Для серьезного проекта уже нормально.
>>774444А фрагментов сколько?
>>762039 (OP)Как сделать полупрозрачный фрагмент с вьюпейджером, где будут картинки (т.е. обычная галерея). И ещё, как сделать transition анимацию из вьюпейджера в вьюпейджер? transition name вешал и на картинки во вьюпейджерах, и на сами вьюпейджеры, но че то не получается.
>>774617> Как сделать полупрозрачный фрагмент с вьюпейджеромТак же, как и сделать полупрозрачный фрагмент без вьюпейджера.> как сделать transition анимацию из вьюпейджера в вьюпейджерЧто?
>>774673что что? Надо сделать анимацию перехода картинки, я делал это с двумя разными картинками не во вьюпейджерах, но как сделать это со вьюпейджерами хз
>>774684>>774673Как я понимаю, он хочет сделать анимаци перехода между фрагментами во вьюпейджере.
>>774685есть фрагмент с информацией о чем-то, там в коллапсинг лейауте маленький вьюпейджер с картинками, по клику на картинку в этом маленьком вьюпейджере должен открываться фрагмент, но уже с большим вьюпейджером, с теми же картинками. И при открытие фрагмента должна происходить вот такая анимация https://guides.codepath.com/android/Shared-Element-Activity-Transition
>>774692Это большая и сложная задача. За тебя её тут никто решать не будет. Гугли разные варианты, пробуй.В любом случае, делать анимации под android - это боль. Что-то более-менее нормальное можно сделать только для api >= 21. И то, очень много проблем. На последнем IO был пример с похожим поведением, что тебе нужно.
>>774692Проще выбить дизайнеру зубы. А то открывать в вьюпейджере фрагмент с вьюпейджером попросто хуйня.
>>762039 (OP)Перекатhttps://2ch.hk/pr/res/774895.htmlhttps://2ch.hk/pr/res/774895.htmlhttps://2ch.hk/pr/res/774895.htmlhttps://2ch.hk/pr/res/774895.html
>>774014никогда не юзаю, я олдфаг?