[Ответить в тред] Ответить в тред

03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 533 | 31 | 109
Назад Вниз Каталог Обновить

Разработка под Android тред №20 Аноним # OP  22/05/16 Вск 19:44:04  750609  
14639354442250.jpg (131Кб, 1797x1055)
Перекатываемся на Firebase и начинаем использовать Constraint Layout.

Предыдущий тред тут:
https://2ch.hk/pr/res/743301.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.
Привет клиент-серверка.

Пишите в треде что добавить.
Аноним 22/05/16 Вск 19:50:34  750617
Перекат вышел прямо как любая прога под ведро: со второго раза и с дерьмовой картинкой
Аноним 22/05/16 Вск 19:50:58  750619
>>750617
Годная картинка, не пизди.
Аноним 22/05/16 Вск 19:51:49  750621
>>750619
из 18 треда one love
Аноним 22/05/16 Вск 19:55:29  750625
14639361299520.jpg (102Кб, 458x500)
>>750621
Как знаешь.
Аноним 22/05/16 Вск 19:57:01  750629
>>750625
merci ^_^
Аноним 22/05/16 Вск 19:59:59  750631
>>750625
>этот нос
я думал она няша
Аноним 22/05/16 Вск 20:03:39  750637
>>750631
Ракурсы, бро, ракурсы.
Аноним 22/05/16 Вск 20:05:14  750642
>>750631
блять, ну испортил все, падла. Не замечал ведь :D
Аноним 22/05/16 Вск 20:06:03  750644
>>750642
Теперь признаешь что оппик лучше?
Аноним 22/05/16 Вск 20:18:07  750664
>>750644
Частично
Аноним 22/05/16 Вск 21:49:56  750781
Сабж: почему в AS показывается в сумме allocated + free memory раза в два меньше чем в сраном диспетчере задач в ведре ?
Аноним 22/05/16 Вск 21:50:12  750782
>>750781
И чему верить
Аноним 22/05/16 Вск 23:42:39  750934
>>750782
Своему сердцу, очевидно же.
Аноним 23/05/16 Пнд 11:19:46  751263
В файербейсе пуши платные выходит, да еще и GCM. Удачи короче.
Аноним 23/05/16 Пнд 11:33:32  751267
Сап аноны, говнокодер просит вашей помощи. Мне нужно в приложение добавить смену языка на выбор пользователя, код ниже меняет язык только одного активити, а мне нужно на все приложение. Подскажите как выйти из этой ситуации.
http://pastebin.com/h3tpfsTb
З.Ы. Гуглил решения, но ничего не понял
Аноним 23/05/16 Пнд 11:51:14  751286
>>751267
После этого кода ощущение будто в говно наступил,
кем же надо быть что бы так делать...
Аноним 23/05/16 Пнд 12:04:23  751300
Потихоньку вкатываюсь в андроид и возник вопрос насчет sqlite и recycleview. Щас я загружаю данные в базу, оттуда их возвращаю в arraylist и сую их в адаптер, все отображается нормально. Но тут погуглил и наткнулся на CursorAdapter и его кастомные реализации и несовсем понял принцип. В случае курсор адаптера данные напрямую из базы идут собственно в адаптер и там отображаются так? И получается первый подход это говнокод или я делаю тоже самое только с лишним шагом в виде эррэйлиста? В общем поясните как правильно дергать данные из базы в recycleview
Аноним 23/05/16 Пнд 12:05:47  751302
>>751300
Ты знаешь что такое курсор?
Если нет то сначала изучи это вопрос, потом приходи снова.
Аноним 23/05/16 Пнд 12:46:56  751333
>>751302
Не понял как знание курсора влияет на вопрос. Типа слишком капитанский, когда возращаешь данные в массив перебирая курсоры ты тупо делаешь тоже самое только например с обрезанным функционалом типа нотифаинга добавления отдельных элементов ?
Аноним 23/05/16 Пнд 13:30:22  751353
>>751333
"Не учатся ничему некоторые и учиться не хотят. Кина про фрилансеров с 300k насмотрелись..." (c)
> CursorAdapter = Cursor + Adapter
> Не понял как знание курсора влияет на вопрос.
Ну вот как с тобой разговаривать?

Курсор и курсор адаптер это механизм отображения данных из базы времен CPU 300 МгЦ и 128 MB RAM.
Его плюс что данные он хранит в памяти компактно одним куском (тк написал большей частью на нативном коде).
(Еще и подгружать их может постепенно, но не в случае RecycleView/ListView)

Так что сейчас использовать его есть смысл только если ты юзайешь SQLite и упираешься в производительность.

P.S.
Старайся либо писать компактные предложениями, либо делать перенос после 80-150 символов.
Иначе ужасно неудобно читать, особенно на FullHD мониторе.
Аноним 23/05/16 Пнд 13:36:37  751354
Посоны, что делать после того как я закончил раздел "Getting Started" на developer.android.com? Идти по остальным разделам или лучше начать выполнять какой-нибудь мелкий проэктик? Посоветуйте задание (или откуда его взять) во втором случае?
Аноним 23/05/16 Пнд 14:02:21  751370
>>751353
Спасибо за ответ, просто при поиске sqlite+recycleview по тому же стаковерфлоу
выдаются ответы типа этого
http://stackoverflow.com/questions/32101607/populate-recyclerview-with-a-sqlite-database
где ответ примерно с такой же реализацией как у меня, а комент к нему наоборот советуeт
реализовывать курсор адаптер типа этого https://gist.github.com/Shywim/127f207e7248fe48400b
и вот и возник вопрос как собственно народ запихивает данные в recycleview
Аноним 23/05/16 Пнд 14:06:34  751375
>>751353
>неудобно читать
Купил себе ссанину и других теперь учит как правильно писать, чтобы шея не открутилась при чтении.
мимо квадрат 1к
Аноним 23/05/16 Пнд 14:36:01  751402
>>751353
>Его плюс что данные он хранит в памяти компактно одним куском (тк написал большей частью на нативном коде).
(Еще и подгружать их может постепенно, но не в случае RecycleView/ListView)
всегда думал что курсор используется для экономии оперативы, что б не грузить все сразу в массив./arraylist
Аноним 23/05/16 Пнд 15:13:16  751455
>>751402
Если ты делаешь просто moveToNext(), то курсор грузить данные из базы постепенно, увеличивая в размере свой буфер.
Чтобы ты мог сделать moveToPrev() или moveToFirst() быстро, без запроса к базе.
Кстати данные из базы грузит не построчно, а большими кусками и еще есть ограничение на размер его буфера (CursorWindow).
Но это уже нереливантные подробности, которые можно изучить если посмотреть его исходники.


НО для правильного отображения скролбара, ListView дергает -> Adater.getCount() -> Cursor.getCount().
А курсор может рассчитать getCount(), только если проитерируется по всем данным -> в итоге все данные загружаются разом в память
(в пределах максимального размер CursorWindow).

Именно поэтому CursorLoader вызывает явно getCount() у курсор (во время его асинхронно загрузки).
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/android/content/CursorLoader.java/#68
Аноним 23/05/16 Пнд 19:00:55  751775
>>751455
>(в пределах максимального размер CursorWindow)
ну так не все ж данные
Аноним 23/05/16 Пнд 20:32:47  751876
>>751263
Это схуяль платные пуши?
Аноним 23/05/16 Пнд 21:23:03  751946
>>750609 (OP)
Есть какой нибудь толковый гайд по адаптивной вёрстке? на дев андроид есть только какая то мелкая херня.
Аноним 23/05/16 Пнд 21:45:04  752000
>>751946
Ну пора понять что не бывает адаптивной верстки как во фронтенде.
Так можно детектить ньюфагов и долбоебов кстати.
Аноним 23/05/16 Пнд 22:18:09  752041
>>752000
окей, не верстке, а созданя адаптивного ui, так лучше
Аноним 23/05/16 Пнд 22:20:17  752044
>>752000
Кхм-кхм, а в React Native-то на flexbox-е всё верстается.
Аноним 23/05/16 Пнд 22:22:49  752048
>>752044
че ты несешь, поехавший
Аноним 23/05/16 Пнд 22:30:00  752052
>>752048
Специально для тебя:
React Native - фреймворк для разработки iOS и Android приложений, использующий нативные виджеты и анимацию, контроллируемые JS кодом с помощью библиотеки React.
Использует систему лэйаута flexbox, позаимствованную из веба.
https://facebook.github.io/react-native/
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
Аноним 23/05/16 Пнд 22:59:47  752082
>>752041
Опять же, нету адаптивности блять.
Вся адаптивность сводится к тому что делается скролвью которая типа делает приложение адаптивным по вертикали, и дизайнеры пытаются не тулить много говна по горизонтали.
Аноним 23/05/16 Пнд 23:02:20  752089
>>752052
Такая же хуйня есть и у джавы, кастомные флекс вьюхи.
Но вопрос в том, что это никак не ебучий бустрап который люди тут ищут. В результате он просто подвинет итемы в новый ряд которые не влезли в ширину.
Это твоя адаптивная верстка?
Аноним 23/05/16 Пнд 23:04:43  752094
>>752052
Ебитесь-ка в жопу джаваскриптом где-нибудь еще.
Аноним 23/05/16 Пнд 23:21:18  752126
>>752089
Вообще-то в плане адаптивности бутсрап - это жалкие костыли по сравнению с флексбоксом.
Какая фича бутстрапа тебя интересует? Responsive grid? Так на флексбоксе он гораздо более responsive, чем бустраповские костыли в стиле "col-xs-6 col-sm-4 col-lg-3 col-xl-2".
Не хочешь чтобы айтемы двигались в новый ряд? Ставь им всем 'flex: 1' и фигачь в один горизонтальный контейнер - будут ужиматься, сколько бы их там не было (но это уже не responsive grid, с точки зрения терминологии)
Аноним 23/05/16 Пнд 23:54:30  752171
>>752126
Чувак я тебя сразу прерву.
Называть самую мощную технологию веба на данный момент в адаптивности - т.е. бустрап костылями это еще мозгов надо иметь.
Ну и действительно реактнейтив нахуй никому не уперся,
джава/котлин > хуемарин > моча > фонгеп > вся остальная джаваскрипт параша(проигрывает фонгепу из-за коммьюнити которого нету)
Аноним 24/05/16 Втр 00:07:25  752195
14640376454300.png (133Кб, 1300x975)
ОХ СУКА КАК ЖЕ Я ЗАЕБАЛСЯ!!

Вот почему дизайнер такой пидор?

> 2016
> Андрейд
> 3Д карусель

Этот пидор не хочет делать отдельный дизайн для ведроида, этот пидор сделал дизайн для iOS.

И там эта блядская карусель. Собственно вопрос:

Как сделать вертикальную карусель чтоб как в iCarousel?
Аноним 24/05/16 Втр 00:18:17  752217
>>752171
После джавы/котлина (перед ксамарином) есть еще Qt.

> моча
А это что?
Аноним 24/05/16 Втр 00:19:32  752221
>>752195
Нет ничего проще, ищи инфу куда копать, бери неделю-две времени, менеджер сам выебет дизайнера.
Аноним 24/05/16 Втр 00:21:49  752226
>>752217
Кюти нету, успокойся. С такими темпами можно вьебать го и кучу всего еще, если ты не знал на ведро есть возможность писать практически на всем.

Моча была показательной границей ваябл технологий.
Аноним 24/05/16 Втр 00:26:20  752232
14640387810720.png (10Кб, 674x142)
>>752221
Да вообще охуеть. Я вот только работать устроился. Летом подработать. И вот дали проект. Офигеть. Я чота застремался менеджеру сказать, что нихуя не получается карусель делать. Да там куча всякого iPidor-ского говна в дизайне. Ну и такой диалог с менеджерем был
— Ок. А андроид дизайн где?
— Лан, с дизайнером побазарю
… неделя
— А андроид дизайн когда выйдет? а ассеты скинете? где?
— Дизайнер сказал, что этот норм на андроиде выглядить будет. Можешь блюр убрать

Ну чо за хуйня?
Аноним 24/05/16 Втр 00:28:22  752237
>>752226
На Qt написано, например, приложение 2ГИС. Посмотри, если не видел.
> есть возможность писать практически на всем
Я в курсе, спасибо. Только вот Qt в отличие от "всего" действительно используется и распространён.
Аноним 24/05/16 Втр 00:32:12  752245
>>752232
чот я подумал. надеюсь эти ребята здесь не сидят))
Аноним 24/05/16 Втр 00:33:49  752246
>>752232
Ну тут смотри, я просто не знаю как у вас там механизм работает.
Но находишь того кто более сговорчив.
Если это менеджер то подходи и говори.
- Я не нашел реализации этого инструмента, он не предоставлен в сдк, следовательно мне нужно его делать самому, учитывая что он довольно сложный это займет столько то времени минимум. Мне делать его или пойти более простым путем и сделать горизонтал скролинг вью из того что есть в миллион раз быстрее?
Менеджер выберет второй вариант так как никто никогда не рассчитывает что вьюха может забрать больше чем пол часа.

Если же говоришь с дизайнером.
- Братишь, что за говно ты мне подкинул? Это не по материал дизайну. Реализаций инструмента нету, я могу сам сделать но это займет овердохуя времени, а сроки то жмут. Переделывай, ну и желательно посматривай на материал гайды, так как они не просто так созданы.

Главное правило ГОВОРИТЬ ЧТО ТЫ МОЖЕШЬ ЭТО СДЕЛАТЬ но долго, ГОВОРИТЬ ЧТО ТЫ ЗНАЕШЬ КАК СДЕЛАТЬ БЫСТРЕЕ.
Удачи.
Аноним 24/05/16 Втр 00:34:12  752247
>>752245
Дизайнер и менеджер в разработке под ведро?
Аноним 24/05/16 Втр 00:36:47  752251
>>752237
>распространён
Да конечно блять, распространен. Удачи с поиском работы.
Аноним 24/05/16 Втр 00:37:15  752252
>>752247
наверн они. просто менеджер вот точно поймёт, что это я.
Аноним 24/05/16 Втр 00:38:48  752255
>>752251
Блядь, ты жопой читаешь?
Аноним 24/05/16 Втр 00:38:52  752256
>>752246
Спасибо. Прям мозги на место мне поставил. Так и напишу завтра.

Я один раз хотел написать, но менеджер думал, что я уже неделю как над проектом работаю, а я всё бух сессию заканчивал.

Я вообще, можно сказать, что на удалёнке. В соседнем городе работаю. Связь по интернету.
Аноним 24/05/16 Втр 00:38:56  752257
>>752252
Ну и пускай, нехуй тупые задачи ставить. Менеджер на то и менеджер чтоб ты сидел и писал код не парясь про то что у тебя говно вместо задачи.
Аноним 24/05/16 Втр 00:40:14  752258
>>752255
Что ты сука зеабывешь, иди в свой сраный 2гис и сиди там нахуй, куча долбоебов написавших на некроплатформедля ведроида уж точно апу. Успех блять.
Чем они мотивировались то?
Аноним 24/05/16 Втр 00:41:27  752259
>>752257
Я ему сам случайно сказал, что всё уже чики-брики и в дамках будет.

Не, они, конечно, молодцы, что наняли (не платили ещё, без договоров и всего) одного уже-не-первокурсника без единого сделанного приложения и какого-то мутного иосника, который вот только с сентября objective-C начал учить.

Я думал меня на изи фигню поставят, а они во как…
Аноним 24/05/16 Втр 00:42:03  752261
>>752258
не знаю почему, но засмеялся, что даже соседа разбудил
Аноним 24/05/16 Втр 00:42:20  752262
>>752256
А вот так не делай, если уже и еблуешь, то создавай видимость работы, пиши ему что-то, любую хуйню.
>>752259
Ну язык твой враг твой.

Но со временем пройдет.
Аноним 24/05/16 Втр 00:42:34  752263
>>752258
ну сдк любых карт почти всегда написаны на ndk, видимо пидоры из 2гис решили просто хуячить сразу на qt
Аноним 24/05/16 Втр 00:44:28  752267
>>752263
Ебать, да это же лучшее решение евар блять, проджект менеджера нужно сделать главой какой-то компании. Дали поддержку ндк, не давай пердолится в жопу и писать все на плюсах.
Аноним 24/05/16 Втр 00:45:04  752269
>>752262
Стоит говорить что-то вроде "я короч пытался поискать готовые вьюхи, нихуя не нашёл. Показать нечего, я бэкенд фигачил. Пусть нормально для ведра рисует!"?
Аноним 24/05/16 Втр 00:47:19  752275
>>752267
Ты не понимаешь, о чем говоришь?

> Дали поддержку ндк
Eclispe NDK сейчас deprecated, а альтернативу ему гугл уже два года выкатить не может
> не давай пердолится в жопу и писать все на плюсах
Ээ, а NDK по-твоему на чем написан?
Аноним 24/05/16 Втр 00:51:12  752278
>>752275
>Eclispe NDK сейчас deprecated, а альтернативу ему гугл уже два года выкатить не может
вот вчера только выкатили вроде. на io сказали, вроде
Аноним 24/05/16 Втр 00:51:24  752279
>>752269
Если только начал, толкай хуйню
"Я пока делаю общую архитектуру связи между бд и экранами" и тд. Вообще это действительно сложная и долгая часть, но учитывая что ты все равно будешь все пиздовать как попало из гайдов, то забей. Это норма для первой аппы.

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

Скажи мол архитектура в процессе разработки пару дней уже пишу и продумываю. Вот решил посмотреть на эту карусель, проебался полтора дня и нихуя не вижу такого решения из коробки, потому чтоб не тратить зря время пишу вам, и пишешь то что я говорил выше.
Аноним 24/05/16 Втр 00:54:02  752281
>>752275
На ндк писать можно, что ты тут пытаешься втюхивать я не пойму?
>Ээ, а NDK по-твоему на чем написан?
Очевидно что на пизде твоей мамаши на плюсах, хватит меня за долбоеба держать правда бесит, анон сказал про карты на плюсах, так сделайте вы карты на плюсах а все остальное на жабе, благо так можно делать. Дальше понятно?
Аноним 24/05/16 Втр 00:54:06  752282
>>752279
Отлично. Спасибо большое! Грамотно расписываешь.
Аноним 24/05/16 Втр 00:54:39  752283
>>752281
>Под ндк
фикс если честно хуй знает как правильно сказать
Аноним 24/05/16 Втр 00:55:07  752284
>>752283
по днк
Аноним 24/05/16 Втр 00:55:44  752287
>>752281
> Дали поддержку ндк, не давай пердолится в жопу и писать все на плюсах
> Противопоставляет NDK и плюсы
> хватит меня за долбоеба держать
Аноним 24/05/16 Втр 00:57:13  752289
>>752282
Всегда пожалуйста, сам работаю на фултайме на удаленке по два дня из пяти, правда нужно увольняться, а то превратился в охуевшего ублюдка который бесится когда его тревожат в рабочий день звонком с работы.
Аноним 24/05/16 Втр 00:57:19  752290
>>752278
Что-то я такого не видел. Есть ссылка?

Они интегрировали CLion в Android Studio и новый декомпилятор, но про NDK я ничего не видел нового
Аноним 24/05/16 Втр 00:58:14  752291
>>752290
А, я сам не знаю. Краем уха слышал как ребята на перемене в столовке обсуждали
Аноним 24/05/16 Втр 01:00:00  752292
>>752287
Ты рахит? Ты хочешь на ндк писать всю апликуху?
Неужели не очевидно что я имел ввиду юзать нужные элементы типа карт на ндк, а все остальное на жабе? Я кажется написал это дословно.
>анон сказал про карты на плюсах, так сделайте вы карты на плюсах а все остальное на жабе, благо так можно делать

Еще вопросы будут?
Аноним 24/05/16 Втр 01:02:34  752293
>>752275
Мне всё ещё еклипс больше нравится.

Помню в старых версиях студии на хоткей, который текстовое поле показывает, куда можно команду писать, можно было написать new activity и новое активити делалось. Потом я всю зиму пользовался еклипсом прост)) и вот скачал свежую студию. Там этот хоткей вообще в говно скатили. Какое-то говно предлагает, настройки студии находит, new activity не может. Я что-то не так делаю?
Аноним 24/05/16 Втр 01:03:41  752295
>>752293
>Мне всё ещё еклипс больше нравится.
Ну и пушка. Каких говнарей в тред занесло.
Аноним 24/05/16 Втр 01:05:25  752296
>>752295
Ладно, я начинаю понимать, что мне студия больше нравится.

Но Jetbrains — пидоры. IDE платными делают. Пиздец. Вот еклипс — бесплатный
Аноним 24/05/16 Втр 01:06:45  752297
>>752295
>Помню в старых версиях студии на хоткей, который текстовое поле показывает…

Так вот в еклипсе Ctrl+n ваще классно работает
Аноним 24/05/16 Втр 01:07:47  752298
>>752296
>>752292

Блядь, с кем я сижу в одном треде...
Аноним 24/05/16 Втр 01:09:33  752301
>>752298
С адекватами которые рушат твой манямир?

>>752296
Потому что они делают иде у которой практически и конкурента нету, а эклипс говно устаревшее, его никто никогда не купит.
Аноним 24/05/16 Втр 01:12:47  752302
>>752301
Так его никто и не продаёт.
Аноним 24/05/16 Втр 01:13:21  752303
>>752302
Все так говорят, а ты купи еклипс
Аноним 24/05/16 Втр 01:16:59  752304
>>752302
В это и смысл. Спрос и предложение.
Аноним 24/05/16 Втр 10:27:07  752476
Аноны, как нормально выйти из приложения не из главного активити в андройде 5 и выше? System.exit(0) нормально работает на версиях ниже. А лоллипоп ужде не сохраняет параметры
Аноним 24/05/16 Втр 11:53:26  752527
>>752126
что ты забыл в моем треде блять! какой js блять!
давай выпиливайся отсюда!
Аноним 24/05/16 Втр 11:56:43  752528
>>752476
finish()
Аноним 24/05/16 Втр 12:01:52  752532
>>752295
> говнарей
Значение знаешь?
Алсо, андроид студию не люблю из-за системы сборки. С одной стороны, это круто и удобно, с другой — невероятно медленно. Сидишь по 20 секунд ждёшь, пока приложение сбилдится после смены 1 строчки кода.
Аноним 24/05/16 Втр 12:54:49  752566
>>752532
аа, в еклипсе ant юзаешь? я тож люблю, еще maven норм. а ентот градле, ну его, хистерская хуйня
Аноним 24/05/16 Втр 13:08:23  752576
>>752566
Нет, без анта, встроенным билдером.
Аноним 24/05/16 Втр 13:48:04  752624
Попробовал запустить хеллоу ворлд в студии на своем немного старом ноуте, он 5 минут потупил и вылетел с ошибкой о недостатке памяти. Есть какие нибудь варианты для днищ со слабым железом?
Аноним 24/05/16 Втр 14:07:13  752639
>>752624
IDEA Community?
Аноним 24/05/16 Втр 14:09:35  752642
>>752639
Что то же самое?
Аноним 24/05/16 Втр 14:10:42  752645
>>752642
Нет другое
Аноним 24/05/16 Втр 14:11:59  752647
>>752624
блокнот + консоль
Аноним 24/05/16 Втр 14:26:46  752662
>>752645
Android Studio — это IDEA CE с другим сплэшскрином.
Аноним 24/05/16 Втр 14:35:07  752673
>>752662
А где инстант-ран, поддержка байдингов, редактор строковых ресурсов, редактор тем?
Аноним 24/05/16 Втр 16:15:35  752733
>>752673
В пизде Android Studio, вместе с ConstraintLayout-ом.
Аноним 24/05/16 Втр 17:34:34  752803
>>752733
В этом и суть
Аноним 24/05/16 Втр 18:31:26  752858
Антуаны, кто нибудь пользовался связкой retrofit + rxandroid? Я нихуя понять не могу как это всё работает. Гляньте, я для поиска юзеров на гитхабе правильно сделал интерфейс и класс?
http://pastebin.com/NUaSrwDa

Пример запроса —https://api.github.com/search/users?q=поисковыйзапрос

Пример ответа сервера:
{
"total_count": 7498,
"incomplete_results": false,
"items": [
{
"login": "liblfds",
"avatar_url": "https://avatars.githubusercontent.com/u/2772362?v=3",
"html_url": "https://github.com/liblfds",
и т.д...
},
{
"login": "zensh",
"avatar_url": "https://avatars.githubusercontent.com/u/863754?v=3",
"html_url": "https://github.com/zensh",
и т.д...
},
и т.д.
]
}
Аноним 24/05/16 Втр 18:43:57  752878
>>752858
Observable<Github>
Аноним 24/05/16 Втр 19:03:09  752900
>>752858
Нету сеттеров.
Попробуй запусти, че раньше времени спрашиваешь?
Аноним 24/05/16 Втр 20:29:51  752958
>>752171
> самую мощную технологию веба на данный момент в адаптивности - т.е. бустрап
Можешь дальше не обсираться, ты и так уже по уши в говне.
Бутсраповский грид - это костыль для браузеров, не поддерживающий 'display: flex' и 'display: grid'.
В отличии от тебя, я умею верстать и могу сделать аналог бутстраповского грида на CSS без помощи интернета. Я понимаю как он работает и понимаю его ограниченность.
А для тебя вёрстка кажется магией, поэтому ты дрочишь на популярные фреймворки.
Ты ещё, блять, скажи, что jQuery - это самая мощная технология веба на данный момент в селекторах и ajax-запросах.
Аноним 24/05/16 Втр 20:36:02  752961
>>752527
У вас React Native в шапке есть, вот и зашёл.
Аноним 24/05/16 Втр 21:50:18  753061
>>752958
Фронтенд макака ворвалась и решила пояснять за жизнь?
Аноним 24/05/16 Втр 21:52:43  753066
>>752958
>это костыль для браузеров, не поддерживающий 'display: flex' и 'display: grid'.
>костыль для браузеров
Мне кажется просто твоя технология говно раз не поддерживается 3 - 5 браузерами?
Аноним 24/05/16 Втр 22:16:33  753114
>>753066
Не умеешь пользоваться caniuse?
Давай помогу:
http://caniuse.com/#search=flexbox
Аноним 24/05/16 Втр 22:19:22  753117
>>753061
А ты думал, раз сидишь в Android трэде то в вебе никто не разбирается, и можно пиздеть что попало про веб с видом эксперта?
Аноним 24/05/16 Втр 22:54:14  753150
>>753117
Без вида эксперта, но даже не спорь, бустрап сейчас юзают все фронтендщики.
Аноним 24/05/16 Втр 22:55:17  753152
>>753114
>Не умеешь пользоваться caniuse?
Нахуй оно мне?
Аноним 24/05/16 Втр 23:48:46  753200
>>753150
На предыдущей работе делал UI для системы мониторинга, верстал все на flexbox, ибо требовалась поддержка только Chrome и Firefox.

Далее, если ты погуглишь, то найдешь много блогпостов на тему того, что бутстрап не нужен т.к. определяет слишком много глобальных стилей (в отличии от foundation который можно использовать через sass миксины или модульного basscss).

И вообще, бутстрап создавался в Твиттере для прототипирования, а не для использования в конечном продукте. Тут, кстати, много аналогий с Ангуляром, который тоже создавался не для продакшена, и не используется компанией-создателем в своих продуктах. У обоих большая аудитория, но она целиком и полностью состоит из ньюфагов, желающих наговнякать что-нибудь не вникая в детали. А прошаренные люди шарахаются от этих фреймворков как от обоссанных бомжей.
Аноним 24/05/16 Втр 23:56:42  753213
>>753200
съебите уже в жс тред
Аноним 25/05/16 Срд 05:28:05  753344
>>753200
>Бустрап
>Ангулар
>Ньюфаги
ты толстишь откровенно
Аноним 25/05/16 Срд 08:56:06  753429
>>752247
про дизайнера: а кто по-твоему все ебаные размеры в dp должен указывать ? Не программисту же этой ебалой заниматься ?)>>752858
Что именно ты не можешь понять ? Ты получаешь не Call<NonameClass> , а Observable<Ressponse<NonameClass>> ну или Observable<NonameClass> и работаешь дальше с этим
Аноним 25/05/16 Срд 08:56:48  753430
>>752878
Удобнее все же использовать Observable<Response<GitHub>> для того чтобы можно было юзать .code() и не париться с получением кода ошибки
Аноним 25/05/16 Срд 09:08:20  753437
Аноны, а какие сегодня (в 2016-м) альтернативы AsynkTask'у?
Аноним 25/05/16 Срд 09:42:15  753454
14641585359240.png (34Кб, 375x159)
Аноны, что за хуйня, помогите, будьте добры.
Клонирую проект с гитхаба, делаю пару изменений в коде, а потом возникает пикр при отправке апк на приложение. Студия самая последняя, со всеми обновами, с Canary. В чём проблема?
А ещё в чём проблема грэдла на 2 минуты?
P.S. Буквально 2 недели назад такого не было.

Сам грэдл - http://pastebin.com/hypVVjPK
Лог ошибки
$ adb shell pm install -r "/data/local/tmp/com.huy.pesda"
pkg: /data/local/tmp/com.huy.pesda
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]


Installation failed since the APK was either not signed, or signed incorrectly.
If this is a Gradle-based project, then make sure the signing configuration is specified in the Gradle build script.
Error while Installing APK


P.P.S. У ТЕБЯ ВИСНЕТ и все подобные ответы не принимаются, у меня макбук про, студия не виснет тут.
Аноним 25/05/16 Срд 09:49:13  753456
Есть ли какой-то способ в кастомной view напрямую инициализировать гугл v2 карту ?
Аноним 25/05/16 Срд 09:49:25  753457
>>753454
> Installation failed since the APK was either not signed, or signed incorrectly.
> If this is a Gradle-based project, then make sure the signing configuration is specified in the Gradle build script.
Аноним 25/05/16 Срд 09:50:38  753458
14641590383930.jpg (61Кб, 459x497)
>>753454
> com.huy.pesda
Ну что за быдло здесь сидит.

Поставь стабильную версию студии
Аноним 25/05/16 Срд 09:52:14  753460
>>753456
Есть MapView, который можно пихать в любой контейнер. Только события лайфцикла передавать не забудь.
Аноним 25/05/16 Срд 09:54:09  753462
>>753460
Хмм, а пример не подкинешь ? У меня почему-то MapView нуль вместо карты выдавал при использовании getMap()
Аноним 25/05/16 Срд 09:55:00  753463
>>753460
И да, а что ему в onCreate то передавать ? т.е. он хочет Bundle
Аноним 25/05/16 Срд 09:58:08  753466
>>753462
Потому что getMap deprecated. getMapAsync
Аноним 25/05/16 Срд 09:59:45  753467
>>753463
Продублируй методы жизненного цикла в свою кастомную вьюху, а оттуда вызови их у MapView.
Аноним 25/05/16 Срд 10:02:53  753470
>>753466
Спасибо, щас на эмуляторе забью свой гугл плэй аккаунт, посмотрим что будет
Аноним 25/05/16 Срд 10:03:15  753471
>>753457
Ну и нахуй ты это переслал?
>>753458
Тупо заменил свои названия. Стабильную версию студии ставить не комильфо, там нет ConstraintLayout, а я уже использую его в другом проекте.
Аноним 25/05/16 Срд 10:03:25  753472
>>753467
я onCreate каким макаром могу в чем-то унаследованном от View сделать ?
Аноним 25/05/16 Срд 10:10:23  753478
Странно, может быть проблема эмулятора, в чем я сомневаюсь, но карты пустые, есть только кнопка определения местоположения, надпись Google и серый background
Аноним 25/05/16 Срд 10:21:44  753480
>>753472
Он имел в виду конструкторы
Аноним 25/05/16 Срд 10:22:15  753481
>>753471
Дурачок какой
Аноним 25/05/16 Срд 10:28:18  753483
>>753472
Берешь и в onCreate своей активности вызываешь onCreate у MapView. В чем твоя проблема?
Аноним 25/05/16 Срд 10:31:49  753484
>>753480
>>753483
В том что нужно внутри View это делать. Не внутри активности
Аноним 25/05/16 Срд 10:33:19  753486
>>753484
А ты у своей вьюхи не можешь создать метод onCreate?
Аноним 25/05/16 Срд 10:59:08  753497
>>753486
а что из этого onCreate мне передавать в onCreate mapView то блять ?!
Аноним 25/05/16 Срд 11:06:54  753501
>>753497
Сейв бандл активности или фрагмента
Аноним 25/05/16 Срд 11:13:12  753503
>>753501
Ты тупой или что ? Сука, говорю тебе, все должно быть во View. Хули ты такой непробиваемый то
Аноним 25/05/16 Срд 11:15:55  753506
Да, к слову, снова давняя моя ошибка встретилась с картами, суть: все управляющие элементы карты показываются, но вот вместо самой карты клеточная сетка на сером фоне. По клику часть подгружается.
Аноним 25/05/16 Срд 11:19:28  753508
>>753503
Если ты такой пиздатый, расскажи это гуглам, чтобы они убрали onCreate, onPause, onResume, onLowMemory и др. из MapView.
А сейчас, либо прокидываешь вызов этих методов, либо идешь нахуй.
Аноним 25/05/16 Срд 11:21:14  753511
>>753508
маму же твою, хули ты советчик такой, не читаешь вопросов а потом очко от ожогов мажешь ?
Аноним 25/05/16 Срд 11:23:34  753515
А, вроде как нашел косяк по причине которого >>753506
onResume по завершению коллбэка нужно делать
Аноним 25/05/16 Срд 11:26:28  753517
>>753511
У тебя блять есть кастомная вьюха, в чем твоя проблема добавить в нее onCreate(Bundle) и вызвать этот метод в onCreate активности?
Нет, буду вонять и нести хуйню, что все не то, и все не так.
Аноним 25/05/16 Срд 11:41:11  753521
>>753517
В том что вьюха полностью абстрагирована, доступ к ней получить из активности не нужно и нельзя
Аноним 25/05/16 Срд 11:45:05  753522
>>753521
> В том что вьюха полностью абстрагирована
Потому что ты так захотел? Гуглы захотели по другому, и причины на то у них были.
> public class MapView extends FrameLayout
> Users of this class must forward all the life cycle methods from the Activity or Fragment containing this view to the corresponding ones in this class. In particular, you must forward on the following methods:

> onCreate(Bundle)
> onResume()
> onPause()
> onDestroy()
> onSaveInstanceState()
> onLowMemory()

Либо делай фрагментом, либо прокидывай жизненный цикл. Другого не дано.
Аноним 25/05/16 Срд 11:54:05  753528
14641664459440.gif (318Кб, 245x130)
>>753522
Вот ведь гуловцы говноделы, сначала они говорят что View должны быть абстрагированы от лайфсайкла
, а потом сами же лепят вьюхи которым нужны эти методы.

Да и вообще это же полная хуйня их onPause/onResume и тд - хочу встроиться в жизненный цикл фрагмента,
так надо делать касмтомные классы на всех гребанные реализации (Fragment, DialogFragment, MapFragment, BottomSheetDialogFragment и тд).
Нет чтобы сделать события Resume/Pause... что бы откуда угодно можно было приатачиться.
Аноним 25/05/16 Срд 11:59:30  753531
>>753528
MapFragment на то и Map, что там уже это реализовано. Ну и никто тебе не мешает обмазываться нестед фрагментами
Аноним 25/05/16 Срд 14:08:30  753592
14641745108370.png (97Кб, 1959x1959)
>>753471
>Тупо заменил свои названия. Стабильную версию студии ставить не комильфо, там нет ConstraintLayout, а я уже использую его в другом проекте.
Д - долбоеб.
Аноним 25/05/16 Срд 16:39:12  753698
>>753531
только вот MapView нифига не MapFragment, а коли уж я flow-блядина, то мне MapFragment использовать ne cocher. В итоге поебавшись сделал нормальную отработку жизненного цикла, пришлось маленько абстракцией пожертвовать но хуй бы с ней, работает и на том спасибо
Аноним 25/05/16 Срд 16:44:22  753703
>>753698
Карты юзают плейсервисы, а они в себе могут юзать хоть небо хоть аллаха, потому и не сделали как обычную вьюху.
А лайфсайкл нужно соблюдать на уровне ОС.
Так что так.
Аноним 25/05/16 Срд 16:56:35  753719
>>753592
Адекватные советы по теме будут? Или это всё, на что тебя хватило?
Аноним 25/05/16 Срд 17:02:06  753726
>>753719
Не устанавливай превью билды блядь и тем более не юзай в продакшене, самый адекватный совет. Лучше не будет.
Аноним 25/05/16 Срд 17:07:57  753730
>>753703
Значит надо было вынести часть которая работает с лайфсайклами в отдельный класс и передавать туда ссылку на вьюху.

Но что бы это работало актитити и фрагменты должны:
1) Либо реализовывать единый интерфейс, типа такого
interface LifecycleManager {
void addOnResume(Runnable callback);
void remvoeOnResume(Runnable callback);
...
}


2) Либо хранить его инстанц внутри (как на FragmentManager или LoaderManager) и возвращать ссылку на него
public LifecycleManager getLifecycleManager();
Аноним 25/05/16 Срд 17:08:45  753731
>>753454
>у меня макбук про
Выебнулся так выебнулся, это жи самая мощная машина в мире.
Аноним 25/05/16 Срд 17:10:39  753733
>>753730
Охуеть, ньюфажина рассуждает о проектировании сдк.
Если серьезно, то если сделали значит по другому их костыли не работают.
Аноним 25/05/16 Срд 17:11:21  753736
>>753730
Вместо одного класса теперь два, и по отдельности они не работают.
Годно придумал.
Аноним 25/05/16 Срд 17:33:30  753765
>>753733
То что они костыли делают для меня не новость, все такие over 3 года в Android деве

>>753736
В этом и суть Single Responsibility Principle
Аноним 25/05/16 Срд 17:38:14  753773
>>753765
>over 3 года
ахах, показатель, да
Аноним 25/05/16 Срд 17:45:23  753778
>>753773
Как ни крути на 2 года 11 месяцев больше твоего
Аноним 25/05/16 Срд 18:01:25  753792
>>753765
>В этом и суть Single Responsibility Principle
Вообще-то нет, МапВью имеет одну задачу, работа с картой, то что карта в себе требует лайфсайкл уже другой вопрос.
Да и этот принцип довольно уебищным и гибкий когда абстракция на высоком уровне.
Аноним 25/05/16 Срд 18:07:26  753800
14641888471310.jpg (119Кб, 1280x611)
У меня огромный 5 летний проект с миллионом настроек и конфигураций с кучей намешанного дерьма которое чуть потянешь не в ту сторону и все рухнет нахуй. На тестирование забит болт, так как ЗА СТАБИЛЬНОСТЬ И СКОРОСТЬ РАБОТЫ НЕ ПЛАТЯТ, А ПЛАТЯТ ЗА ФИЧИ, меня это бесит и мне кажется что я деградирую копаясь в этом кале. Посоветуйте где посмотреть как пишут код под андроид настоящие профи, чтобы все было чистенько-аккуратненько с линтом, прогуардом, без текущих активити, интентов, аллаха и мультидексов.
Аноним 25/05/16 Срд 18:23:49  753814
>>753800
>У меня огромный 5 летний проект с миллионом настроек и конфигураций
Такое бывает на ведре?
Аноним 25/05/16 Срд 18:32:46  753824
>>753814
Ну так B2B, не всем же чатики и просмотрщики сайтов и картинок писать.
Аноним 25/05/16 Срд 18:48:23  753852
>>753824
Если этой хуйне 5 лет то там пиздос должен быть, столько инструментов появилось даже на уровне сдк.
Что с рантайм пермишенами?
Аноним 25/05/16 Срд 18:51:50  753856
>>753852
>Если этой хуйне 5 лет то там пиздос должен быть, столько инструментов появилось даже на уровне сдк.
Ну так а я про что, пиздос лютейший. Я внедряю кончено моднявые штучки иногда в новых вичах, но это как мертвому припарка.
>Что с рантайм пермишенами?
Забил на них, поставил targetSdk 22
Аноним 25/05/16 Срд 18:52:47  753857
>>753856
Сочувствую. Надеюсь хоть зп и офис норм.
Аноним 25/05/16 Срд 18:56:52  753862
>>753800
Работал на таком проекте пару лет, ну и сам во многом создатель этого пиздеца.
В итоге уволился (и тебе советую) и оставил разгребать это каким-то джунам :)

Крупные проекты рано или поздно один хрен в такое превратятся,
если не делать переодически серьезный рефакторинг (на который никогда не выделяют время).
Аноним 25/05/16 Срд 19:07:31  753877
>>753862
говоришь такой, плюс 50% к зп, или я ухожу
если говорят уходи, говоришь такой, когда поймете что все плохо, позвоните мне, но тогда будет + 100%
профит
Аноним 25/05/16 Срд 19:19:11  753885
>>753877
Берут тебя на +50% на два месяца и дают джуна подручного.
Аноним 25/05/16 Срд 20:49:05  753989
>>753726
Я не в продакшне, а для себя.
Аноним 25/05/16 Срд 23:01:33  754096
14642064932940.png (3Кб, 254x381)
Джентельмены, как такую штуку реализовать?

Есть тулбар, есть лист и под ним ещё лист.

Я не знаю какие элевейшены задавать.

По гайдлайнам toolbar elevation — 4dp.
Я хочу чтобы, допустим, у белого листа было 16dp сколько поставить?. Получается, что мне надо тулбару выставить 16dp + 4dp, белому 16dp, серенькому 0dp?


Тогда ещё вопрос, тулбар в отдельный xml файл вынес и потом его инклудаю в активитях. В xml указал элевейшен. Как мне его переопределить, когда я его инклудаю?
Аноним 25/05/16 Срд 23:51:18  754124
>>754096
Мне кажется твоя проблема в марджинах. падинги хуево смотрятся если их делать как у тебя в пике.

Никак.
Аноним 25/05/16 Срд 23:51:34  754126
>>754124
елевейшены а не падинги
Аноним 25/05/16 Срд 23:55:28  754132
>>750609 (OP)
Анон, есть проблема. Не добавляет данные в listview. Я просто уже не знаю где рыть. Проблема в методе listenNewMessages(), метод displayMessage(chatMessage). В остальных местах все работает как надо. Хелп.
http://pastebin.com/tMphiKxP
Аноним 25/05/16 Срд 23:56:03  754133
>>754124
Мне нравится как на пике. Плюс, пик с гугловских шайдлайнов
Аноним 25/05/16 Срд 23:59:23  754134
>>754132
может у тебя в 137 строке надо вывести ex?
Аноним 26/05/16 Чтв 00:03:14  754141
>>754096
если надо 4dp - ставь 4dp, если 16 - ставь 16, в чем проблемы? Ничего высчитывать, складывать не надо
Аноним 26/05/16 Чтв 00:03:58  754143
>>754141
но да elevation работает только с лолипопа
Аноним 26/05/16 Чтв 00:03:59  754144
>>754141
Если я беленькой поставлю 16, а тулбару 4, то тулбар тень на беленькую не отбрасывает
Аноним 26/05/16 Чтв 00:04:18  754145
>>754143
< Loli не нужны
Аноним 26/05/16 Чтв 00:07:26  754149
>>754144
ну офк, потому что он выше тулбара получается, на пике вроде и у того, и у того 4dp
Аноним 26/05/16 Чтв 00:07:26  754150
>>754145
Это всё я же.

Почему все не обновятся до нормальной версии?
Аноним 26/05/16 Чтв 00:09:22  754153
>>754150
спроси это у производителей, даже гугл поддерживает свои мобилки ~2-3 года и потом кладет хуй, аппл в этом плане молодцы
Аноним 26/05/16 Чтв 00:40:11  754174
>>754153
Пидоры. Мне теперь свой второй нексус 7 менять надо будет с приходом 7 андроида =(((((
Аноним 26/05/16 Чтв 07:12:26  754292
>>754132
:237 ты создаешь адаптер, но не присваиваешь его ListView
Аноним 26/05/16 Чтв 08:17:08  754307
14642398284830.png (12Кб, 476x364)
кароч если в студии создать активити с drawer из дефолтных шаблонов, то в сгенерированном коде можно увидеть пикрелейтед
absolutely disgusting
Аноним 26/05/16 Чтв 08:50:17  754313
ОП, сука, еще 10 тредов назад просил добавить в шапку годную книгу для начинающих. "Head First. Программирование для Android"
Аноним 26/05/16 Чтв 08:55:40  754315
>>754307
Альтернатива switch или Map<Int, ?> ?
Аноним 26/05/16 Чтв 09:56:40  754345
>>754315
switch
Аноним 26/05/16 Чтв 10:28:56  754355
>>753454
Бамп вопросу.
Теперь я уверен, что дело не в Canary билде. Пробовал удалять приложение с телефона, чистить, ребилдить проект. НЕ ПОМОГАЕТ. Молю о помощи, ананасики.
И да, ОП-хуй, добавь в шапку ссылку на единственную конфу по андроиду в телеграме - telegram.me/AndroidChan
Аноним 26/05/16 Чтв 10:34:05  754356
>>754355
Все иди нахуй, мало того что ты дебил разрабатывающий на превью билдах, так еще социоблядок
Аноним 26/05/16 Чтв 10:35:16  754357
>>754355
Пускай тебе в твоей сраной конфе и поясняют, хули ты сюда приперся
Аноним 26/05/16 Чтв 10:49:53  754363
>>754355
>И да, ОП-хуй, добавь в шапку ссылку на единственную конфу по андроиду в телеграме - telegram.me/AndroidChan
Она не единственная.
Аноним 26/05/16 Чтв 11:00:26  754365
>>754356
>>754357
Двачую этих и конфа у вас типичное унылое говно про то, кто как посрал и как добавить кнопку в лейаут.
Русские мобильные конференции Аноним 26/05/16 Чтв 12:07:18  754399
14642536384380.png (4Кб, 150x150)
Чет гляну программу очередной русской конфы по мобилками http://mobiusconf.com/#schedule

Боже как это банально, избито (было уже на Google IO):
"как правильно делать очередную-хуйню-View" и "как обойти эти костыли в Android/iOS".

Единственное интересное это про Scala/Kotlin, да и там будет "введение в язык" (чего на ютубе и так полно).
Аноним 26/05/16 Чтв 12:16:56  754410
>>754315
> Map<Int, ?>
Никогда так не делай, если тебе не важен порядок хранения.
Аноним 26/05/16 Чтв 12:24:37  754417
>>754410
Дай угадаю "стажер" ты на это наткнулся в своем коде надо было сначала книжки читать?

А вообще как думаешь для switch и if из примера важен порядок?
Аноним 26/05/16 Чтв 12:41:21  754424
>>754313
иди сам картинки рассматривай, по андроиду не встречал годных книг, да они и не особо нужны
Аноним 26/05/16 Чтв 13:17:57  754439
>>754417
> Дай угадаю "стажер" ты на это наткнулся в своем коде надо было сначала книжки читать?
Что?
> А вообще как думаешь для switch и if из примера важен порядок?
При чём здесь тот пример? Я сказал, что не стоит использовать Map с Integer в качестве ключа вообще.
Аноним 26/05/16 Чтв 13:21:08  754443
>>754439
Стажер мы это и так знаем, тк книжки читаем.
Аноним 26/05/16 Чтв 13:23:33  754446
>>754443
Судя по тому посту — нет, не все.
Кстати, я не стажёр.
Аноним 26/05/16 Чтв 13:25:24  754451
>>754446
> Кстати, я не стажёр
Ну простите "сремящийся-в-стажеры школьник".
Аноним 26/05/16 Чтв 13:27:01  754453
>>754451
Опять мимо. У тебя осталась одна попытка.
Аноним 26/05/16 Чтв 13:43:44  754470
>>754453
ОК, теперь я тебя буду звать просто:

НУФАНЯ
У
Ф
А
Н
Я
Аноним 26/05/16 Чтв 14:12:04  754490
14642611249760.jpg (43Кб, 604x452)
>>754470
Снова промахнулся. Но не расстраивайся, держи утешительный приз.
Аноним 26/05/16 Чтв 14:36:40  754516
>>754307
В этом нет ничего плохого.
>>754315
>Map<Int, ?>
В этом тоже.
Аноним 26/05/16 Чтв 16:00:17  754589
>>754516
Это нелогично, не ? Хотя в исключительных ситациях м.б. Но они пиздец какие исключительные
Аноним 26/05/16 Чтв 16:06:33  754593
>>754589
В том примере какой в коде, ифом делать лучше потому что если это модуль апликухи, то ты не можешь юзать идшники как константы.
Если это твоя апликуха то можно свичем.
Мапой эту штуку делать верх дибилизма в данном случае, ладно бы у нас делегаты были.
Аноним 26/05/16 Чтв 16:51:20  754629
>>753703
По итогу просто сделал при том или ином триггере лайфцикла запись/получение/чистку данных о карте и соответственно теперь просто в onMapReady ставлю сохраненную CameraPosition
Аноним 26/05/16 Чтв 17:43:32  754698
>>754593
>В том примере какой в коде, ифом делать лучше потому что если это модуль апликухи, то ты не можешь юзать идшники как константы
шта?
Аноним 26/05/16 Чтв 17:55:30  754717
>>754356
>>754357
Сём, хватит.
>>754363
В телеге - единственная, другой я не нашёл.

Причём тут социоблядство? Ну откатился я с превью билда, проблема-то осталась. Или по делу сказать ничего уже не можете?
Аноним 26/05/16 Чтв 17:57:46  754720
>>754717
Ты указал signingConfig в градле?
Аноним 26/05/16 Чтв 17:59:22  754722
>>754720
http://pastebin.com/hypVVjPK
Аноним 26/05/16 Чтв 18:00:43  754725
>>754722
key.jks по какому пути лежит?
Аноним 26/05/16 Чтв 18:44:39  754761
>>754725
app/
Аноним 26/05/16 Чтв 19:23:06  754783
>>754698
Блять, сделай помимо апликухи еще встраиваемый модуль. Проджект стороний. Хз как тебе еще сказать.
Аноним 26/05/16 Чтв 19:30:09  754788
>>754783
при чем тут if ?
Аноним 26/05/16 Чтв 19:43:01  754794
>>754174

CyanogenMod же
Аноним 26/05/16 Чтв 19:44:48  754797
>>754307
НожДляМасла поможет
Аноним 26/05/16 Чтв 19:46:00  754800
>>754355
> добавь в шапку ссылку на конфу в телеграме
Это говно здесь не нужно.
Аноним 26/05/16 Чтв 20:23:57  754822
>>754788
При том что свитч с ресурсами не работает в модулях.
Аноним 26/05/16 Чтв 20:56:50  754851
>>754822
а if с ресурсами работает, да?
Аноним 26/05/16 Чтв 22:00:53  754945
>>754851
Ты для начала прочти как свитч работает и как иф.
Да иф с ресурсами работает.
Аноним 26/05/16 Чтв 22:51:24  754987
>>754945
проиграл с дауна в голос
Аноним 26/05/16 Чтв 23:22:33  755004
>>754987
С себя что-ли?
С какими долбоебами в треде сижу, не понимают что пиздят, какие-то блять мапы суют.
Сука ну и даунята.
Аноним 26/05/16 Чтв 23:34:56  755012
>>755004
найс манёвры
Аноним 26/05/16 Чтв 23:38:15  755015
>>755004
Ты можешь нормальный пример привести?
Тоже не понимают чем switch хуже.

другой анон
Аноним 26/05/16 Чтв 23:52:46  755026
>>755012
Маневры у тебя в жопе тупоголовый.
>>755015
Блять, он не хуже, он не работает если сделать свитч с R.id.что-то там и поместить код не в главный проект, а в дополнительные модули - читай либу.
Аноним 27/05/16 Птн 00:04:27  755029
Тем временем гугл выиграл суд у оракла.
Аноним 27/05/16 Птн 00:04:47  755030
>>755026
поехавший, свич у него не работает, а иф работает, пиздец просто
Аноним 27/05/16 Птн 00:08:43  755032
>>755030
Как оно быть твердолобым уебаном?
http://stackoverflow.com/questions/8476912/menu-item-ids-in-an-android-library-project
Аноним 27/05/16 Птн 00:09:14  755033
>>755026
Ну емое, ты мог сразу объяснить что не работает тк:

"В доп. модулях поля в сгенеренном классе R.id не final, а switch работает только с константами".

P.S. А вот switch (when) в Kotlin работает и с такими полями.
Аноним 27/05/16 Птн 00:10:52  755034
>>755032
норм
Аноним 27/05/16 Птн 00:11:09  755035
>>755033
Вообще все началось с уебана который доебался до ифа, я просто сказал что этому есть место и где тоже сказал.
Потом в меня полились тонны мочи, нахуй мне что-то объяснять?
Аноним 27/05/16 Птн 09:06:24  755132
>>753454
Бамп вопросу.
http://pastebin.com/9pPafJJ4
Новый грэдл, убрал оттуда скам всякий, нихуя не взлетает. Пробовал подписывать вручную, удалять debug.keystore, даже .jks пересоздал - не помогло. Какие ещё варианты, ананасы?
Аноним 27/05/16 Птн 09:22:53  755138
>>755132
Убери вообще signing, пусть твоим дефолтным подписывается.
Аноним 27/05/16 Птн 09:23:04  755139
>>755132
версия градла
Аноним 27/05/16 Птн 09:30:32  755149
14643306324260.png (53Кб, 708x353)
>>755138
Убрал, смотри пасту.
>>755139
пикр
Аноним 27/05/16 Птн 09:43:35  755161
>>755149
это плагин, даун.
тебя про версию gradle спросили
Аноним 27/05/16 Птн 09:45:29  755164
14643315296920.png (20Кб, 309x139)
>>755161
Простите аутиста.
Аноним 27/05/16 Птн 11:35:37  755198
>>755164
Откатывай плагин до стабильного: 2.1.0
Аноним 27/05/16 Птн 12:07:13  755220
>>755164
И саму студию тоже
Аноним 27/05/16 Птн 12:19:58  755231
>>755220
>>755198
Не прокатило. Я уже откатывался до старой студии.
Аноним 27/05/16 Птн 12:32:01  755234
>>755032
как там в 2011?
Аноним 27/05/16 Птн 12:34:12  755236
>>755231
переставь винду
Аноним 27/05/16 Птн 12:40:59  755243
>>755231
А плагина в buid.gradle?
Аноним 27/05/16 Птн 12:57:13  755258
Котаны, как мне почистить проект от говна?
Дохуя скопилось всяких файлов непонятных, т.к. проект был создан еще когда эклипс был актуален.
Как понять - какие файлы можно грохать?
Аноним 27/05/16 Птн 12:57:25  755259
>>755236
У меня мак
>>755243
Вместе со старой студией был старый грэдл. Не помогло.
Аноним 27/05/16 Птн 13:03:03  755260
>>755259
дык на мак же ставится винда
Аноним 27/05/16 Птн 13:06:17  755262
>>755258
В lint есть проверка на используемость ресурсов.
Аноним 27/05/16 Птн 13:16:23  755264
>>755260
Вот этого двачую. Уверен, что это решение поможет
Аноним 27/05/16 Птн 13:58:43  755278
>>755259
Скриншот сюда давай, что было там видно:
1) что старя студия
2) что в build.gradle/dependencies стоит 2.1.0
3) ошибка
Аноним 27/05/16 Птн 15:27:38  755301
>>755260
Но нахуя она там нужна?
>>755278
Опять это говно ставить?
Аноним 27/05/16 Птн 15:31:24  755304
>>755301
а другие проекты собираются?
Аноним 27/05/16 Птн 15:41:43  755309
>>755304
Да, все.
Аноним 27/05/16 Птн 16:05:31  755316
>>755309
ну почисти проект, еба
Аноним 27/05/16 Птн 16:43:27  755333
>>755316
Чистил и ребилдил. Это уже было.
Аноним 27/05/16 Птн 17:40:23  755375
>>755333
Винду перестанови
Аноним 27/05/16 Птн 20:00:01  755453
>>755375
Просто иди нахуй.
Аноним 28/05/16 Суб 00:13:00  755627
>>755333
фоткай своё очко, я смогу помочь
Аноним 28/05/16 Суб 12:24:53  755837
Обязательно ли название приложения в маркете должно один в один повторять название в манифесте?
Аноним 28/05/16 Суб 13:29:32  755874
Где и как хранить Map<String, Set<Long>>? Ключей штук 10, значений в наборе ~10-200. Нужно просто не терять между запусками приложения. Для sql мелковато, для sharedprefs жирновато.
Аноним 28/05/16 Суб 13:49:51  755889
>>755874
Сериализуй и сохрани в виде бинарника.
Аноним 28/05/16 Суб 15:25:49  755966
14644383497040.jpg (55Кб, 730x450)
>>750609 (OP)
Какими технологиями для отрисовки графики обычно пользуются успешные Android разработчики?
Не одними же Layoutами всё верстают, например, пикрелейтед.
Аноним 28/05/16 Суб 15:31:43  755976
>>755966
NDK + OpenGL.
Аноним 28/05/16 Суб 15:33:55  755979
>>755976
NDK для меня не вариант, пишу на Java. Иные варианты?
Аноним 28/05/16 Суб 15:38:50  755986
14644391307810.webm webm file (1038Кб, 640x360, 00:00:07)
>>755966
Аноним 28/05/16 Суб 15:39:38  755988
>>755986
Что не так?
Аноним 28/05/16 Суб 15:46:44  755995
>>755976
разве то что на пике не луще через какой-то движок написать?
Аноним 28/05/16 Суб 15:52:14  755999
>>755979
В порядке убывания:
LibGdx / Slick2D / LWJGL
Последний - API к OpenGL
Аноним 28/05/16 Суб 15:53:56  756001
>>755999
>LibGdx / Slick2D / LWJGL
Это, как я понимаю, фреймворки и сторонние движки, верно? Этого бы мне не хотелось.
А вот OpenGL отличный вариант, но как в него вкатиться?
Аноним 28/05/16 Суб 15:55:28  756004
>>755999
>Последний - API к OpenGL
Вулкан?
Аноним 28/05/16 Суб 16:00:22  756013
>>755995
Конструкторы игр? В /pr/?
Уёбывай в /gd/ в свой Unity-тред.
Аноним 28/05/16 Суб 16:01:40  756015
>>756013
Да я другой анон, просто сказал что на опенгл какой-то вздрочь будет мне кажется.
Крепитесь Аноним 28/05/16 Суб 16:06:30  756022
14644407902250.jpg (26Кб, 604x316)
Наплыв школьников-гейм-девелоперов уже начался.
Аноним 28/05/16 Суб 17:41:38  756155
Сейчас заметил только, сдк занимает 30 гиг. Это норм?
Аноним 28/05/16 Суб 17:50:29  756168
>>756001
http://www.startandroid.ru/ru/uroki/vse-uroki-spiskom/397-urok-168-opengl-vvedenie.html
Аноним 28/05/16 Суб 17:51:21  756169
>>756155
Много хуйни ненужной установлено.
У меня 9.8 Гб.
Аноним 28/05/16 Суб 18:49:21  756225
сап анон. крч пишу некую хуйню, и столкнулся просто с пиздец проблемой. есть listview или recyclerview, похую, в нем карточки, в карточке ебаных штук 40 TextView. вся это ебала листается пальцем вниз. и на отрисовке каждой карточки сука ебучая тормозит. заполнение карточки значениями я выпихнул в ASyncTask, стало тормозить меньше, но один хуй тормозит. кароч чо делать чтоб оно плавно листалось.
Аноним 28/05/16 Суб 19:07:42  756243
>>756169
Так само же предлагает установить ее с нуля, от чего отказываться?
Аноним 28/05/16 Суб 19:09:47  756249
>>756225
Сразу пример кода адаптера кидай.
Можно еще пример иксемельки если итем большой.
Аноним 28/05/16 Суб 19:19:57  756254
>>756155
У тебя там образов эмуляторов дохуя просто.
Аноним 28/05/16 Суб 19:24:06  756258
>>756254
я с нуля сдк поставил, как почистить тогда?
Аноним 28/05/16 Суб 19:24:27  756259
>>756249
это адаптер listview
<script src="http://ideone.com/e.js/wbgv45" type="text/javascript" ></script>

это асинктаск
<script src="http://ideone.com/e.js/s37c3D" type="text/javascript" ></script>

это xml карточки
<script src="http://ideone.com/e.js/y1UMzu" type="text/javascript" ></script>
Аноним 28/05/16 Суб 19:28:32  756265
>>756254
Внезапно папка system-mages 30 гиг. 20 гиг на версию 23, и 10 на пререлиз Н.
Спасибо, удалил нахуй это говно.
Аноним 28/05/16 Суб 19:33:40  756269
>>756259
Используй RecyclerView.
Аноним 28/05/16 Суб 19:34:43  756271
>>756269

использовал. никакой разницы
Аноним 28/05/16 Суб 19:35:25  756272
>>756269
там затычка проявляется в момент отрисовки нового cardview
Аноним 28/05/16 Суб 19:35:49  756273
>>756271
Значит дело в твоём говнокоде
Аноним 28/05/16 Суб 19:36:20  756274
14644533802150.jpg (32Кб, 604x372)
>>756259
У меня ссылка открывает окно в треть экрана, я не буду это читать.
Аноним 28/05/16 Суб 19:36:52  756275
>>750609 (OP)
X
Аноним 28/05/16 Суб 19:37:07  756276
>>756259
Нахуя тебе инфлейтер в адаптере? Конечно, у тебя всё тормозить будет. Убирай его.
Аноним 28/05/16 Суб 19:37:53  756278
>>756259
мне кажется, проблема в этой поеботе - ru.workcal.ExpGridView
Аноним 28/05/16 Суб 19:37:54  756279
>>756276
а куда его запхать?
Аноним 28/05/16 Суб 19:38:37  756281
>>756276
Ты что псих? Несешь херню.
Аноним 28/05/16 Суб 19:39:39  756282
>>756281
А теперь увидел, нахер после консруктора еще инфлейторы создавать хуй знает.
Аноним 28/05/16 Суб 19:40:22  756283
>>756276
Хуйню сказал и рад, пиздец.
Аноним 28/05/16 Суб 19:40:46  756284
>>756259
Блядь, ты еще и в асинктаске всё это делаешь. Ты ебанутый?
Аноним 28/05/16 Суб 19:40:58  756285
>>756283
У него инфлейтер и в конструкторе и в гетвью создается.
Аноним 28/05/16 Суб 19:41:38  756286
>>756281
>>756283
Ну как хочешь, лол. Тогда и не удивляйся, что у тебя всё тормозит.
Аноним 28/05/16 Суб 19:42:01  756288
>>756286
это не я писал :)
Аноним 28/05/16 Суб 19:43:00  756289
>>756285
Ну, это другое дело, получать его в конструкторе — явно лишнее.
А вообще он нигде не создается, на него постоянная ссылка в контексте хранится, это не может влиять на производительность.
Аноним 28/05/16 Суб 19:43:00  756290
>>756286
Инфлейтер в конструкторе сделать норма.
Аноним 28/05/16 Суб 19:44:52  756291
>>756289
Да похуй, можно получить и в конструкторе и реюзать его везде.
А вот как это работает я хз, возможно там не просто ссылка.
LayoutInflater inflater = (LayoutInflater)ctx .getSystemService(Context.LAYOUT_INFLATER_SERVICE)
Аноним 28/05/16 Суб 19:45:50  756292
>>756291
> возможно там не просто ссылка.
А код глянуть, нет?
Аноним 28/05/16 Суб 19:47:07  756293
>>756292
Мне впадлу, я сериал смотрю.
Аноним 28/05/16 Суб 19:47:44  756295
создание нового инфлейтора из гетвью убрал, ток один хуй ничо не изменилось
Аноним 28/05/16 Суб 20:47:06  756359
>>756291
> LayoutInflater inflater = (LayoutInflater)ctx .getSystemService(Context.LAYOUT_INFLATER_SERVICE)
Палю вин
LayoutInflater inflater = LayoutInflater.from(ctx)

> А вот как это работает я хз
Один из паттернов же не помню какой. В контексте висит карта<string, object> со всеми сервисами, и ты по имени получаешь нужный.
Аноним 28/05/16 Суб 20:56:16  756366
>>756359
>Палю вин
Так говоришь будто бы это не известно хоть какому-то деву с опытом больше месяца.

>Один из паттернов же не помню какой. В контексте висит карта<string, object> со всеми сервисами, и ты по имени получаешь нужный.
Круто че, буду знать, в сорсы особо не лазил, не знаю что там, вдруг какая-то лейзи подгрузка или еще чего.
Алсо, сам юзаю эту штуку с мапой иногда, интересно как паттерн называется. А еще им удобно вешать делегаты
looking for a job offer Аноним 28/05/16 Суб 21:41:15  756386
анончики подкиньте работы за еду. Моей зарплаты не хватает нихуя. Могу по вечерам и по выходным. В принципе плаваю как рыба в технология типа рхджавы, даггера батеркнайфа и ретрофита etc. Делаю все в MVP. Могу даже поучить по скайпу нубасов. Оставляйте контакты что ли...
Аноним 28/05/16 Суб 21:45:30  756391
>>756386
upwork.com для даунов придумали, няш?
Аноним 28/05/16 Суб 21:46:04  756392
>>756386
Трудно верится что плаватель как рыба в довольно сложных технологиях и решениях не может себя прокормить.
looking for a job offer Аноним 28/05/16 Суб 21:59:42  756411
>>756392
а че там сложного то лол?
вот асунктаск это реально сложно.
>>756391
ага зарегался и тест прошел - у меня даже есть гугл плей с двумя аппами - да чето никто не бежит с деньгами ко мне
Аноним 28/05/16 Суб 22:01:52  756415
14644621122430.png (97Кб, 1959x1959)
>>756411
>а че там сложного то лол?
>Ровная архитектура с абстракциями.
>Депенденси инжекшн, особенно в виде даггера где куча всяких фич.
>АрИкс - функциональщина внедряемая в ооп.
>че там сложного
Аноним 28/05/16 Суб 22:03:14  756417
>>756411
асинктаск сложно? Соболезную.
Тест на сколько баллов? И гп сюда вкинь. Ты сам должен подавать заявки на предложения заказчиков.
Аноним 28/05/16 Суб 22:05:46  756419
>>756417
Не корми зеленного. Я получаю свои 1200 и на еду хватает, нихуя из его перечня как следует не юзаю.
Аноним 28/05/16 Суб 22:07:13  756421
>>756419
Тебе сколько? Как работу нашёл? На собесах что спрашивали?
17-лвл студент(скоро бывшим буду), пашущий на дядю по знакомству за 25к.
Аноним 28/05/16 Суб 22:37:04  756443
>>756421
Лол, первый курс не школота?
23 уже, работать начал в 22 на 4 курсе, прогу учить целенаправленно но спустив рукава начал на 3 курсе, факультет итшный.
Что спрашивали не скажу так как спрашивают начиная от джавы заканчивая сервисами, но ничего сверхъестественного.
Аноним 28/05/16 Суб 23:56:35  756493
>>756417
>асинктаск сложно? Соболезную.
>Тест на сколько баллов? И гп сюда вкинь. Ты сам должен подавать заявки на предложения заказчиков.
Ну я кинул уже 10 и пока что пусто. Ну мб не как рыба но я знаю эти технологии и успешно их применяю. Гп кидать не буду ибо дианон. Теста на 3.15 но он не решает нихуя
Аноним 29/05/16 Вск 03:42:19  756555
>>756359
> Один из паттернов же не помню какой. В контексте висит карта<string, object> со всеми сервисами, и ты по имени получаешь нужный.
Не совсем, там какая-то хуерга для ленивой инициализации, но если упростить — то можно считать, что там просто ассоциативный массив.
А LayoutInflater так вообще как поле класса хранится.
Аноним 29/05/16 Вск 11:09:52  756630
HashMap<String, Long> map = new HashMap<>();
...
map.put(key, Long.valueOf(0))

Почему линт подсвечивает с unnecessary boxing? Нельзя же просто нуль передать?
Аноним 29/05/16 Вск 11:20:05  756633
>>756630
Ты в курсе что начиная с Java 1.5 есть АВТОБОКСИНГ?
Аноним 29/05/16 Вск 11:29:42  756635
>>756633
Да, в курсе. Но он не находит put(String, int), если просто ноль дать. Мне как-то особым образом инициализировать нужно?
Аноним 29/05/16 Вск 11:40:37  756641
О, все, нашел - map.put(key, (long) 0).
Аноним 29/05/16 Вск 11:46:03  756645
>>756641
Еще можно: map.put(key, 0L)
Аноним 29/05/16 Вск 11:49:50  756651
>>756645
О, спасибо.
Аноним 29/05/16 Вск 17:33:09  756847
Cherry Perry, если мы выпилим движущихся тянок, ты к нам вернёшься? Просто мне самому начал надоедать такой "динамический" концепт, согласно которому мы пилим всякую хуйню, которая придёт в голову. И да, у нас появился опытный и классный дизайнер.
Аноним 29/05/16 Вск 18:27:53  756896
>>756847
У вас деньги есть?
Могу присоединиться я.
другой анон
Аноним 29/05/16 Вск 19:02:52  756935
>>756896
Денег нет. Но в далёких планах запилить краудфандинговую кампанию.
Аноним 29/05/16 Вск 19:54:02  756995
>>756935
Расскажешь что вы пилите?
dlnamusic@ya.ru
Аноним 29/05/16 Вск 21:44:26  757088
>>756995
Проверь почту.
wt.......@gmail.com
Аноним 29/05/16 Вск 21:58:37  757097
>>756847
Еще один довод почему ненужно идти в чат в телеграмме.
Аноним 30/05/16 Пнд 07:39:52  757319
Мне нужно по данным с сервера генерировать относительно стабильные long айдишники (для адаптера). Элементы обязательно имеют одно уникальное поле, но оно строка (20-25 символов юникод) и не обязательно представляет собой число.

Я думал посимвольно сдвигами сделать, но что-то таксибе вариант. Порезанный SHA/MD5? CRC32? Присваивать самому и хранить мне лень. Как лучше?
Аноним 30/05/16 Пнд 08:00:01  757321
>>757319
hashcode?
Аноним 30/05/16 Пнд 08:11:06  757322
>>757319
Можно лонги рандомайзером генерировать.
Аноним 30/05/16 Пнд 08:24:34  757328
>>757321
Вроде подходит, спасибо.
Аноним 30/05/16 Пнд 08:38:50  757335
>>757319
Если айдишники уникальны во время выполнения — завести переменную и инкрементировать её. Если всегда уникальны — порезанный md5/sha или вообще самому считать хэш строки. Вариант с отсутствием уникальности уже предложили.
Аноним 30/05/16 Пнд 10:11:52  757374
Есть пакет common, в нем лежат пара абстрактных классов и интерфейсов. Нужно создать util пакет со всякими статиками, адекватно ли будет положить его в common?
Аноним 30/05/16 Пнд 10:19:07  757377
Короче, собрал я разок проект с гугл плей сервисами 9 и все по пизде. Как быть? Не хочу переходить на fcm, я откатил обратно на 8.4, но не помогает блять.
Аноним 30/05/16 Пнд 10:31:19  757379
>>757377
> все пошло по пизде
Информативненько.
Аноним 30/05/16 Пнд 10:34:24  757381
>>757379
java.lang.IncompatibleClassChangeError: The method 'java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir(android.content.Context)' was expected to be of type virtual but instead was found to be of type direct

На стек не посылай, я думал здесь кто-то сталкивался с таким. Не хочу под firebase все в мыле переделывать.
Аноним 30/05/16 Пнд 10:44:32  757387
>>757381
9.0.1 поставь, исправили
Аноним 30/05/16 Пнд 10:47:39  757389
>>757387
Кхм, попробуй, спасибо.
Аноним 30/05/16 Пнд 19:19:33  757753
уважаемые хипстеры, поясните пердуну что там с gcm/fcm.
могу ли продолжить юзать gcm, и забить на новомодный firebase? зачем он нужен вообще?
Аноним 30/05/16 Пнд 19:23:31  757757
>>757753
файрбейз круче чисто внешне, да и кода поменьше будет. Всё интуитивно.
Аноним 30/05/16 Пнд 20:33:37  757815
Господа, я правильно понял суть SharedPreferences?
Я могу иметь несколько разных файлов(настроек) SharedPreferences для всего приложения и иметь к ним доступ из любой активити или фрагмента. А так же иметь несколько разных файлов(настроек) SharedPreferences для любого конкретного фрагмента или конкретной активити.
Аноним 30/05/16 Пнд 21:49:17  757881
>>757753
Уважаемый пердун напомните мне про GCM:
1) Можно ли рассылать пуш всем юзерам, без указание конкретных senderId (или как там)?
2) GCM может сам показывать нотификаций "по умолчанию" или нужно обязательно Notification создавать и вызывать NotificationManager.show(...)?
3) Насколько увеличивается размер APK?

>>757815
SharedPreferences уникальны по имени в рамках одного приложения.
Формально это xml файлы в папке /data/data/<package name>/shared_prefs/ с именами которые ты передаешь в getSharedPreferences(...)
Аноним 30/05/16 Пнд 22:12:01  757909
>>757753
По хардкору.
Теперь немного меньше кода.
Все остальное такое же примерно.
ГСМ работает как и работал.

Даже сделали миграцию с ГСМ на файербейс.
Аноним 30/05/16 Пнд 22:19:35  757917
>>757881
1. Шлёшь на адрес "/topics/global"
мимокрок-школьник
Аноним 30/05/16 Пнд 22:22:21  757921
>>757815
>>757881
Как правило, getDefaultSharedPreferences() достаточно, а что-то более сложное хранится в бд.
Аноним 31/05/16 Втр 01:04:32  758085
У меня тоже вопрос по SharedPreferences.
Сохранение в них идет последовательно или параллельно?
Например, у меня есть такой некий код, который где-то в сервисе шлет через PendingIntent сообщение, а потом в onActivityResult оно обрабатывается так:

if(requestCode==ACTIVITY_AGENT_CODE && resultCode==KILL_PROCESS_CODE)
{
SharedPreferences.Editor editor= prefs.edit();
editor.putBoolean(IS_ACTIVITIES_ALIVE,false).apply();
editor.putBoolean(YPS_KILL_ORDER,false).apply();
android.os.Process.killProcess(android.os.Process.myPid() );
}

В результате IS_ACTIVITIES_ALIVE и YPS_KILL_ORDER часто так и остаются true, а вместо xml файла лежит такой же, только bak.
Как мне сделать, чтобы данные таки сохранялись в SharedPreferences перед killProcess? (его убирать нельзя, он нужен)

А еще, какая разница между
android:process=".updater"
и
android:process=":updater"
в манифесте? Вроде, и то и другое сделает сервис отдельным процессом. Или нет?
Аноним 31/05/16 Втр 03:51:03  758134
>>758085
> Как мне сделать, чтобы данные таки сохранялись в SharedPreferences перед killProcess?
Использовать commit вместо apply.
Аноним 31/05/16 Втр 15:02:06  758466
>>758085
Есть какой-то смысл делать apply несско раз друг за дружкой?

> android:process=".updater"
Там как-то не совсем понятно про процесс с двоеточием. Мне видится так: двоеточие делает новый процесс приватным для твоего приложения. То есть если ты делаешь какую-то вундервафлю из разных приложений, которые шарят между собой процессы, :update запущенный в одном не будет пересекаться с :update запущенным в другом. В рамках одного приложения я даже не знаю есть ли практическая разница, но гугл советует ставить двоеточие. Позапускай и посмотри как оно распределяется по пидам или вроде того.
Аноним 31/05/16 Втр 15:44:02  758502
>>756443
а сервисы типа дофига экзотика ?
Аноним 31/05/16 Втр 15:46:18  758507
>>756386
липовый скайп слеплю вечерком, поучишь ?) Я бы не отказался от небольшого пояснения за mvp и за пару тонких на мой взгляд моментов
Аноним 31/05/16 Втр 17:07:14  758591
У кого был опыт с выкладкой приложений с чужыми авторскими правами?
Я написал кровлер для сайта-магазина (который не принадлежит мне), который собирает с него инфу и скидывает в бд на сервере. У бд есть рест-морда, к которой подключается приложение. При этом в приложении показываются и названия товаров, и их изображения. При этом в самом приложении покупки совершать нельзя, оно просто перекидывает на сайт.
Каким образом мне все это оформить в сторе, чтобы меня не пидорнули за нарушение авторских прав?
Аноним 31/05/16 Втр 17:50:57  758627
Есть ли гайды на тему: создание API для взаимодействия с Bluetooth LE устройствами?
Ясен фиг, что полно туториалов на тему BT LE, но всё это только для приложений уровня hello world годится.
Аноним 31/05/16 Втр 18:11:40  758660
Как забиндить сервис синхронно?
К примеру есть у сервиса метод do_action(), который юзер вызывает по нажатию кнопки и в итоге, если сервис еще не забиндился - получим NPE или не произойдёт ничего.
Как с этим бороться?
Аноним 31/05/16 Втр 18:16:19  758663
>>758660
Цеплять обработчик на кнопку только когда сервис забиндится, очевидно же, или делать ее кликабельной только после onBind, а до того момента кнопка должна быть тусклой.
Аноним 31/05/16 Втр 18:26:40  758672
Котаны, не подскажете, как выпилить из realm скажем все объекты класса A у которых поле b имеет определенное значение c ? realm.clear(classname.class) не позволяет, а цикл, на каждой итерации делающий result.removeFromRealm(); походу просто не пашет.
Аноним 31/05/16 Втр 18:39:29  758676
>>758672
Не юзать реалм.
Аноним 31/05/16 Втр 18:43:31  758679
>>758672
Попробуй так:
final RealmResults<A> result = realmInstance.where(A.class).equalTo("b", c).findAll();
realmInstance.beginTransaction();
result.clear();
realmInstance.commitTransaction();
Аноним 31/05/16 Втр 18:46:06  758682
>>758679
> clear
Выпилен с первой версией. result.removeAllFromRealm() или как то так.
Аноним 31/05/16 Втр 19:00:31  758696
>>758682
>это чувство когда использовал реалм в проекте на который забил хуй, так как тебе заплатили и вы разошлись, и там версия 0.88
Аноним 31/05/16 Втр 19:24:41  758717
>>758660
Расскажите, а как такое возможно, что сервис при нажатии на кнопку не будет забинден? Если я бинд делаю в onCreate, запуск и соединение — быстрая операция, сервис 100 раз успеет забиндиться, прежде чем пользователь нажмёт на экран. За исключением, быть может, ситуаций, когда сервис в другом процессе находится, но тут я понимаю уже.
Аноним 31/05/16 Втр 19:36:14  758724
>>758717
Ну вот googleApiClient хоть и не сервис (но внутри то там он есть), но как-то коннект не иногда происходит, возможно и у сервиса тоже что-то такое может случится.
Аноним 31/05/16 Втр 20:01:58  758738
>>758724
Ну, этот сервис в другом процессе находится, поэтому соединение может долго происходить.
Аноним 31/05/16 Втр 20:51:44  758795
Посоны, а откуда брать новости о всяких новых плюшках для андроида? Типа коспиляция инфы о новых лэйаутах, новых версий сдк с чейнджлогами, новых версий популярных библиотек и прочего.
Аноним 31/05/16 Втр 21:03:09  758801
>>758795
> новых версий сдк с чейнджлогами, новых версий популярных библиотек
https://github.com/ben-manes/gradle-versions-plugin
Аноним 31/05/16 Втр 21:08:27  758805
>>758801
Это не подходит, к сожалению. Нужно что-то более удобочитаемое, чем простое указание, что именно обновилось. Чтобы указаны самые важные изменения, описаны новые плюшки и т.д.
Аноним 31/05/16 Втр 21:09:30  758806
>>758805
Заходишь на гитхаб своей либы, открываешь CHANGELOG.md и радуешься жизни.
Аноним 31/05/16 Втр 21:13:18  758807
>>758806
Щас бы чейнджлоги каждый день по двадцать минут читать, в которых инфа о том, что теперь функция, которую ты не использовал, может принимать в качестве параметра новый объект, о существовании которого ты не догадывался. Или пытаться, например, понять по чейнджлогам, чем же ретрофит 2 выгодно отличается от предыдущей версии.
Аноним 31/05/16 Втр 21:18:19  758808
14647187001130.png (138Кб, 347x329)
Что можно почитать хорошего про многопоточность в андроиде? Что бы объяснялось что лучше и когда использовать.
Читаю сейчас Java Concurrency in Practice 2006 года. Еще туторилы здесь http://docs.oracle.com/javase/tutorial/essential/concurrency , но дошел до использования всяких java.util.concurrent.locks.ReentrantLock, Executor Interfaces и охуел, мне кажется такое уже надо всяким мидлам и сеньорам знать.
Аноним 31/05/16 Втр 21:21:18  758811
>>758808
Посмотри курсы вандербильтского университета на курсере, можно не все, а первые 4-5 лекций. Каждая по полтора часа где-то.
Аноним 31/05/16 Втр 21:24:16  758813
>>758808
Алсо, жабадоки тут нерелевантны, потому что чистая жавамногопоточность в андроиде вообще не используется, максимум - простенький new Thread(new Runnable()).start(); А для многопоточности используются Handler+Message или AsyncTask
Аноним 31/05/16 Втр 21:41:06  758820
>>758811
Скинешь ссылку на курс? Что-то не могу найти
Аноним 31/05/16 Втр 21:43:41  758821
>>758813
> для многопоточности используются Handler+Message или AsyncTask
Как там в 2010-м?
Аноним 31/05/16 Втр 21:46:13  758822
>>758820
https://www.coursera.org/course/posaconcurrency
https://www.youtube.com/channel/UCt-Wvc_ojTzGLpjhruIXYSw/videos - поиск по Concurrency
>>758821
>Как там в 2010-м?
А что у тебя, в 2016м? Rx? Так это сторонняя либа.
Аноним 31/05/16 Втр 21:47:16  758823
>>750609 (OP)
Аноны, опять про MVP, допустим есть типичный пример: список итемов и детализация, т.е. активити с двумя фрагментами в ландскейпе, и с одним в портретной ориентации.
Как лучше реализовать тут MVP? Два презентера под каждый фрагмент? Тогда как заменять фрагменты? Сделать, чтобы фрагменты вызывали сами методы активити, и она уже сама решала че делать, это норм вариант? Или один презентер под активити, который будет отвечать сразу за два фрагмента?
Аноним 31/05/16 Втр 21:55:07  758828
Как можно сделать finish() для top-Activity в static контексте? Есть плохой вариант писать
static Activity activity=this;
где-нибудь в onCreate... Но после того как многократно поймал так NPE, больше не хочется.

Суть вообще такова, что есть BroadcastReceiver, который принимает 2 сообщения. Поймав первое он должен будет сделать finish, чтобы потухло на экране приложение и создалась видимость мгновенного его завершения. Второе сообщение уже будет немного позже (0.1 .. 2 секунды), и его обработка будет уже реально завершать работу. Но чтобы receiver пережил finish, он должен быть static, а в static нет доступа к activity. Вот эта рефлексия:
http://stackoverflow.com/questions/11411395/how-to-get-current-foreground-activity-context-in-android/28423385#28423385
выдает пустой Map, например. Но должен же быть какой-то менеджер или еще что-то, чтобы получить доступ к стеку, правда же?
Аноним 31/05/16 Втр 21:56:15  758829
14647209759070.jpg (56Кб, 466x604)
>>758822
Ну хоть бы в early access
Аноним 31/05/16 Втр 21:59:03  758832
>>758823
Слишком абстрактно расписал давай конкретнее. Так могу только сказать, что два презентера не нужны по определению MVP.
>чтобы фрагменты вызывали сами методы активити
Только если коллбэки. Фрагмент не должен иметь доступ к родительской активити.
>>758828
А если не статик ресивер сделать (бля, что это вообще за чудо), а просто интентсервис запускать? Он сделает работу, какую надо, и умрёт. А активити завершишь сразу, на это пофиг.
Аноним 31/05/16 Втр 21:59:23  758833
>>758828
Ты хуйню какую-то нагородил.
Аноним 31/05/16 Втр 22:00:27  758836
>>758832
> два презентера не нужны по определению MVP
Что ты несешь, больная скотина?
Аноним 31/05/16 Втр 22:02:22  758837
>>758832
>>758828
А, жопой прочёл вопрос, сорри. Пробовал регистрировать бродкастресивер не в контексте активити, а где-нибудь ещё? Или в манифесте, или сделать сервис долгоживущий?
>>758836
Сосни хуйца, ты не понимаешь сути мвп.
Аноним 31/05/16 Втр 22:02:49  758838
>>758832
>два презентера не нужны по определению MVP
почему?
мне понравился ответ тут https://toster.ru/q/225663 с двумя презентерами, что скажешь?
Аноним 31/05/16 Втр 22:05:18  758843
>>758838
А, это другое дело. Мне показалось, что ты решил лепить по презентеру для каждого фрагмента, тем самым нарушая саму концепцию мвп. Если презентер слой будет независимо от масштаба приложения предствлен только двумя классами, каждый из которых делает свою работу, то это норм.
Аноним 31/05/16 Втр 22:08:23  758849
14647217039000.png (130Кб, 587x538)
>>758837
А ты понимаешь? Что-то не похоже.

У каждого View должен быть свой Presenter.
Аноним 31/05/16 Втр 22:15:05  758851
>>758849
>каждого View
Ну что давайте хуярить для всех вьюх по презентеру? Для каждого текствью?
Чего еще, добавить даже не не знаю.
Аноним 31/05/16 Втр 22:17:05  758852
>>758851
view в MVP != View в андроиде
Аноним 31/05/16 Втр 22:18:01  758853
>>758849
Ммм, бесполезные классы, вкуснаа. У меня сейчас проект на 50к строк, всё запихано в один презентер класс (строк 800 где-то), и при обновлении данных он просто уведомляет подписавшиеся на обновления фрагменты (просто паттерн обсервер с регистрацией на onAttach). Далее фрагменты получают уведомления, вместе с int кодом, который определяет, что именно было изменено, и если полученный код им важен, то они обновляют соответствующие вьюхи. У меня сейчас порядка 30-40 разнородных фрагментов и все они прекрасно работают по такой системе. Если бы я для каждого фрагмента делал бы презентер, я бы застрелился.
Аноним 31/05/16 Втр 22:18:12  758854
>>758851
Ага, вот стало и понятно, в чем твоя проблема: ты не отличаешь View как компоненты архитектуры от класса android.view.View.
Аноним 31/05/16 Втр 22:19:43  758856
>>758852
По твоей логике для каждого фрагмента должен быть презентер, теперь если упустить фрагменты и заменить их на фловы допустим у тебя будут твои кастомные вью с разделением которое ты скажешь. И да это может быть 1 текствью, теперь вопрос, как остановится и перестать плодить ненужные вьюхи?

>>758854
Детектор чини.
Аноним 31/05/16 Втр 22:20:27  758857
>>758853
Ну и нахер тебе Presenter тогда? То, что ты делаешь, это не MVP.
Аноним 31/05/16 Втр 22:21:39  758860
>>758853
> Далее фрагменты получают уведомления, вместе с int кодом, который определяет, что именно было изменено, и если полученный код им важен, то они обновляют соответствующие вьюхи
Да это же обычный eventBus, который все обсирают.
Аноним 31/05/16 Втр 22:21:43  758861
>>758853
Я другой анон, так а куда ты вынес запросы например? Фрагменты же юзают разные запросы например по нажатию на кнопку а у тебя выходить один презентер со всеми листенерами?
Аноним 31/05/16 Втр 22:24:06  758862
>>758856
Какие еще фловы? О чем ты, болезненный?
Аноним 31/05/16 Втр 22:26:35  758865
>>758857
Бля, ладно. Разрешаю тебе ебаться дальше с кучей презентеров, а сам пойду попрограммирую вслать на полуавтоматизированном коде.
>>758861
Фрагменты по нажатию на кнопку отправляют каллбэк в активити, и та что-то делает. Либо формирует запрос на сервер (я использую ретрофит, запрос по коллбэку обычно обновляет мой не-презентер класс, который в свою очередь обновляет фрагменты), либо показывает другой фрагмент и активити (тут вообще не нужно никакого взаимодействия). Напрямую из фрагментов делать вызовы в презентер - зашквар, потом никогда не разберёшься, что откуда вызывается. Максимум - чтение данных из презентера, без изменения оных.
Ящитаю, что в идеале фрагменты должны вообще иметь ноль логики и управляться только за счёт вызовов родительской активити, но у меня в силу некоторых причин (отсутствие дизайна в начале проекта) не получилось это реализовать.
Аноним 31/05/16 Втр 22:27:50  758866
>>758862
Я о том что у тебя придурка вьюха это фрагмент, т.е. одновременно могут отображаться 2+ вьюх следовательно столько же презентеров будут работать. Такая абстракция ничем не мешает тебе делать презентер на каждый элемент и если начнешь пилить без фрагментов прекрасно это поймешь.
Аноним 31/05/16 Втр 22:28:51  758868
14647229311370.png (7Кб, 130x128)
>>758853
>всё запихано в один презентер класс (строк 800 где-то)
Ты сейчас жалуешься или хвастаешься?
Аноним 31/05/16 Втр 22:29:46  758870
>>758868
Показываю, какой у меня толстый презентер Это 800 строк простых геттеров-сеттеров.
Аноним 31/05/16 Втр 22:30:08  758871
>>758866
>начнешь пилить без фрагментов
не начну
Аноним 31/05/16 Втр 22:31:03  758873
>>758870
ну не переживай, потом отрефакторишь, когда время будет, станет нормальная архитектура
Аноним 31/05/16 Втр 22:32:23  758874
>>758865
>Фрагменты по нажатию на кнопку отправляют каллбэк в активити, и та что-то делает. Либо формирует запрос на сервер (я использую ретрофит, запрос по коллбэку обычно обновляет мой не-презентер класс, который в свою очередь обновляет фрагменты), либо показывает другой фрагмент и активити (тут вообще не нужно никакого взаимодействия).
Рили у тебя не мвп, у тебя своя архитектура, твой презентер это практически ивентбас.
>Напрямую из фрагментов делать вызовы в презентер - зашквар, потом никогда не разберёшься, что откуда вызывается. Максимум - чтение данных из презентера, без изменения оных.
Слишком сильное заявление, тебе не кажется? Но так работает mvc если что.

>Ящитаю, что в идеале фрагменты должны вообще иметь ноль логики и управляться только за счёт вызовов родительской активити, но у меня в силу некоторых причин (отсутствие дизайна в начале проекта) не получилось это реализовать.
В идеале нужно делать активити вьюхой и отказываться от фрагментов.
Аноним 31/05/16 Втр 22:32:29  758875
>>758837
не пробовал... Я пока не очень хорошо с ними знаком вообще. Знаю, что где-то должен лежать зареганный объект, принимать intent-ы и чего-то с ними делать. И что работает он по фильтру-по action. Погуглю манифест, спасибо. Только пока не понимаю как можно откуда-то издалека будет управлять этим Activity.
Все это вообще нужно было, чтобы пока сервис сделает все свои дела, отправит запросы о закрытии приложения и статусы, показать пользователю, что приложение потухло. Это не так, и после того как сервис все отработает, в контексте MainActivity еще надо было штуку одну сделать, но его живой объект уже не требуется. Просто не хочется, чтобы приложение тухло долгое зависящее от соединения время
Аноним 31/05/16 Втр 22:32:59  758876
>>758871
В любом случае твой подход становится от этого не менее хуевым.
Аноним 31/05/16 Втр 22:33:20  758878
>>758873
Никогда
Аноним 31/05/16 Втр 22:35:35  758881
>>758876
Это не мой подход, даун.
Ты уже обобрался, когда дал понять, что View от android.view.View не отличаешь. Твоё мнение никому теперь неинтересно.
Аноним 31/05/16 Втр 22:38:38  758885
>>758873
Ну давай, расскажи, как же мне отрефакторить? Неужели разбить на десяток классов, которые будут иметь такую же логику?
Ай в пизду, ты вообще, похоже, не понимаешь в программировании.
>>758874
>Слишком сильное заявление, тебе не кажется
Не кажется. Активити - вью компонент для связи с презентером. Если С презентером связана не только активити, но и фрагменты - это лишние связи в архитектуре.
>Рили у тебя не мвп, у тебя своя архитектура, твой презентер это практически ивентбас.
Хуй с ним, я, конечно, могу спросить, почему мвп исключает ивентбас, но только мне похуй. Я чистую реализацию ивентбаса никогда в жизни не видел и не собираюсь смотреть.
Аноним 31/05/16 Втр 22:38:47  758886
>>758881
Придурок, это уровни абстракции, я тебе уже привел пример почему ты рахит с несколькими презентерами на экране одновременно.
Аноним 31/05/16 Втр 22:42:20  758889
>>758885
>разбить на десяток классов
да, где каждый класс выполняет свою работу, для этого и создавали ООП, это, видимо, ты чего-то не понимаешь в программировании
Аноним 31/05/16 Втр 22:42:33  758890
>>758885
>Не кажется. Активити - вью компонент для связи с презентером. Если С презентером связана не только активити, но и фрагменты - это лишние связи в архитектуре.
Из активити тоже нужно выносить логику, я об этом. А у тебя она как раз в активити.
Просто можно делать мвп с одной активити и кучей фрагментов, тогда презентеры будут работать с фрагментами но это похуй.
>>758885
>Хуй с ним, я, конечно, могу спросить, почему мвп исключает ивентбас, но только мне похуй.
Почему исключает, нет. Просто ты ивентбас презентером называл.
>Я чистую реализацию ивентбаса никогда в жизни не видел и не собираюсь смотреть.
А это ты зря, ладно тут анонимный форум, но в реальности такие слова отметка долбоеба до конца жизни.
Аноним 31/05/16 Втр 22:44:59  758893
>>758885
Это ты не понимаешь в разработке приложений. Прочитай про SOLID на досуге, много нового узнаешь.
Аноним 31/05/16 Втр 22:46:13  758894
>>758889
Вы не правы, всего доброго.
>>758890
>А у тебя она как раз в активити.
Ну, я вынес все вызовы к серверу в отдельный класс. В активитях остались только сотни коллбэков от фрагментов, которые обрабатываются в 1-3 строчки.
>>758893
Читал, сложна без примеров. Похоже на пердёж в лужу, который неприменим в реальной жизни.
Аноним 31/05/16 Втр 22:47:51  758896
>>758894
>Ну, я вынес все вызовы к серверу в отдельный класс. В активитях остались только сотни коллбэков от фрагментов, которые обрабатываются в 1-3 строчки.
дело в том что вызываешь ты эти 3 строчки не там где нужно если следовать патерну.

>Читал, сложна без примеров. Похоже на пердёж в лужу, который неприменим в реальной жизни.
Ладно парни у нас тут неадекват, хватит кормить этого зеленого.
Аноним 31/05/16 Втр 22:48:14  758897
>>758894
эталонный дегенерат
Аноним 31/05/16 Втр 22:49:23  758899
>>758894
> В активитях остались только сотни коллбэков от фрагментов
Нахуя? Почему фрагмент у тебя сам не выполняет запросы, а в активити вынести только навигацию между фрагментами?
Аноним 31/05/16 Втр 22:51:26  758905
>>758896
>>758897
Научите солиду, посоны. Киньте примеров. Я вообще-то сюда и зашёл первый раз за дохуя месяцев, чтобы узнать, что там нового в андроиде вышло.
>>758899
Потому что это будет слишком большая паутина и трудноисправляемая вызовов. Активити сравнительно мало (штук 10), фрагментов же штук 50. А если мне захочется один из вызовов как-то поменять?
Аноним 31/05/16 Втр 22:51:46  758906
14647243070840.jpg (131Кб, 474x700)
>>758894
> SOLID
> пердёж в лужу, который неприменим в реальной жизни.
Понятно. Можешь не продолжать.
Аноним 31/05/16 Втр 22:53:30  758910
>>758906
Вот блядь. Нет бы направить на путь истинный, нет, нахуя, лучше оскорбить и повысить за чужой счёт свою самооценку (вот он не знает солид, а я знаю, давайте-ка я его нахуй пошлю, ай да я молодец).
Аноним 31/05/16 Втр 22:54:48  758913
>>758910
>>758905
Пиздуй гуглить блять, заебали уже.
Вы блять в поисковик не можете чтоб найти инфу по принципу которому больше лет чем вам и всякий гайдов больше чем вы в свое жизни прочли.
Аноним 31/05/16 Втр 22:55:52  758915
>>758910
Объясняю: проблема не в том, что ты не знаешь SOLID. А в том, что ты называешь его
> пердёж в лужу, который неприменим в реальной жизни
А на все несогласия со своей архитектурой отвечаешь
> МНЕ ТАК УДОБНО, А ВЫ НЕПРАВЫ
Аноним 31/05/16 Втр 22:58:20  758919
>>758910
Если ты чего-то не знаешь, то какого хрена ты об этом кукарекаешь тогда? Ты себя только полном долбоёбом так выставляешь.
Аноним 31/05/16 Втр 22:59:13  758920
>>758913
Бля, я когда работу искал, прочитал сотню книжек, прошёл курс по agile, читал и про solid, и mvp учил, и в жопу носорогу заглядывал. Да только вся инфа, которую я нашёл - субъективна и подходит только в конкретных случаях для маленьких приложений.
>>758915
> пердёж в лужу, который неприменим в реальной жизни
>Читал, сложна без примеров. Похоже на

>А на все несогласия со своей архитектурой отвечаешь
Ну, посоветовал мне человек разбить одиноднородный класс на 10 классов, хуй пойми зачем. Ну да, я не согласен. И да, он не прав. Хорошо, если именно это является причиной твоего недовольства, то мне нет повода расстраиваться.
Аноним 31/05/16 Втр 23:01:41  758922
14647249012910.jpg (32Кб, 296x218)
Вас как почитаешь, вспоминается только это
Аноним 31/05/16 Втр 23:02:16  758924
>>758795
Бамп.
Аноним 31/05/16 Втр 23:33:16  758939
>>758828
Ну ладно, а если отвлечься от receiver-а и прочего. Разве нет какого-то обращения к системе, чтобы получить back-stack или объекты Activity? Мне кажется, это настолько же естественное действие, как получить какой нибудь очередной системный manager
Аноним 31/05/16 Втр 23:48:11  758950
ДА ИДИТЕ ВЫ ВСЕ В ПИЗДУ СО СВОИМ МОДНЫМ MVP! КАК БЛЯТЬ ВОБЩЕ МОЖНО ЧТОТО ГОДНОЕ КРОМЕ ХЕЛЛОВОРЛДА НАПИСАТЬ С ПОМОЩЬЮ ЭТОЙ ПАРАШИ!? ВОТ НАПРИМЕР У МЕНЯ ЕСТЬ АКТИВИТИ С ВЬЮФЛИППЕРОМ И МНЕ НУЖНО ПЕРЕКЛЮЧАТЬ ЕГО СОСТОЯНИЯ ПО НАЖАТИЮ НА КНОПКУ, КАКИМ БЛЯТЬ ХУЕМ Я УЗНАЮ ИЗ ПРЕЗЕНТЕРА КАКОЙ ЧАЙЛД СЕЙЧАС ОТОБРАЖАЕТСЯ (ПОДСКАЗКА: НИКАКИМ БЛЯТЬ! НЕЛЬЗЯ УЗНАТЬ, ПОТОМУ ЧТО ПРЕЗЕНТЕРУ ДОЛЖНО БЫТЬ СТРОГО ПОХУЙ НА ВЬЮ) И КАК В ТАКОМ СЛУЧАЕ ХОТЬ ЧТОТО АДЕКВАТНОЕ ПОСТРОИТЬ ИЗ ЭТОГО ГОВНА И ЭТИХ ПАЛОК?! НАСЛУШАЮТСЯ НА СВОИХ КОНФЕРЕНЦИЯХ ГОВНА И ЕБУТСЯ ПОТОМ С НИМ!
Аноним 01/06/16 Срд 00:08:21  758956
>>758950
Тут явно нужно объединить ViewFliper+Button в какую-то кастомную View.
Аноним 01/06/16 Срд 00:18:49  758965
>>758956
Ты в любом случае соснешь, потому что по хардкору решение на какую вью переключать должен принимать онли презентер, грубо говоря ифы должны быть не в самой активити, а в презентере, но какая конкретно сейчас чайлдвью отображается ты узнать из презентера не можешь, короче нахуй и в пизду. Скорее всего скоро набегут синьйоры с 1ккк в минуту и обзовут меня неосилятором и позором профессии.
Аноним 01/06/16 Срд 00:26:54  758969
>>758950
двачую, хуярить всё кашей намного лучше, заебали ети хипсторы
Аноним 01/06/16 Срд 00:37:51  758974
>>758969
https://www.youtube.com/watch?v=00AKKn0XVxw
Аноним 01/06/16 Срд 07:56:19  759050
>>758915
вот вкотился в IT мир, и понял что это какая болезнь в этой сфере. Люди ну прям очень трудны в общении, что-то сказать другое, что не соответствует мнению человека невозможно. Шлют сразу нахуй, начинают обсмеивать. Эта некая свобода собенно фрилансеров просто губид пиздецки. Твой пост идельно всё описывает. Вобщем схоронил скрин...
Аноним 01/06/16 Срд 08:17:53  759051
Можно как-то в студии указывать в тудушке к какому таску она относится? Вроде
// TODO remove this stub when #taskref is done
и чтобы студия это как-то понимала, автодополнение там или еще чего.
Аноним 01/06/16 Срд 08:45:12  759052
>>759051
Плагин поищи. Думаю есть такой с синхронизацией с джирой.
Аноним 01/06/16 Срд 10:47:41  759105
Нубский вопрос. По клику на кнопку появляется что-то вроде плавающего фрагмента попапа, по второму клику он убирается. Мне нужно сохранить созданный фрагмент в поле и реюзать или каждый раз new Fragment()?
Аноним 01/06/16 Срд 11:12:33  759123
>>759105
Ты вообще уверен что тебе нужен фрагмент?
Как ты вообще его показываешь/скрываешь?
Аноним 01/06/16 Срд 11:49:16  759144
>>759123
Нет, думаю не нужен. Я в общем более-менее разобрался.
Аноним 01/06/16 Срд 14:12:57  759248
>>758466
Я плохо помню свои мотивы. Обычно я использую эту строку, чтобы одно значение написать. А тут два пришлось, так что было ctrl-c/ctrl-v
Вообще надо получше понять разницу между commit и apply, потому что внедрив это, у меня и проблемы с многопоточностью решились, хотя целый день до этого пиал обходные пути по этой причине. Спасибо, кстати, большое

Я уже не помню почему стал писать через точку. Пробовал и тот и другой вариант, разницу почти не понял, но через точку было чем-то лучше. Кажется, через двоеточие дох вслед за процессом приложения и процесс сервиса, хотя они и должны были быть независимыми. Уже не помню
Аноним 01/06/16 Срд 14:15:59  759251
>>759248
> Вообще надо получше понять разницу между commit и apply

Commit сразу пишет в файл, apply не сразу.
Аноним 01/06/16 Срд 15:42:06  759337
Ощущение, что сообщения от PendIngIntent приходят через раз. То летят, то не летят. Может такое быть?
Аноним 01/06/16 Срд 17:21:01  759408
>>759248
> Вообще надо получше понять разницу между commit и apply, потому что внедрив это, у меня и проблемы с многопоточностью решились, хотя целый день до этого пиал обходные пути по этой причине. Спасибо, кстати, большое
Прочитай джавадок и поймёшь в чём разница. Один метод — синхронный, другой — нет.
Аноним 01/06/16 Срд 17:25:17  759415
>>759408
О, спасибо!
Аноним 01/06/16 Срд 17:25:55  759417
>>759415
С третьего раза только, дэ?
Аноним 01/06/16 Срд 17:41:58  759432
Посоны а можно на ведре пользоваться управляемыми контейнерами с cdi? Какие реализации есть?
Мимо энтерпрайз-примат
Аноним 01/06/16 Срд 17:46:17  759436
Ну тип хочу что то уровня манаджедбинов с их инжекцией в контроллеры
Аноним 01/06/16 Срд 17:50:25  759443
>>759436
>>759432
Никогда такой хуйни в ведре не встречал.
Аноним 01/06/16 Срд 17:58:56  759455
>>759443
Ух епт.
А как вы с сервисами работаете? Через статические классы чтоли ?
Аноним 01/06/16 Срд 18:02:07  759460
Например я запилил бин для каких то целей.
Мне в каждом контроллере его вручную инстанцировать? А если мне синглтон нужен. Или это фабрика
Аноним 01/06/16 Срд 18:09:05  759465
>>759460
Тебе что-ли нужно Dependency Injections?
Тогда бери Dagger2, Dagger или RoboGuice если он еще жив.
Аноним 01/06/16 Срд 18:11:53  759466
>>759465
Ага.
Спс
Аноним 01/06/16 Срд 18:53:01  759486
>>753437
А зачем ещё что-то? Я себе сделал в несколько строк обертку чтобы тайм-аут был и все
Аноним 01/06/16 Срд 19:08:02  759492
>>759455
Ты про системные сервисы, которые возвращает getSystemService, или android.app.Service, или о чем-то другом?
Аноним 01/06/16 Срд 19:10:33  759497
>>759486
хватит траллить
Аноним 02/06/16 Чтв 12:24:52  759921
Какие есть способы оптимизации приложения в плане энергопотребления?
Какие инструменты есть для этого?
Аноним 02/06/16 Чтв 13:05:40  759941
>>759921
чем меньше ваш код выполняется, тем лучше чувствует себя батарея.
ваш к.о.
Аноним 02/06/16 Чтв 14:22:33  760007
>>759941
Чем меньше включен экран тем меньше тратиться батарея. Для этого асинхронщина.
Кто мутит проект и нужны люди? Аноним 02/06/16 Чтв 14:23:33  760009
У кого проект и нужны люди?
Аноним 02/06/16 Чтв 14:27:44  760011
>>760009
Шо на каникулах нечем заняться?
Аноним 02/06/16 Чтв 14:38:35  760027
>>760009
Пиздуй в фурряч.
Аноним 02/06/16 Чтв 15:43:50  760078
Антон, покритикуй - https://github.com/pacodelavega/GithubDemo

Я никогда не устраивался и не работал андроид-разработчиком и не знаю, как там всё принято.

Тестовое задание:
Необходимо сделать приложение для поиска пользователей на github (https://developer.github.com/v3/search/#search-users)
Дизайн как в гугл плей, т.е плавающее окошко поиска в верхней части экрана, которое уезжает по свайпу вниз и выезжает по свайпу вверху (независимо от уровня прокрутки вниз, см. гугл плей). Внизу recyclerview с списком найденных пользователей. Поиск из плавающего окошка, по мере ввода символов.
Желательно использовать следующие инструменты и библиотеки: RxJava, Retrofit, Support library, Realm
Аноним 02/06/16 Чтв 15:48:45  760084
>>760078
На джуна сойдет.
Аноним 02/06/16 Чтв 16:53:01  760140
>>760078
Неплохо, но ничего особенного.
Хотя лично мне нравиться такая компоновка model/service/activity.

Я еще модельки сделал бы immutable (раз делаешь с упором на функциональщину).
Вот https://timboudreau.com/blog/json/read сайт генерит Java класс из JSON без сеттеров.
Ну и написал бы на котлине конечно.

Из минусов: нет обработки ошибок, нет обработки слишком частого ввода нет realm, хотя в пизду его.
Аноним 02/06/16 Чтв 16:58:09  760144
А как вы обычно хуярите класс предоставляющий функционал ретрофита, с возможностью выйти из сессии и начать новую? Синглтон? Или может создавать в Application.onCreate, а потом инжектить?
Аноним 02/06/16 Чтв 17:01:59  760147
>>760144
Что значит выйти из сессии?
Аноним 02/06/16 Чтв 18:48:28  760224
>>760084
>>760140
Спасибо за отзывы, обработку ошибок добавил. В таком задании ожидаются подробные комментарии и юнит тесты? Хотел добавить, но толком и нечего комментировать и тестировать.

>нет обработки слишком частого ввода
Это как реализовать? Я RxAndroid не пользовался никогда до этого. Добавить в:

users.subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Subscriber<Users>()

строчку:
.throttleLast(500L, TimeUnit.MILLISECONDS)

Чтобы обрабатывал последний запрос после которого прошло 500мс?
Аноним 02/06/16 Чтв 19:10:51  760235
>>760224
Тебе нужен либо PublishSubject c debounce, в который ты будешь передавать текст из колбэка, либо использовать RxSearchView с тем же debounce.
Да и хули ты тупишь, это самый каноничный пример использования Rx, хоть копипасти себе весь проект у какого-нибудь хипстера на medium.com
Аноним 02/06/16 Чтв 19:47:32  760251
>>760147
Ну вот пусть у меня был токен ZW1haWw6IG11ZGFrQG1haWwuY29tIHBhc3M6IHBvYzEzNGF6YUxPWA==, с ним я делал всякие запросы, отправлял его в хедерах, а потом юзер нажал logout, значит надо перестать этот токен сувать в хедеры. Значит надо его стереть, вот и возникает вопрос - где и как его хранить, цеплять то понятно что в билдере прицепить интерсептор.
Аноним 02/06/16 Чтв 19:57:14  760254
>>760251
В шаред преференсах, в файле с синхронной обреткой.
Аноним 02/06/16 Чтв 20:10:52  760258
>>760254
Что-то как-то сомнительно, если так, то interceptor'у нужен будет доступ к SharedPreference. Не будет ли он с диска каждый ебаный запрос читать? Оно-то конечно в отдельном потоке, но все же.
Аноним 02/06/16 Чтв 20:17:51  760260
>>760258
Зато не сотрётся при закрытии процесса приложения. Я сделал так, мне норм.
А для реализации подобной фигни в ретрофите (а точнее в OkHttp) нужно сделать кастомный CookieStore и установить его в сессию через функцию setCookieJar.
мимо
Аноним 02/06/16 Чтв 20:21:15  760264
>>760258
>>760260
Вообще, если напрячься, то можно сделать что-то типа подгрузки из sharedPreferences при иниализации сессии и дальнейшее хранение в переменной типа Map (как в дефолтной реализации CookieStore), если смущает постоянное обращение к SharedPreferences (хотя я не пойму, чего в этом плохого)
Аноним 02/06/16 Чтв 20:25:55  760267
>>760260
>>760264
Действительно, при смерти процесса может хуйня случится, ну раньше я и в переменную писал и в SharedPreference и при открытии приложения смотрел есть ли валидный токен, если был, то восстанавливал его. Посмотрим на этот кукистор.
Аноним 02/06/16 Чтв 20:28:11  760269
>>760267
Сорри, я тупанул немного. Мне почему-то показалось, что ты в кукисах токен передаёшь. Если он отдельным хедэром, то можно в интерсептере передавать, как ты и делаешь, просто стирать при логауте из преференсов.
Просто в OkHttp в интерсепторах нельзя передавать кукисы, они перезаписываются, поэтому мне пришлось велосипедить. К тебе это не относится, забудь.
Аноним 02/06/16 Чтв 20:34:28  760274
>>760258
> Не будет ли он с диска каждый ебаный запрос читать?
Не будет, ведь шаред преференсы кэширующие в памяти.
Аноним 02/06/16 Чтв 21:00:00  760291
>>760274
Тогда заебись вообще.
Аноним 02/06/16 Чтв 22:46:49  760397
14648968094770.png (19Кб, 508x325)
Аноны, есть один старый проект, который юзает карты. import com.google.android.maps. почему то не находит, хотя подключил google-play-services.jar из того самого проекта. Но странно, что он находит вот это - import com.google.android.gms.maps., но там измененные классы и мне не очень хочется все переписывать
Аноним 03/06/16 Птн 03:39:18  760476
>>760397
Очень старые сервисы у вас батенька. Уже 9 вышли. Боюсь проект нужно переделывать под новые. Но тут я смотрю вообще говно динозавра, если обратить внимание на способ подключения facebook'a и actionbarsherlok/
Аноним 03/06/16 Птн 16:53:19  760708
Нуб. Нужно вытащить 1-50 записей из базы, зная их айдишники (уникальные поля). Лучше делать один селект с WHERE IN (id, id...) или много селектов? Какой вариант хуже и насколько?
Аноним 03/06/16 Птн 16:54:22  760713
>>760708
Я считаю, лучше один, чем несколько.
Аноним 03/06/16 Птн 17:01:09  760720
>>760713
Ящитаю тоже, но основу для этого не имею, точнее имею, но учитывая мое незнание того как на самом деле работают базы, эта мысль вряд ли верна.
Аноним 03/06/16 Птн 17:04:35  760727
>>760708
Один конечно, так как один реквест к базе.
Аноним 03/06/16 Птн 17:07:54  760730
>>760727
Окей, спасибо.
Аноним 03/06/16 Птн 17:12:30  760733
>>760708
Можно создать временную таблицу, заполнить ее айдишниками и SELECT... JOIN...
Аноним 03/06/16 Птн 17:43:49  760749
>>760733
И это 100% лучше чем where in?
Аноним 03/06/16 Птн 17:58:34  760762
>>760749
42% Я ебу что ли ты задачу вообще не описал.
Только учти что у SQLite есть ограничение на размер текста запроса.
Аноним 03/06/16 Птн 18:04:25  760765
14649662660360.jpg (518Кб, 2500x1443)
Господа, а знание какого еще языка будет очень полезным для андроид разработчика? Может кто пояснить? В голову приходит C, C++, так как сам андроид на них написан. Ну Kotlin еще.
Аноним 03/06/16 Птн 18:11:00  760772
14649666600950.jpg (119Кб, 788x443)
>>760765
Clojure оффкозз, в будущем все будем писать под мобилки на ClojureScript + ReactNative
Аноним 03/06/16 Птн 18:11:30  760773
>>760762
А задача важна? Ну записей ~500 с 7 полями, айдишники в них это BaseColumn._ID primary key, как-то получаю список 10-50 этих айдишников, и нужно вытащить что-то с данными сделать.
Я уже решил делать на where in, но если джоином 100% лучше, то запомню на будущее.
Аноним 03/06/16 Птн 18:20:59  760774
>>760765
Haskell, Perl, Verilog. Так или иначе пригодится.
Аноним 03/06/16 Птн 18:21:26  760775
ктонибудь юзал AccountManager системный? думаю не засунуть ли туда логин со своего аппа? как считаете, а? а?
Аноним 03/06/16 Птн 18:29:32  760781
>>760775
Не связывайся ты с Android "сервисами" пока этого явно не потребует бизнес-задачи.

Меньше нахлебаешся с фрагментированностью/"изменением поведения" его API.
Аноним 03/06/16 Птн 19:41:35  760824
>>760733
Вот так майндфак ты тут разводишь.
Аноним 03/06/16 Птн 23:07:48  760946
14649844684980.jpg (217Кб, 1159x1654)
Че вы книг в шапку не добавите? Думал, что кроме The Busy Coder’s Guide to Android Development нихуя книг нормальных по андроиду и нет. А тут порылся, а их не так уж и мало, накачал вот, сижу читаю.
Bill Phillips, Chris Stewart, Brian Hardy, Kristin Marsicano - Android Programming: The Big Nerd Ranch Guide (2nd Edition) - 2015 - Вот эту прям вообще все хвалят, добавьте в шапку, если кто читал и может подтвердить, годно или нет.
Аноним 03/06/16 Птн 23:22:58  760958
>>760946
Ну давай расскажи чем это лучше d.android.com/training
Аноним 04/06/16 Суб 01:25:01  761005
>>760772
Нахуй такое будущее.
Аноним 04/06/16 Суб 09:58:06  761081
>>760958

Потому что есть разные способы подачи информации. Одним удобно учиться по одной книжке, другим по другой, 3-м вообще по видеоурокам.
Аноним 04/06/16 Суб 10:15:26  761085
>>761081
> неосилил
Печаль, я думал там что-то интересное чего нет офф. доках.

>>761005
> Нахуй такое будущее.
Чому?
Clojure язык богов + в ReactNative работаешь с нативным UI (это тебе не парашный фонгап с JS).
Аноним 04/06/16 Суб 11:01:24  761102
>>761085
>офф. доках
>Clojure язык богов + в ReactNative работаешь с нативным UI (это тебе не парашный фонгап с JS)
А вот и илита /pr подъехала, с охуительными историями, ясно.
Аноним 04/06/16 Суб 15:24:21  761239
Кто знает как получить папку карты памяти? Я написал приложение, использовал Environment.getExternalStorageDirectory(), и уже думал, что справился, но вчера дал другу потестить. Говорит, что да, он открывает ExternalStorage, но он не равен sd-карте. Рылся в гугле, пытался понять. Нашел, что есть какой-то SecondaryStorage, но что-то уже голова кипит от всех этих неожиданных знаний.
С другим другом общались, он сказал, что то у первого телефон странный, херня какая-то. Ну, я написал тогда такой код:
http://pastebin.com/PziFL1s2
Просто чтобы проверить что прочитается. На одном моем устройстве работает хорошо. На другом выдает или карту памяти, или другое хранилище, если карта отсутствует. А друг так вообще сказал:
"крешится при открытии"
Нихрена не понимаю в чем дело
Аноним 04/06/16 Суб 15:27:37  761244
>>761239
У меня 2.3.3
Второй 4.1
У друзей 5.1, но разные устройства
Аноним 04/06/16 Суб 15:49:55  761260
Есть фрагмент во вьюпейджере, onCreateView фрагмента создает какие-то вьюхи, типа mTextView = (TextView)...
После onDestroyView мне о созданных вьюхах нужно забыть? Или стоит делать if (mTextView == null)... в onCreateView?
Аноним 04/06/16 Суб 16:53:34  761309
А какой самый компактный и удобный фреймворк для автоматического определения вьюшек? заебался писать столбцы findviewbyid, хочется что-то типа

@Inject{R.id.textview}
TextView mTextView

и чтобы этим функционалом всё и ограничивалось.
>>761260
Быстрее самому затестить:
if (mTextView == null)
Log.i(TAG,"обнуляется");
else
Log.i(TAG,"не обнуляется");

и попрыгай по вьюпейджеру
Аноним 04/06/16 Суб 16:54:56  761312
>>761309
>самый компактный и удобный фреймворк для автоматического определения вьюшек
Butterknife

@Bind(R.id.huy)
Huy pesda

в onCreate
ButterKnife.bind(this);
Аноним 04/06/16 Суб 16:56:10  761313
>>761312
Спасибо.
Аноним 04/06/16 Суб 16:59:43  761316
>>761309
Тка я прыгал, они не нулятся, я ведь их нулями не забивал в onDestroyView. Просто думал адекватная ли это вообще практика что-то делать с вьюхами после onDestroyView фрагмента. Доки только говорят, мол, освободить ресурсы относящиеся к вьюхам в ондестройвью.
Аноним 04/06/16 Суб 17:02:33  761318
>>761316
Ты, возможно, просто недалеко прыгал, потому что вьюпейджер не всегда уничтожает фрагмент при смене страницы, это зависит от используемого адаптера. В каком-то адаптере сохраняются 1-2 соседних фрагмента, в каком-то сохраняются все.
Аноним 04/06/16 Суб 17:11:38  761325
>>761318
Анон, я все стадии логировал, обычный (не StatePager) адаптер просто делает onDestroyView табам, которые дальше +1 с обеих сторон. Думаю все же можно реюзать созданные вьюхи, ведь пересоздавать стоит только когда это имеет смысл для логики фрагмента.
Просто боюсь если вдруг не знаю какую заковырку, которая потом встанет боком.
Аноним 04/06/16 Суб 17:51:39  761356
>>761325 Ага, все, нашел по теме:
http://stackoverflow.com/questions/18637134/fragment-should-i-reuse-view-in-oncreateview-and-how-should-i-do-that
Аноним 04/06/16 Суб 18:07:18  761375
>>761309
Android DataBinding, мне зашло на отлично.
Аноним 04/06/16 Суб 19:02:16  761410
>>761239
> Кто знает как получить папку карты памяти
Просто забей. Это анальная боль еще та, ведь то, что возвращается Environment.getExternalStorageDirectory() задается производителем девайса. Если он ленивый ублюдок и сделал еще внутренней памятью первый слот под флешку а второй доступен для пользователя, то тебе будет возвращаться именно первая внутренняя память.
И лечится это только костылями уровня проверки монтированных каталогов в /mount.
А на 4.4 ты вообще туда хуй че запишешь.
Аноним 04/06/16 Суб 19:12:51  761429
>>761410
Ну с китката уже завезли документ провайдер, а на лолипопе он уже вменяемый. Только вот на некоторых китайцах его нет, такой-то лол. А до него только ебля: http://stackoverflow.com/questions/11281010/how-can-i-get-external-sd-card-path-for-android-4-0
Аноним 04/06/16 Суб 19:14:16  761434
А чего за столько времени никто не сделал супер библиотеку, которая со всем этим зоопарком разбирается?
Аноним 04/06/16 Суб 19:16:45  761440
>>761434
Сделай, хули.
Аноним 04/06/16 Суб 19:19:26  761442
>>760765
Asm, brainfuck, f#
Аноним 04/06/16 Суб 19:21:02  761445
>>761440
У меня нет возможность такое как следует оттестировать. Не то чтобы я собирался.
Аноним 04/06/16 Суб 19:30:44  761459
>>761445
Никто не хочет давать не гарантированное решение, потом еще хуями закидают.
Аноним 04/06/16 Суб 20:11:18  761554
Как совместить VK SDK с RXJava?
Аноним 04/06/16 Суб 20:16:35  761562
>>761554
что тебе именно надо совместить?
Аноним 04/06/16 Суб 20:19:53  761570
>>761554
Берешь и оборачиваешь колбэк в Observable.create.
Аноним 04/06/16 Суб 20:57:09  761594
>>761410
>Просто забей
Ну как тут забить, если мое приложение работает с пользовательскими файлами... На карте они или где-то еще - не так принципиально. Просто нужен проводник по местам, где эти файлы могут оказаться (скорее всего, они были переброшены с ПК, и пользователь ожидал использовать их через всяке приложения). Но если все будут игнорировать эти носители, то что, скоро не останется плееров, файл-менеджеров, галерей, читалок? Как они работают, и на каждом устройстве? Или в каждом файл-менеджере написана тысяча костылей, чтобы он мог везде работать? Я просто думал, что андроид позиционируется как платформонезависимая система. Иначе бы в требованиях писали, что нужен не 4.2 андроид, а самсунги такие-то, соньки такие-то и т.д.
Аноним 04/06/16 Суб 21:01:24  761597
14650632846740.png (12Кб, 724x316)
14650632846741.png (9Кб, 481x320)
>>761309
> самый компактный и удобный фреймворк для автоматического определения вьюшек?

Что же вы юродивые какие, на вот мой (написал за 5 минут):
пик 1 - фреймворк
пик 2 - пример использования (просто тип и типов в дженерике)

Писать надо на нормальных языках.
Аноним 04/06/16 Суб 21:04:43  761601
>>761597
Нормальноязычный, у тебя же есть kotlinx.android.synthetic
Аноним 04/06/16 Суб 21:10:21  761608
>>761601
Это как пример захотелось самому такой написать.

Для себя я юзаю собственный DSL для связки UI и MVVM, общий для Android/iOS.
В итоге кода получается столько же как с кодогенераторами.
Аноним 04/06/16 Суб 21:11:35  761612
>>761608
Ты себе не представляешь, как ты меня бесишь этим италикболдом. Перекатывай тред давай лучше
Аноним 04/06/16 Суб 21:16:40  761621
>>761612
Я тебе сейчас перекачу, будет:

Разработка на Kotlin под Android тред №21
Аноним 04/06/16 Суб 22:01:44  761661
>>761608
А как ты под гейос ебашишь?
Аноним 04/06/16 Суб 23:05:38  761727
посоны, реально ли в ведре юзать svg для иконок? сервер хочет присылать, но чет я погуглил, svg походу только можно сконвертить в vector-drawable, которые завезли только в lollipop
Аноним 04/06/16 Суб 23:18:38  761737
>>761727
>Сервер
>присылать svg-картинки
Вы там ебнулись? Нихуя у тебя работать не будет. Если это иконки действий то засунь из сразу в апк. И студиия сможет сконвертить их в png, сможешь ограниченно пользоваться ими почти как vector-drawable до лолипопа. Но смысл в том что она сгенерит фолбэк из пггшек при сборке, а никак не в рантайме.
Аноним 04/06/16 Суб 23:26:11  761745
>>761410
> Просто забей. Это анальная боль еще та, ведь то, что возвращается Environment.getExternalStorageDirectory() задается производителем девайса. Если он ленивый ублюдок и сделал еще внутренней памятью первый слот под флешку а второй доступен для пользователя, то тебе будет возвращаться именно первая внутренняя память.
Это нормальная ситуация. External Storage был картой памяти лет 5 назад, сейчас это всегда внутренняя память для свободного использования.
Аноним 04/06/16 Суб 23:29:01  761748
>>761621
> Разработка на Kotlin под Android тред №21
Охуенно. Там и сиди только.
Аноним 05/06/16 Вск 05:13:35  761934
>>761239
Продолжение истории.
Прошлый код хорошо пошел на моих устройствах, на устройстве первого друга выдал внутреннюю память, а еще у троих тупо вылетел и не стал запускаться.
Я взялся воплощать понятный моим мозгам способ:
http://stackoverflow.com/a/19831522
В результате, на моих оно по прежнему работает, у первого друга вылетает с ошибкой, а от второго ответа пока нет. Ошибка в последнем коде у первого друга совпадает с ошибкой в первом коде у остальных:
java.lang.NullPointerException: Attempt to get length of null array
http://pastebin.com/hAq7yuAm
Т.е, я получил Environment.getExternalStorageDirectory(), который был не null
Потом я получил его родителя rootFile, файл по которому существует и не является файлом. Однако rootFile.listFiles() возвращает null, потому что...
>Returns an array of files contained in the directory represented by this file. The result is null if this file is not a directory.
Значит rootFile не файл, не папка. Но что это, мать вашу, такое вообще? Как такое может быть?
Аноним 05/06/16 Вск 08:23:42  761978
>>761934
> Environment.getExternalStorageDirectory().getParent();
Плохая идея.
> Но что это, мать вашу, такое вообще?
https://en.wikipedia.org/wiki/Inode
Аноним 05/06/16 Вск 09:11:31  761986
>>761727
> реально ли в ведре юзать svg для иконок
Реально, но лучше не надо.
compile com.caverock:androidsvg
Аноним 05/06/16 Вск 10:54:43  762030
Привет, андроиды.
Меня интересует вопрос, можно как-нибудь захватить изображения с телефона и передать на компьютер, без установки на компе IDE?
Что-то не гуглится ничего по этому поводу.
Аноним 05/06/16 Вск 10:56:49  762033
>>762030
Сделать скриншот - обычно кнопка питания + кнопка громкости вниз.
Аноним 05/06/16 Вск 10:57:37  762034
>>762030
https://developer.android.com/studio/command-line/shell.html?hl=ru#screencap

Качаешь отдельно adb и делаешь.
Аноним 05/06/16 Вск 11:06:26  762040
>>750609 (OP)
ПЕРЕКАТ
https://2ch.hk/pr/res/762039.html
https://2ch.hk/pr/res/762039.html
https://2ch.hk/pr/res/762039.html
https://2ch.hk/pr/res/762039.html

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 533 | 31 | 109
Назад Вверх Каталог Обновить

Топ тредов