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

09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!
30/09/16 - BREAKING NEWS ШОК АБУ ПРОДАЛСЯ МЭЙЛУ (на самом деле нет)
25/09/16 - Персональное обращение Абу - СБОР ПОЖЕРТВОВАНИЙ НА ДВАЧ



Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 515 | 16 | 128
Назад Вниз Каталог Обновить

Android Development Thread 2.0 Аноним # OP  08/09/16 Чтв 23:48:05  838598  
14733676852940.png (509Кб, 1000x970)
Android Development Thread 2.0

Обсуждаем разработку под Android, ждём выхода новых Нексусов, смеёмся над седьмым гейфоном.

FAQ

> Хочу вкатиться в разработку под Android!
Большинство приложений написано на Java, выучить её на хорошем уровне — это первое, что необходимо сделать. Рекомендуемую литературу см. в Java-треде.
После этого можно открыть официальную документацию http://developer.android.com/training/index.html и попробовать создать по туториалам своё первое приложение.
В дальнейшем потребуется базовое знание SQL, понимание XML и JSON.

> IDE и инструменты?
Android Studio — основной инструмент разработчика. Кроме неё потребуется Android SDK (устанавливается вместе со студией).

> Мануалы?
- Официальная документация: http://developer.android.com/
- Полезный гайд для начинающих и продвинутых: http://guides.thecodepath.com/android
- Бесплатный видеокурс от Google для новичков: https://www.udacity.com/course/android-development-for-beginners--ud837
- Два ресурса, главный (и единственный) плюс которых — русский язык: http://startandroid.ru/ и http://developer.alexanderklimov.ru/android/
- Классика, способная дать ответ на почти любой вопрос "Как сделать xyz?": http://stackoverflow.com/

> Альтернативы Java?
- Kotlin — JVM-совместимый язык от JetBrains. Есть лямбды, стримы и делегаты. Можно использовать в проекте вместе с кодом на Java.
- Xamarin — кросс-платформенный фремворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия.
- PhoneGap/Ionic/Titanium/ReactNative — имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити. Вопросы по ним — в js-тред.
- BugVM — кросс-платформенный фреймворк, написанный на Java. Форк невинно убиенного RoboVM.

Предыдущий тред: https://2ch.hk/pr/res/829054.html
Аноним 08/09/16 Чтв 23:58:52  838621
14733683322240.png (58Кб, 873x762)
14733683322251.png (59Кб, 775x740)
Бонус
Аноним 09/09/16 Птн 00:03:42  838627
>>838621
это джун?
Аноним 09/09/16 Птн 00:06:39  838630
>>838627
Да. Вернее, даже пред-джун, ибо тестовое задание для стажировки.
Аноним 09/09/16 Птн 00:30:35  838655
>>838621
>отсутствие крашей
Возьми молоток с собой на проверку и отбивай проверяющим по пальцу за каждый не-нексус. А лучше — отрезай ножницами по металлу.
>code-style от Google
Какой бля code-style от Google? Тем более оно, сука, всё равно в одинаковый байт-код соберётся, лишь бы читать можно было.
Напридумают хуйни всякой, а потом ебут друг друга в жопы.
Аноним 09/09/16 Птн 00:55:56  838673
>>838630
ну норм, дефолтное задание, только вот адаптация под планешты че то дохуя
Аноним 09/09/16 Птн 00:56:47  838674
>>838673
Удвою, планшеты на андроиде нахуй не сдались, это рынок винды и iOS.
Аноним 09/09/16 Птн 07:06:46  838748
>>838598 (OP)
Ты старый ОП?
Аноним 09/09/16 Птн 09:27:39  838770
>>838621
> Тестовое задание на стажера судя по сложности сразу в Google
> Kotlin
А ха ха наконец-то
Аноним 09/09/16 Птн 10:26:15  838791
>>838490
Зочем?
Ну ладно может таки переведу и на хабр выложу.
Аноним 09/09/16 Птн 10:31:10  838793
>>838598 (OP)
Ты что с шапкой сделал уебан?
Аноним 09/09/16 Птн 10:33:07  838795
>>838793
Хорошая красивая шапка, вместо прошлого уебища.
Аноним 09/09/16 Птн 10:34:04  838796
>>838748
Нет, я старый оп.
Проебали нумерацию, какое-то говно в шапке на три строки.

>Альтернатива джаве
>Xamarin
>PhoneGap/Ionic/Titanium/ReactNative
Какой даун.
Аноним 09/09/16 Птн 10:35:30  838797
>>838795
Да хуя с два. В ебало вам плюнул, больше не дам шапки делать.
Аноним 09/09/16 Птн 10:56:06  838801
>>838796
>Нет, я старый оп.
Ну и ладно, ты тут держись и не бугурти особо, твои пункты 1-10 тоже не очень были.

Старперам вроде тебя с ~1.5 годом опыта пора на пенсию, даешь дорогу молодым.
Думаю через пару тредов вообще шапку перекатим на Kotlin.
Аноним 09/09/16 Птн 11:34:59  838811
>>838801
Понятно, школота заселила тред.
Аноним 09/09/16 Птн 12:02:18  838823
gson или jackson ?
Аноним 09/09/16 Птн 12:21:43  838843
>>838823
>gson или jackson ?
ProtoBuf

Как говорит Робер М.: "лучшее техническое решение - это отложенное решение".

Какая нах## разница какую брать бибилиотеку, это все third-party components.
Вынеси сериализацию в отдельный модуль, так что ее можно было менять в будущем.
Аноним 09/09/16 Птн 13:45:59  838882
>>838823
org.json
Аноним 09/09/16 Птн 14:10:08  838895
>>838843
>>838882
подойдите к ответу на вопрос более ответственно.
вы на собеседовании как никак
Аноним 09/09/16 Птн 14:47:59  838910
Блять, я в рот ебал это назначение цветов аппкомпат контролам.
У меня блядский AppCompatEditText, мне нужно поменять цвет подчеркивания.

colorControlNormal/Activated/Highlight в стиле темы - хуй
colorControlNorma/Activated/Highlightl в отдельно стиле для theme элемента - хуй
colorPrimary и др - хуй

В итоге сижу любуюсь охуенной белой линией едиттекста на белом фоне.
Аноним 09/09/16 Птн 14:53:31  838912
>>838910
http://stackoverflow.com/a/26631227
Аноним 09/09/16 Птн 14:54:29  838913
>>838912
Я в посте уже это указал.
Аноним 09/09/16 Птн 14:55:24  838914
>>838910
И проблема только на 21+. Ниже цвета применяются нормально.
Аноним 09/09/16 Птн 14:55:30  838915
>>838913
Хз, у меня всё работает. Старая версия support library?
Аноним 09/09/16 Птн 14:58:13  838918
>>838915
Последняя.
Аноним 09/09/16 Птн 15:01:19  838921
>>838895
Сынок, это я тебя буду собеседовать, раз уж ты с такими тупыми вопросами приходишь.

Шесть-лет-в-андроид-деве
Аноним 09/09/16 Птн 15:02:50  838922
>>838921
Поссал на новичка.

Пятнадцать-лет-в-андроид-деве
Аноним 09/09/16 Птн 15:05:05  838928
>>838922
>>838921
>Шесть-лет-в-андроид-деве
>Пятнадцать-лет-в-андроид-деве
Поссал на вас обоих.
70 лет в андроид деве
Аноним 09/09/16 Птн 15:09:59  838930
>>838928
Насрал тебе на голову.

мимо-Райан-Гослинг
Аноним 09/09/16 Птн 15:32:58  838946
Прочитал head first java. Теперь могу вкатываться в андройд и читать документацию?
Аноним 09/09/16 Птн 16:07:33  838969
>>838946
Прочитал одну книгу != умею хорошо программировать на Java
Аноним 09/09/16 Птн 16:15:31  838975
>>838921
ахах, мне этот вопрос на собесе как раз задал чел, который начал разрабатывать с самых первых ведроидов
Аноним 09/09/16 Птн 16:21:46  838979
Привет андроиданам из энтерпрайза опять.
Аноним 09/09/16 Птн 16:26:18  838984
>>838979
Как на галере, брат?
Аноним 09/09/16 Птн 16:26:36  838985
>>838975
Помню, когда то это и для меня было действительно важно.

Мы гоняли огромные JSON на телефоны с 16 MB оперативы.
GSON тогда был версии (по моему) 1.X и как-то неудачно написан что проигрывал Jaskon в разы.
Немного посже вышла весрия 2.0 в которой они сильно проапргредили скропрость парсинга.

Сейчас, после стольких лет оптимизаций этих библиотек и появления 4-х ядерных смартфонов,
я бы скорее выбирал парсер по критерию "может ли он работать с иммутабельными объектами".

6-лет в разработке
Аноним 09/09/16 Птн 16:28:09  838986
>>838984
Норм. Сегодня офигенный стрим написал для пробега по дереву.
Всё хочу освоить андроид, а времени нет.
Сейчас уже выбрал в магистратуру кафедру веб проги, а там для поступленя нужен матан, так что изучение андроида опять откладывается.

А у тебя?
Аноним 09/09/16 Птн 16:28:31  838987
>>838969
>>838946
жыза, я так понял нужно создать какое-нибудь первое приложение
только идеи нет
Аноним 09/09/16 Птн 16:42:37  838999
14734285574090.png (1292Кб, 2000x1517)
Запилите нормальную версию R https://cran.r-project.org/ под андроид. Есть только обрезанная по самые помидоры коммандная строка, без намека на выдающиеся графические возможности этого замечательного языка обработки данных.
Аноним 09/09/16 Птн 16:47:02  839002
>>838999
эр говно, бери юляшу и не вуёбывайся
Аноним 09/09/16 Птн 16:49:55  839006
>>839002
>юляшу
Там 0,01% от реализованных на R алгоритмов нет. инб4 сам и напиши
Аноним 09/09/16 Птн 16:56:49  839011
>>838986
Все горит, нужно натянуть текстурки в игре, а они не натягиваются, движок говнона самом деле проблемы во мне. Нужно подтереть сопли джунам, что бы делали заебись, а не говно. Нужно вправить мозг бекендщику, короче завал.
Аноним 09/09/16 Птн 17:01:18  839016
>>838986
> магистратуру кафедру веб проги
Пиздец.
Аноним 09/09/16 Птн 17:02:00  839017
>>838987
- Клиент для Двача. Все профессионалы с этого начинали.

- Или >>838621
Аноним 09/09/16 Птн 17:04:13  839019
>>838999
Нахуй тебе R на смартфоне? Ты ебанутый?
Аноним 09/09/16 Птн 17:05:47  839021
>>839019
На планшетике жи.
Аноним 09/09/16 Птн 17:12:26  839023
>>839021
То же самое. В общем, да, ебанутый.
Аноним 09/09/16 Птн 17:26:40  839027
>>839011
Оо, удачи тебе. У меня такой кастомер, которому сроки почти никогда не горят.

>>839016
Почему?
Аноним 09/09/16 Птн 18:52:45  839071
14734363652360.png (17Кб, 681x298)
Сап, это опять я с SQLite. Короче, как вывести отдельную строку, а не выводить все столбцы?
Аноним 09/09/16 Птн 19:01:08  839079
>>839071
Так строку или столбцы? Если строку, то selection, если столбцы, то projection.

И причём тут Android? Тебе в sql-тред с такими вопросами.
Аноним 09/09/16 Птн 19:58:22  839116
https://medium.com/russian/почему-мой-телефон-не-обновится-до-нового-андроеда-e4cd5fa3fa85
Аноним 09/09/16 Птн 20:08:37  839126
14734409180560.png (2104Кб, 1440x498)
Из Гугл-плея убрали раздел new apps/new games
Аноним 09/09/16 Птн 20:33:24  839136
>>839126
Неча всякое индиговно рекламировать за бесплатно.
Аноним 09/09/16 Птн 20:43:40  839154
>>839071
Хули ты такой? Ты задал аргументы для квери. Тебе выплюнуло курсор. На каждой позиции курсора ты можешь достать имя котика по индексу 0, номер на 1 и возраст на 2. Очень вероятно что котик по твоим критериям в базе не один, значит там несколько строк. У тебя не аппендится в текствью потому что ты мудаксама идея туда апендить пока ты идешь по курсору тупа до невозможности. Если ты хочешь ток одного кота, ну блять возьми и верни из этого метода new Cat(name, phone, age), после первой итерации цикла, только курсор закрой. Если твоя блядская проблема в том, что ничего не выводится, так это вероятно потому что курсор пустой, тебе так сложно логнуть его размер?
Аноним 09/09/16 Птн 20:56:43  839174
Для чего и где используется CancellationListener из CancellationSignal?
Для собственно завершения некой операции?
Аноним 09/09/16 Птн 21:13:54  839192
Стоит ли перекатываться к вам из разработки под винфон?
Аноним 09/09/16 Птн 21:17:46  839193
>>839192
>винфон
Ты живой?
Аноним 09/09/16 Птн 21:18:15  839194
>>839193
Немного.
Аноним 09/09/16 Птн 21:25:03  839205
>>839194
Ну если не войдешь в айос то войдешь сюда.
Аноним 09/09/16 Птн 21:51:13  839229
>>839205
> Ну если не войдешь в айос,
то сюда у него тем более не получится "войти", если он даже айос не осилит
Аноним 09/09/16 Птн 21:54:14  839231
>>839192
>Стоит ли перекатываться к вам из разработки под винфон?
Однозначно стоит перекатываться в кросплатформу.
Попробуй Xamarin.Form будешь как дома (C# + XAML).
Аноним 09/09/16 Птн 21:58:18  839234
>>839231
От шарпа уже подташнивать начинает, наебался я с ним.
Аноним 09/09/16 Птн 22:03:08  839238
>>839229
На иос денег нет.
Аноним 09/09/16 Птн 22:07:51  839240
>>839234
>От шарпа уже подташнивать начинает, наебался я с ним.
В принципе я тебя понимаю, сам сижу на Kotlin, он даже по сравнению с C# местами по круче
primary constructor, flow-sensitive typing, var для полей, функции без классов, более удобные extension методы (ну бомба: адекватные переносы для { и методы с мал. буквы).

Но ты еще Java не пробовал, это как C# 2.0 (особенно учитывая что надо юзать 1.6 или с костылями мятся)
Аноним 09/09/16 Птн 22:09:26  839242
>>839240
Да, котлин я пробовал, понравился. Вот думаю в ведро вкатиться и сразу на нем писать.
Аноним 09/09/16 Птн 22:11:29  839246
>>839240
P.S.
> (ну бомба: адекватные переносы для { и методы с мал. буквы)
Дико двачую, бесит паскаль кейс и фигурные скобки на новой строке в шарпе.

Аноним 09/09/16 Птн 22:32:08  839254
>>839231
> Попробуй Xamarin.Form будешь как дома (C# + XAML).
Я даже не знаю, что вообще есть хуже связки Xamarin + C#. Меня даже от js не так сильно воротит, как от неё.

другой анон
Аноним 09/09/16 Птн 22:40:18  839256
>>839254
> динамико-дрисня
спасибо нам очень важно ваше мнение, оставайтесь на линии
Аноним 09/09/16 Птн 22:52:23  839262
>>839256
Ты жопой читаешь, даун мелкобуквенный? Я js для сравнения привёл.
Аноним 09/09/16 Птн 22:57:22  839268
>>839262
>Ты жопой читаешь, даун мелкобуквенный? Я js для сравнения привёл.
ты червь-пидар, запомни нет ничего хуже JS
Аноним 09/09/16 Птн 23:00:39  839270
>>839268
>>839262
А зачем вы вообще на js пишете? Что вас сподвигло на это?
Аноним 09/09/16 Птн 23:20:56  839279
>>839270
Да никто на нём не пишет. Сказал же: я его для сравнения привёл.
>>839268
Ты явно хуже.
Аноним 09/09/16 Птн 23:22:26  839283
>>839268

>Гонит на язык будущего

>Пишет с сажей в тематики

Ясно понятно
Аноним 09/09/16 Птн 23:22:50  839284
>>839283
в тематике

фикс
Аноним 10/09/16 Суб 00:04:33  839291
>>839240
> адекватные переносы для {
А какая с этим проблема на шарпе?
Аноним 10/09/16 Суб 00:44:15  839295
Аноны, на каких маках вы кодите? Какой стоит брать?
Аноним 10/09/16 Суб 01:30:43  839302
>>839071
Null null null дерни себя, пес, за анал.
Аноним 10/09/16 Суб 01:41:51  839304
>>838910
Сделай стиль для 21 и туда пихни android:colorControlNormal
Аноним 10/09/16 Суб 01:45:37  839305
>>839295
Не на маках. Мы же не ёбнутые.
Аноним 10/09/16 Суб 06:54:36  839328
>>839295
>>837254 да и вообще иди почитай тот тред
Аноним 10/09/16 Суб 09:15:40  839358
>>839295
Я на прошел 13года, нормально себя чувствую. Джунгли на эре 15го, там 4 гига, а не 8, но ему тоже норм если пользоваться девайсом, а не эмулятором.
Аноним 10/09/16 Суб 09:16:03  839359
>>839358
Прошке*
Аноним 10/09/16 Суб 09:19:21  839360
>>839358
Блять, ебаная автозамена.
Я на прошке 13года, нормально себя чувствую. Джун на эйре 15го, там 4 гига, а не 8, но ему тоже норм, если пользоваться девайсом, а не эмулятором
Аноним 10/09/16 Суб 09:29:33  839364
>>839360
У тебя видимо мак недавно, все мои знакомые отключали автозамену в первые месяцы.
Аноним 10/09/16 Суб 09:35:54  839367
>>839360
Главное SSD, 4 гб для mac os мало.
Аноним 10/09/16 Суб 10:32:31  839432
>>839192
Решил вкатиться, иду по туториалу, пока все нравится больше, чем в увп.
Аноним 10/09/16 Суб 10:54:29  839445
>>839254
Java+RX - вот оно дно. Благо есть Котлин.
Аноним 10/09/16 Суб 10:55:54  839446
>>839364
Я с ведра писал.
Аноним 10/09/16 Суб 10:56:41  839447
>>839445
Что ж вам так от rx печет-то?
Аноним 10/09/16 Суб 10:59:08  839448
>>839447
Ничего не печет. Печет от того, как он вписывается с жабу.
Аноним 10/09/16 Суб 11:01:10  839450
>>839448
И в чем проблема вписывания в джаву? Куча мелких объектов для сборщика?
Аноним 10/09/16 Суб 11:41:14  839459
>>838598 (OP)
что требуют от джуна на ведре? сколько приложений в портфолио и какой сложности?
Аноним 10/09/16 Суб 14:06:34  839507
>>839445
Ёбнутый?
Аноним # OP  10/09/16 Суб 14:11:44  839508
>>839459
Нужно хорошее знание Java, понимание базовых принципов Android (жизненный цикл activity/fragment, что такое Context, intents, services, UI thread, support library, shared preferences, SQLite), знание популярных библиотек типа Retrofit + Glide/Picasso.

Чем больше портфолио — тем лучше. Для начала хватит чего-то типа этого >>838621
Аноним 10/09/16 Суб 14:14:21  839509
>>839507
А вот и больной подъехал. Куда же мы без твоих однословных постов.
Аноним 10/09/16 Суб 14:23:04  839511
>>839509
Хорошая аргументация, молодец. Иди пиши AsyncTask'и дальше, тебе некогда в треде сидеть.
Аноним 10/09/16 Суб 14:31:24  839515
>>839508
> Для начала хватит чего-то типа этого >>838621
Не хватит. Это максимум стажёрское задание.
Аноним 11/09/16 Вск 08:39:10  839877
>>839515
Говно какое-то, а не задание. В чём смысл дрочева на материал десигн? А трёхстрочных анимаций переходов между двумя (!!!) активити, и появления аж трёх элементов на экране? Что вообще они хотят проверить этой околодизайнерской поеботой?

Вангую мухосранскую студию с охуенными требованиями и раздутым ЧСВ.
Аноним 11/09/16 Вск 09:17:03  839883
Есть некоторые объекты классов из VK api. Мне нужно сохранять их в базе. Физически StorIO позволит это сделать.
Как считаете, стоит их напрямую сохранять, как прямые сущности для базы? Или лучше пилить отдельные сущности, которые будут идентичны?
Аноним 11/09/16 Вск 10:54:37  839905
>>839445
Котлин + рх лучше?
Или ты про лямбды на джаве не слышал?
Аноним 11/09/16 Вск 10:56:39  839907
>>839883
Если ты потом будешь использовать их с методами vksdk, или тебе нужны прям все их поля то сохраняй их. Но если тебе потребуется потом только часть инфы, нет смысла хранить их целиком. Тем более свои объекты для абстракции могут быть лучше.
Что за объекты-то?
Аноним 11/09/16 Вск 14:01:24  839991
>>839877
А вот и ретрограды-говноеды подъехали. Нахуй дизайн, нахуй UX, а потом плачут в треде, что у них полтора скачивания в месяц.

Ты вообще понимаешь, что такое тестовое задание? Ты должен показать, что ты умеешь и можешь. Если ты анимации между двумя объектами сделать не в состоянии, то и более сложные сценарии тебе не по зубам будут.
Аноним 11/09/16 Вск 16:20:56  840056
>>839905
> ты про лямбды на джаве не слышал
Не, не слышал на 7 жабе. Только костыли. И как будто лямбды спасут это уебище.
Аноним 11/09/16 Вск 16:35:32  840060
Котлинобоги, как float сконвертировать в массив байтов? И как потом ставить эти байты в нужное место другого массива?
Аноним 11/09/16 Вск 16:35:41  840061
>>840056
Нормальные костыли. То что котлин это костыли на 6 джаве тебя видимо не смущает?
Аноним 11/09/16 Вск 16:39:15  840063
>>840056
>>840056
>Самый востребованный и широкоприменяемый язык

>Спасет

От чего спасет-то? Альтернатив джаве нет, нормальных альтернатив, а не хипстерского говна, которое сегодня есть, а завтра все забыли о нем.
Аноним 11/09/16 Вск 16:40:06  840064
>>840060
>float -> byte[]
ByteBuffer.allocate(4).putFloat(value).array();
>insert byte[] into byte[]
void insert(byte[] where, byte[] what, int pos) {
____System.arraycopy(what, 0, where, pos, what.length);
}
Аноним 11/09/16 Вск 17:07:51  840078
>>840064
Пиздец.
Аноним 11/09/16 Вск 17:12:00  840079
>>840063
Уж не из-за этого ли гениального языка ведро хоронит сам Гугл?
Аноним 11/09/16 Вск 17:13:09  840081
>>840079
как хоронит?
Аноним 11/09/16 Вск 17:13:36  840082
>>840081
Ты в танке? Седьмое ведро - последнее.
Аноним 11/09/16 Вск 17:14:09  840083
>>840079

Оставайтесь на линии, свежие новости из манямирка
Аноним 11/09/16 Вск 17:15:40  840085
>>840083
Такой манямирок, что уже сами Гугл сливают новости о новой ОС? Ради фана пилят там что-то?
Аноним 11/09/16 Вск 17:15:43  840086
>>840082
Ссылочку пожалста.давно пора эту парашу закрыть
>>840078
А хули ты хотел, принцесса? Можно первую чатсь и по другому, но не будет учтен порядок байтов и вся хуйня. А второй способ лучший если ты хочешь скопировать откуда-нибудь куда-нибудь.
Аноним 11/09/16 Вск 17:15:57  840087
>>840082
даже не знаю, стоит ли просить пруф
Аноним 11/09/16 Вск 17:25:20  840094
Хули с тредом, последние посты недоступны.
Аноним 11/09/16 Вск 17:26:43  840097
>>840086
>>840087
Вбейте в гугл "fuchsia google" что ли. Миллион статей про новую ОС от гугла.
Аноним 11/09/16 Вск 17:30:41  840101
>>840097
Она не позиционируется как замена ведру.
Аноним 11/09/16 Вск 17:30:42  840102
>>840097
Как же вы заебали, долбоебы.
Аноним 11/09/16 Вск 17:31:06  840103
>>840101
Пруфы?
Аноним 11/09/16 Вск 17:31:59  840105
>>840097

И как это сигнализирует о смерти андроида? Там вообще еще ничего не ясно, даже если прямо сейчас Гугл заявит о новой оси, еще сто лет пройдет пока все переедут с андроида на новую ось и вообще не факт, что это ось для смартфонов.
Аноним 11/09/16 Вск 17:32:20  840106
>>840103
>>840103
Пруфы обратного
Аноним 11/09/16 Вск 17:32:28  840107
>>840103
Сначала принеси пруфы что она позиционируется как замена, в статьях сказано что она просто есть.
Аноним 11/09/16 Вск 17:33:09  840108
>>840079
Ведро на C написано, даун.
Аноним 11/09/16 Вск 17:34:28  840109
Гугл занял 80% рынка ведром и сейчас просто возьмёт и откажется от него? Вы ебнутые?
Аноним 11/09/16 Вск 17:35:15  840110
>>840108
А мы кодим на еще более уёбищном говне. Гугл вообще думает что-нибудь выкатить против Свифта?
Аноним 11/09/16 Вск 17:35:40  840111
>>840108
Ядро линукса на С, а проблемы в структуре приложений с бесконечным количеством колбеков и хуков.
Аноним 11/09/16 Вск 17:36:21  840112
>>840110
Нахуя? Ты можешь писать на джаве, на котлине, на свифте, в чем проблема?
Аноним 11/09/16 Вск 17:37:48  840115
>>840110
Чем джава плоха?
Аноним 11/09/16 Вск 17:40:31  840118

>>840110

Свифт вообще говно без задач под анальным контролем педиков, а на базе jvm ты можешь писать на чем угодно, если тебе не нравится джава, хоть на скале, хоть на кложуре, а под гейось только свифт
Аноним 11/09/16 Вск 17:40:52  840119
>>840112
> в чем проблема?
В JVM и всем, что она тянет за собой. Вот такая вот хуйня, например - >>840064
В 2016 году должно быть стыдно за такое.
Аноним 11/09/16 Вск 17:42:25  840121
>>840119
Плюсов от jvm больше мамкин максималист.
Аноним 11/09/16 Вск 17:43:32  840123
>>840111
https://github.com/android
Сравни кол-во хуиток на си и плюсах с явовыми. А лучше ещё выкинь оттуда все встроенные гуевые приложульки. Спойлер: соотношение 50:1 не в пользу явы.
Аноним 11/09/16 Вск 17:44:11  840124
>>840119
Тебе не хватает инструментов для байтоебства в джаве? Ну извини это не ее задачи.
Аноним 11/09/16 Вск 17:44:14  840125
>>840121
Ни одного, кроме кроссплатформенности. Даже таскать JRE за собой - уже говно хуже дотнета.
Аноним 11/09/16 Вск 17:47:27  840131
>>840125
У нас тут любитель сигфолтов подкатил. Иди дрочи NativeActivity.
Аноним 11/09/16 Вск 17:47:36  840132
>>840121
И поэтому разработчики борятся с наследием легасиговна с самой первой версии. ПОэтому появились dalvik и art. Блять, знай разработчики андроида что их купит гугл и проблем со спонсированием не будет - сделали бы собственную вм без родовых травм.
Аноним 11/09/16 Вск 17:47:50  840133
>>840125
А свифт охуенный да?
Аноним 11/09/16 Вск 17:48:25  840134
>>840132
>сделали бы
сразу*
Аноним 11/09/16 Вск 17:49:13  840135
>>840133
Сейчас не язык обсуждали. Но в сравнении с явой даже говно собаки хорошее и не пахнет.
Аноним 11/09/16 Вск 17:49:57  840136
>>840135
А аргументы будут?
Аноним 11/09/16 Вск 17:54:14  840141
>>840136
Ну что тебе именно написать? Задавай наводящие вопросы, лень расписывать все сотый раз.

Наброшу - ява многословное говнишко, тянущее кучу кривых абстракций, с бесполезной системой типов и синтаксисом для любителей лапши на 4 экрана в ширину. Про уёбищность реализации дженериков и пр фишки из "новинок" писать смысла нет - сюда их еще не завезли.
Аноним 11/09/16 Вск 17:54:58  840142
>>840124
Мне не хватает инструментов для комфортного кодинга. Или это тоже не её задачи? Если исключить еблю с памятью, то кодинг на жабе и крестах - дрочево одного уровня. Причем в C++14 уже даже комфортнее будет.
Аноним 11/09/16 Вск 17:55:51  840143
>>840141
Ладно минусы есть базара нет, какие альтернативы? Си шарп на голову лучше или кресты? Что сейчас есть, чем можно заменить джаву и , что не будет иметь всех этих недостатков?
Аноним 11/09/16 Вск 17:56:54  840146
>>840142
>кодинг на жабе и крестах - дрочево одного уровня

Наркоман или дальше хелоувордов не заходил?
Аноним 11/09/16 Вск 17:58:03  840148
>>840141
Что значит кривые абстракции и бесполезная система типов? Как ты предлагаешь сократить синтаксис? Что не так с дженереками? Такое ощущение, что у тебя какие-то личные комплексы, которые ты проецируешь на язык.
Аноним 11/09/16 Вск 17:59:26  840149
>>840148
> Как ты предлагаешь сократить синтаксис?
Ебучие свойства.
Аноним 11/09/16 Вск 17:59:41  840150
>>840146
Как раз таки заходил. Когда пришел на жабу7, подумал не попал ли в прошлое лет так на 10. Простейшие задачи из крестов выполняются в столько же или даже больше ебли.
Аноним 11/09/16 Вск 18:01:40  840152
>>840150
Хуй знает, как ты программируешь, что у тебя джава = кресты по ебле. Вообще-то это не так.
Аноним 11/09/16 Вск 18:02:07  840153
>>840146
Он тебе вроде как ясно написал >>840142
>Если исключить еблю с памятью
То да, кресты уже давно обогнали яву по фичастости синтаксиса еще в 11 стандарте что не отменяет того факта, что наговнокодить на них легче, не отрицаю.
>>840143
Любой современный жвм язык инб4: КОКОКО ХИПСТАПАРАША, хотя в таком случае уткнёмся в изначальную проблему что по прежнему тащим с собой убогую жвм, а на поприще нативных языков - ты сам знаешь что есть.
Аноним 11/09/16 Вск 18:03:51  840157
>>840153
Ну то есть альтернатив (среди не нативных языков) нет, чтд
Аноним 11/09/16 Вск 18:03:52  840158
>>840148
> Как ты предлагаешь сократить синтаксис?
В жабе: Кококо кудах = new Кококо();
В котлине: кудах = Кококо()
Аноним 11/09/16 Вск 18:05:37  840160
>>840158
Зато в джаве сразу видно тип объекта. Это все вкусовщина на самом деле, реальных проблем у языка нет, таких, что вот пиздец нужен новый, это все нытье.
Аноним 11/09/16 Вск 18:09:26  840164
>>840158
Точнее val кудах = Кококо()
Аноним 11/09/16 Вск 18:12:20  840169
>>840160
Его тип видно в любом случае, а так же она позволяет много где сокращать код кроме объявления переменных (хотя бы при итерации по коллекции и тд).
Добавили вывод типов в шарпе - все писались от радости.
Добавили вывод типов в плюсах - все писались от радости.
Хотят добавить его в яве - явиндусы начали пронзитель визжать "НЕ УБИВАИТИ МАЙУ УТИНУЙУ ТИПЕЗАЦЕЮ!!!". Я ахуеваю - насколько же люди готовы жрать говно. Тут вообще стоило пошутить о том, нахуя вам знать этот самый тим - жвм всё равно потрет))) все це Object)))))
>>840157
Хуй знает как у тебя голова вообще работает.
Аноним 11/09/16 Вск 18:20:48  840179
>>840169

И зачем нужен вывод типов?
Аноним 11/09/16 Вск 18:21:18  840180
>>840158
Val и var в девятой джаве появятся
Аноним 11/09/16 Вск 18:21:55  840182
>>840169
>Добавили вывод типов в шарпе - все жрали говно и причмокивали

>Добавили вывод типов в плюсах - все жрали говно и причмокивали

>Хотят добавить его в яве - яваиндусы не захотели жрать говно

Ну хз
Аноним 11/09/16 Вск 18:24:53  840186
>>840169
Вывод типов появится в 9
Аноним 11/09/16 Вск 18:24:58  840187
>>840160
>Зато в джаве сразу видно тип объекта
Всегда можно сделать: val кудах: Кококо = Кококо()
Аноним 11/09/16 Вск 18:25:05  840189
>>840182
> вывод типов
> говно
Лолблять
Аноним 11/09/16 Вск 18:26:34  840192
>>840182
То есть тебе норм писать например:
Collection<Pair<Bitmap, BitmapFactory.Options>>
Аноним 11/09/16 Вск 18:27:54  840195
>>840192
Я вообще на 5 уроке джавараша
Аноним 11/09/16 Вск 18:28:08  840196
>>840192
Точнее Collection<Pair<Bitmap, BitmapFactory.Options>> bitmaps = new Collection<Pair<Bitmap, BitmapFactory.Options>>();
Аноним 11/09/16 Вск 18:28:42  840197
>>840182
Взял наугад пару имен классов из спринга:
>AbstractSingletonProxyFactoryBean abstractSingletonProxyFactoryBean1 = AbstractSingletonProxyFactoryBean<AbstractServiceLoaderBasedFactoryBean>( abstractServiceLoaderBasedFactoryBean1);

Ну да. Нинужна. инб4: выйдет ява9 и ты будешь тоже причмокивать))

Алсо, я ещё порофлю если в 9-ке не введут дедукцию как в плюсах и такой код получится уменьшить только на 20 буковок))).
Аноним 11/09/16 Вск 18:28:43  840198
>>840195
Ну так хуле кукарекаешь говно или не говно var/val?
Аноним 11/09/16 Вск 18:30:13  840200
>>840197
Ладно это пиздец.
Аноним 11/09/16 Вск 18:53:02  840225
>>840186
Ну-ка быстро кинул пруф на JEP или пиздабол.

В java 9 давно уже фичафриз произошел, ничего, кроме того что там уже сделано, не добавится.
Аноним 11/09/16 Вск 19:10:19  840242
>>840225
Кинул тебе за щеку. Проверяй.
Аноним 11/09/16 Вск 20:00:04  840266
>>840225
http://openjdk.java.net/jeps/286
Аноним 11/09/16 Вск 20:15:53  840274
>>840266
В 9 не войдет, но в 10 можно ждать
http://openjdk.java.net/projects/jdk9/
Аноним 11/09/16 Вск 20:36:31  840290
>>840082
Господи, какие дауны в треде.
Аноним 11/09/16 Вск 21:27:56  840317
ф
ф
*
Аноним 11/09/16 Вск 21:33:44  840326
>>839231

Попробовал тебе за щеку, проверяй
Аноним 11/09/16 Вск 21:34:14  840327
>>839295

Кодил у тебя за щекой, проверяй
Аноним 11/09/16 Вск 21:35:37  840329
>>840136

аргументировал тебе за щеку, проверяй
Аноним 11/09/16 Вск 21:38:14  840331
14736190944900.jpg (73Кб, 632x501)
>>840326
>>840327
>>840329
Аноним 11/09/16 Вск 22:03:48  840339
>>840290
А вот и еще одна манька.
Аноним 11/09/16 Вск 22:08:49  840341
>>840339
Да-да, джава говно, гугл прекращает разработку Андроида. Съеби уже из треда "мёртвой платформы".
Аноним 12/09/16 Пнд 01:19:52  840407
Аноны, мне нужно сделать элемент списка, у которого можно будет вставить иконку рядом с границей так, чтобы граница была выпуклой.
Это можно делать с помощью задания бордера? Или только пилить кастомную вьюху?
Аноним 12/09/16 Пнд 07:14:08  840441
Кто-нибудь упоролся дополненной реальностью? Что используете в разработке?
Аноним 12/09/16 Пнд 10:09:29  840469
>>840407
Нарисуй схематично. Если я правильно понял, можно просто поверх итем слева наложить drawable с впуклой границей, а картинку поверх него.
Аноним 12/09/16 Пнд 14:18:47  840593
аноны, есть тут кто кодит под линексом?
в чем преймущества и какой дистрибутив юзаете?
Аноним 12/09/16 Пнд 14:31:06  840599
>>840593
Manjaro. Полёт нормальный
Аноним 12/09/16 Пнд 14:50:41  840621
Пытаюсь сделать реконнект при разрыве соединения на стороне сервера (Connection reset - выключаю и включаю сервер), однако после реконнекта при попытке чтения из inputStream всегда получаю -1. При разрыве соединения сокет закрываю socket.close(), при подключении создаю через new Socket(...); Пробовал так же закрывать input и output стримы, делать флаши, ресеты (кидает эксепшон) - нихуя не помогает. Не могу понять как это пофиксить.
Аноним 12/09/16 Пнд 18:09:04  840709
1. Хочу угореть по нормальному структурированию кода, типа MVP, clean architecture, или что там самое модное сейчас, но не могу найти нормальных гайдов. Везде используется куча параши, которой я не знаю, даггеры хуяггеры, реактивные джавы итд.
Хотел бы попробовать сделать вменяемую архитектуру без всяких библиотек и костылей, чтобы знать хотя бы какие проблемы эти библиотеки решают и как без них обходиться. Тем более что приложения у меня очень простые.
Просмотрел testing guide от google codelabs, но там уже всё за тебя написано и объяняется мало, я так нихуя и не понял как организовать уровень Model.
Есть ли ещё какие-то годные гайды и стоит ли вообще с этим заморачиваться?
Один хуй написал на форуме, что не нужно слишком выёбываться библиотеками когда делаешь проекты для показа работодателям, и лучше всё писать на голой джаве + SDK хотя бы в одном проекте, чтобы было видно что ты владеешь базой.
2. Есть ли места где можно скинуть свой проект чтобы его покритиковали другие разработчики?
#android-dev похож больше на чат с вопросами, в /r/androiddev ни разу не видел чтобы спрашивали такое, да и вообще всратое место, codereview на stackexchange для объемных проектов с кучей файлов не подходит, там надо код сразу постить в тело поста.
Аноним 12/09/16 Пнд 18:59:00  840743
>>840709
https://github.com/googlesamples/android-architecture

там куча вариантов от plain MVP и Clean Architecture до Rx и прочего
Аноним 12/09/16 Пнд 19:00:14  840744
>>840709
Паттерны с голой SDK почти не совместимы.
У тебя Android API использует God Object - Context. Его нужно как-то внедрять в различные части архитектуры. И это только начало проблем.

Можешь сделать какой-нибудь MVP, но только ради разделения логики.

>Один хуй написал на форуме, что не нужно слишком выёбываться библиотеками когда делаешь проекты для показа работодателям, и лучше всё писать на голой джаве + SDK хотя бы в одном проекте
Посмотри по вакансиям, в половине случаев будут нужны сторонние либы. На собесе можно наверное и на словах пояснить роль некоторых компонентов SDK, их преимущества и недостатки
Аноним 13/09/16 Втр 05:32:54  841052
>>838598 (OP)
Анончики мне тут письмо счастья от гугля пришло - has been removed from Google Play because it violates our device and network abuse policy and section 4.4 of the Developer Distribution Agreement

И я нихуя не могу понять в чем тут дело т.к. это простая покупалка за рекламу вконтактовских голосов. Ну не делает оно ничего из расстрельного списка гугла. В их техподдержку тикет уже отправил но может быть тут кто-то с подобной хуетой сталкивался?
Аноним 13/09/16 Втр 06:59:51  841062
>>841052
У меня было приложение, которое не проигрывало музыку из вк напрямую на смартфоне - забанили за мимикрию под оф. приложение.
Аноним 13/09/16 Втр 07:52:17  841070
>>841062
Но я то ни по до что не мимикрирую. Ни одного логотипа, вообще ничего
Аноним 13/09/16 Втр 07:55:49  841071
>>841070
Я вижу 2 проблемы
1) Ты накручиваешь рекламу, заставляя пользователей просматривать рекламу
2) Ты "продаешь" товары других магазинов
Аноним 13/09/16 Втр 08:01:48  841074
>>841071
Нет, на оба варианта. Реклама у меня одна - от тапджоя. Это такая сеть мотивированного трафика. Грубо говоря пользователи имеют офферволл с задачами типа просмотра видео и получают за их выполнения фантики. На эти фантики они могут заиметь себе голосов. Там нечего накручивать и я ничего не продаю тащемта. Плюс подобных приложений(с голосами и не только) в маркете хуева гора, некоторые очень старые

Да и мотивация в этом самом пункте соглашения тоже не связана с контентом или продажами:
4.4 Запрещенные действия. Вы обязуетесь не совершать в Магазине действий (включая разработку и распространение Продуктов), которые нарушают или прерывают работу устройств, серверов, сетей и других объектов и сервисов третьих сторон, включая пользователей Android, компанию Google и операторов мобильной связи, а также наносят им другой ущерб. Запрещается использовать информацию о покупателях, полученную в Магазине, для продажи или распространения Продуктов вне Магазина.
Аноним 13/09/16 Втр 09:06:09  841093
Как-бы мне высрать такую игру, чтоб она и на ведре, и в браузере работала? Только юнити?
Аноним 13/09/16 Втр 09:27:52  841102
>>841093
Алсо меня возьмут каким-нибудь джуном в гугл после этого?
Аноним 13/09/16 Втр 09:28:59  841103
>>841093
Есть еще libGdx, но вообще в /gd.
Аноним 13/09/16 Втр 09:29:58  841105
>>841102
Совсем не факт. Игры и ынтерпрайз - накрестлежащие вещи.
Аноним 13/09/16 Втр 09:30:49  841106
>>841105
А бля какой интерпрайз, перепутал треды. Но вчера вновь вряд ли.
Аноним 13/09/16 Втр 10:01:50  841124
>>841103
Точно, спасибо, пару лет назад немного юзал её.
>>841106
Ну лишним все равно не будет, надеюсь.
Аноним 13/09/16 Втр 10:04:11  841126
>>841074
>некоторые очень старые
Это не аргумент, мое личное приложение пролежало 2 года, а дропнули его после того как я инфу о нем обновил.

> Продажа офферов
Не знаю как др. приложения попали в GP, но моя компания занималась перепродажей офферов профессионально.
Для этого мы просто сделали мобильный сайт без приложения, что бы сразу на Android/iOS.

Налили рекламу, развивали пол год и выкинул это нахуй, тк денег приносит меньше чем затраты на рекламу.
Аноним 13/09/16 Втр 10:05:39  841128
>>841103
> libgdx
К сожалению, он HTML5 поддерживает только для Java.
Kotlin, при том что он сам может конвертироваться в JS, юзать пока нельзя.
Аноним 13/09/16 Втр 10:08:01  841129
>>841128
А то там с kotlin?
Аноним 13/09/16 Втр 10:10:37  841131
>>841129
*что
Аноним 13/09/16 Втр 10:23:10  841139
>>841129
>А то там с kotlin?
Да норм все, под android/ios/destop можешь уже сейчас писать на libGDX + Kotlin
Но если хочешь еще на HTML5, то только Java.

Компилятор Kotlin(1.0.3)->JS уже рабочий, сейчас добавляют поддержку Kotlin 1.1
Так же работают над компилятором Kotlin->LLVM, возможно через год можно уже будет писать нативные приложения без JVM.
Аноним 13/09/16 Втр 10:25:03  841140
>>841128
GWT всеравно говно.
Аноним 13/09/16 Втр 10:27:48  841142
>>841139
Я чего-то не понимаю, если есть компиляция в js, то почему бы не пихнуть полученный js на сайт?
Аноним 13/09/16 Втр 10:30:44  841144
>>841142
Потому что есть еще библиотеки фреймворка, которые должны быть написаны под каждую конкретную реализацию (бэкенд).

Никто не хочет сам писать всю нативную часть (WebGL, HTML5 Canvas, IO, события, асинхронность).
Аноним 13/09/16 Втр 10:53:06  841150
>>841144
Спасибо, анончик, откуда ты все вообще все это знаете.
Аноним 13/09/16 Втр 12:06:44  841165
>>841126
Ну я-то без рекламы и на коленке, ничего не скажу. Просто приятная прибавка к зп, надеюсь не была
Аноним 13/09/16 Втр 13:10:59  841187
Сап, котаны. Сабж - есть таймер обратного отсчета, который я благополучно прикрутил к Observable.interval в презентере. Ну и все классно работает, до того как появляется б-гомерзкий lifecycle фрагментов. Проблема заключается в том, что если в onPause отписываться от событий, то после onResume (пустого) таймер просто замирает на месте отписки ( КО ). Но ересь начинается если переподписаться - таймер начинает люто-бешено колбасить, а именно, идет обновление и от непонятно откуда возникшего нового interval-а, и от старого, что выглядит вообще не айс. Как бы мне прикрутить нормально этот механизм продолжения обратного отсчета после onResume фрагмента ?
Аноним 13/09/16 Втр 13:25:21  841194
>>841187
для начала избавься от rxjava и mvp
Аноним 13/09/16 Втр 14:08:19  841218
>>841194
Мелкобуквы. Мелкобуквы невер чейндж.
Аноним 13/09/16 Втр 14:23:38  841224
>>841218
двачую
Аноним 13/09/16 Втр 14:31:50  841229
Аноны, есть одна апка:
Пиздит инфу с бд и отображает ее в виде "юзер - длина члена - место в рейтинге "
Как её правильно и красиво сделать, какие вью использовать? Отображать будет как часть списка, так и одного юзера.
Аноним 13/09/16 Втр 14:50:08  841235
>>841229
RecyclerView\ListView
Аноним 13/09/16 Втр 16:30:10  841301
>>841235
ListView в 2016, мда
Аноним 13/09/16 Втр 16:46:24  841309
>>841187
Пофиксил, добавил булевый флаг isPaused и filter на !isPaused в chain
Аноним 13/09/16 Втр 16:47:52  841311
>>841229
RecyclerView ?) В к-ве layout-а для viewHolder-а запили LinearLayout orientation=horizontal, поставь весы и будет тебе счастье
Аноним 13/09/16 Втр 18:26:38  841372
>>841311
> 2016
> LinearLayout
Аноним 13/09/16 Втр 19:54:12  841420
>>840593
Последняя x64Ubuntu. Потому что мой нэтбук 7-летней давности обкакается тянуть студию на маздае. он и с убунтой то на бреющем полёте, хуево быть днищебродом
Аноним 13/09/16 Втр 19:58:24  841425
Аноны, есть запрос, который связан с денежным переводом, т.е. надо его не проебать. Сейчас выполняю его в интент сервисе, как мне сохранить его результат, если приложение свернулось во время запроса и андроид сразу же его убил? Юзаю green eventbus, если что
Аноним 13/09/16 Втр 20:04:50  841435
>>841425
Сервис. При его завершении сохраняешь всё в бд (если твой запрос ещё не выполнился)
Аноним 13/09/16 Втр 20:08:29  841440
>>841435
так как мне понять, что запрос заново не надо отправлять, при открытие активити?
Аноним 13/09/16 Втр 20:10:02  841442
>>841440
Если в бд пусто, то не надо
Аноним 13/09/16 Втр 20:13:44  841445
>>841442
То есть, перед началом такого запроса надо чистить эту таблицу? А сервис же должен быть с android:process=":remote", да?
Аноним 13/09/16 Втр 20:18:25  841448
>>840709

> #android-dev похож больше на чат с вопросами
Это что и где? Slack какой-то или что? Доставьте ссылку
Аноним 14/09/16 Срд 00:28:55  841562
Есть тестовые задания с собесов? Залейте плиз
Аноним 14/09/16 Срд 01:21:41  841578
>>841562
Вывод списка ёбырей твоей мамаши-шлюхи. При клике на элемент списка должна выводится информация о последней ебле, список поз, количество проглоченной спермы и список твоих братьев и сестер.
Аноним 14/09/16 Срд 01:28:30  841581
>>841562
во втором посте есть.
а так ничего сверхсложного просить не будут. приложение написать на самом собеседовании вряд ли заставят делать.
по дефолту теор опрос(ООП, джава, лайфциклы, треды и тд) и еще могут попросить sql запросы пописать
Аноним 14/09/16 Срд 01:29:11  841582
>>841578
лол, что орнул)
Аноним 14/09/16 Срд 09:39:42  841652
>>841372
ээ, а в чем проблема ? Пока они не становятся вложенными, все работает эффективно...
Аноним 14/09/16 Срд 10:12:04  841659
>>841581
Спасибо
Аноним 14/09/16 Срд 12:31:05  841705
>>838621
Аноны, накидайте еще тестовых заданий, желательно потруднее чем это.
Аноним 14/09/16 Срд 14:21:57  841736
>>841705
Скидывай свою реализацию в тред, получишь ещё.
Аноним 14/09/16 Срд 18:20:47  841856
>>841736
Ок, но это будет недели через 2 в лучшем случае. Кстати за какое время предполагается реализация такого рода заданий?
Аноним 14/09/16 Срд 19:23:34  841890
>>841856
Обычно на подобные задания недели две (реже - три) и дают. Не потому, что две недели действительно необходимы для такого задания, но чтобы у кандидата было время всё сделать, на случай, если он ещё работает в другом месте.
Аноним 14/09/16 Срд 20:31:56  841943
Нужен очень быстрый ликбез по Xamarin.Android, ибо в шараге задали написать простую форму проверки авторизации за пару дней на этой платформе, а времени с 0 учить нет (Знаю только основы C#, платформу не знаю вообще). Что посоветуете?
Аноним 14/09/16 Срд 20:36:54  841946
Аноны, как мне быть, у меня есть презентер, в нем выполняю запрос, потом отдаю данные вью, но при перевороте опять выполняется запрос. Норм ли сохранять данные в презентере (он у меня находится в ретеин фрагменте) и если данные не нулл, то отдавать их, не делая запрос?
Аноним 14/09/16 Срд 20:43:58  841948
>>841943
Xamarin Forms - если знаешь XAML то наговнокодить приложуху под Android (и сразу iOS) сможешь очень быстро.
А теперь брысь с такими тупыми вопросами.
Аноним 15/09/16 Чтв 00:06:25  842087
Аноны как понять архитектуру андройда? А вообще для начала как научиться видеть архитектуру, есстественно на интуитивном уровне кое-как понимаю что такое, но все же не покидает чувство что чего то упускаю. Какие есть годные книги по архитектуре(необязательно андроид релейтед)?

Не ньюфаг-вкатывальщик, но понятие архитектуры в голове весьма размытое.
Аноним 15/09/16 Чтв 01:22:53  842097
Нужно к мессенджеру прикрутить отправку голосовых сообщений(но не через диктофон, чтобы они прослушивались плеером), а как в телеграм(записывается и прослушивается внутри приложения).
Как грамотнее это сделать? Пока думаю записывать дорожку, конвертировать ее в массив байтов, отправлять массив, на получателе конвертировать массив обратно.
Хуевая идея или сойдёт?
Аноним 15/09/16 Чтв 01:59:22  842099
>>842097
Хуевая.
Аноним 15/09/16 Чтв 08:21:43  842147
>>842097
Сервер есть? Почему бы не записывать туда mp3 файл. И при получении самому поигрывать MediaPlayer'ом или AudioTrack'ом? Первый даже по урлу умеет играть.
Аноним 15/09/16 Чтв 08:55:56  842153
>>838655
> отсутствие крашей
Вово. Начнут тестить на каком-нибудь леново, а там пиздец.
Аноним 15/09/16 Чтв 10:27:14  842169
>>838655
>>842153
Отсутствие крэшей - навязанный западом стереотип.
Аноним 15/09/16 Чтв 10:28:25  842170
>>842169
Деды не умели бороться с крэшами, но это не помешало им дойти до Берлина.
Аноним 15/09/16 Чтв 11:04:23  842181
Анон, где можно спиздить готовые темы для апки и стили для вьювов?
Аноним 15/09/16 Чтв 11:22:22  842187
>>842181
Из support library. Да и на сайте гуглов есть палитра.
Аноним 15/09/16 Чтв 11:23:41  842188
>>842147
Есть. Попробую и так
Аноним 15/09/16 Чтв 12:44:46  842219
>>842187
>на сайте гуглов
Доставь ссылку.
Аноним 15/09/16 Чтв 14:42:14  842300
>>842219

доставил тебе за щеку, проверяй
Аноним 15/09/16 Чтв 14:47:00  842304
>>841093
unreal engine
Аноним 15/09/16 Чтв 14:48:22  842305
>>838598 (OP)
Блядь, написал простое приложение, скачал на телефон, установилось без проблем, но блядь открыть его тупо нельзя, после установки только "готово", а открыть нельзя, лол. Где я проебался?
Аноним 15/09/16 Чтв 14:50:03  842308
>>842305
Алсо, шаблон для приложение выбрал пустой, может в этом проблема?
Аноним 15/09/16 Чтв 15:01:25  842313
Как стандартными средствами дергать коллбеками из забиндинного сервиса внутри активити/фрагмента и чтобы в ui thread они вызывались?
Правильно я понимаю, что это будет более легковесно, чем broadcast слать, где постоянно память выделяется?
Аноним 15/09/16 Чтв 17:19:01  842438
>>841946
Бамп, гуру архитектуры, где вы?
Аноним 15/09/16 Чтв 18:03:33  842466
>>841946
>Норм ли сохранять данные в презентере (он у меня находится в ретеин фрагменте) и если данные не нулл, то отдавать их, не делая запрос?
Если тебе нормально делать "Fat Ugly Presenter", то все OK.
При этом ты конечно нарушаешь Single Responsibility Principle

По хорошему презентер должен быть тонкой прослоечкой между View и Model
Аноним 15/09/16 Чтв 18:23:17  842479
>>842466
А хранить во вью ViewState и если данные загрузились складывать их во в ViewState, лучше?
Аноним 15/09/16 Чтв 18:33:49  842484
>>842313
Если у тебя обычный сервис то он и так в юи треде дергаться будет. Также можно использовать Messenger.
Аноним 15/09/16 Чтв 18:37:25  842487
>>842466
Тонкой прослоечкой? А где тогда вся бизнес-логика по-твоему будет?
Аноним 15/09/16 Чтв 18:40:31  842490
>>842487
в синглтон менеджерах ?
Аноним 15/09/16 Чтв 18:49:58  842495
>>842479
Отвязывай бизнес логику от Android лайф-сайкл-костылей.
Разрушается твой презентер вместе с активити - это нормально.
Делай кэширование данных по времени на уровне модели.

>>842487
>А где тогда вся бизнес-логика по-твоему будет?
В модели конечно и тесты конечно должны быть на нее.
Лучше вообще делать чистые JavaSE модели и быстро тестировать их на десктопе.

Ознакомься:
https://ru.wikipedia.org/wiki/Model-View-Presenter
https://youtu.be/Nsjsiz2A9mg
Аноним 15/09/16 Чтв 18:51:23  842498
>>842490
Нахрен тебе синглетоны, у тебя же база данных есть - это единственный синглетон который нужен.
Аноним 15/09/16 Чтв 19:42:13  842525
>>838598 (OP)
Анончики, у меня есть две активити, в этих активити фрагменты, как мне сделать переход с shared elements из одной активити в другую, если эти shared elements находятся во фрагментах в разных активити?
Аноним 15/09/16 Чтв 20:01:48  842533
>>842495
Окей, допустим у меня есть презентер CityPresenter, должен показывать имя города и фотку.
У презентера срабатывает допустим onShow()
У меня есть cityId и myView, значит я стучусь в базу прошу самую свежую инфу про данный город, получаю:
а) ничего, показываем прогрессбар с заглушкой, запускаем запрос на получение города
б) что-то протухшее, показываем с помощью myView.setCity(city) myView - платформо-независимый интерфейс для вьюхи, запускаем запрос на получение города
в) не протухшие минуту назад получили данные, показываем как ив предыдущем пункте
Во-всех пунктах подписываемся на оповещения об изменения города, после получения которых отображаем новую инфу.

Все верно?
Аноним 15/09/16 Чтв 20:09:17  842539
>>842525
Google motherfucker do you use it?
http://stackoverflow.com/questions/27524674/shared-element-transition-among-fragments-that-belong-to-different-activities-in
Аноним 15/09/16 Чтв 20:43:02  842553
>>842495
> В модели конечно и тесты конечно должны быть на нее.
> Лучше вообще делать чистые JavaSE модели и быстро тестировать их на десктопе.

Как ты чистые JavaSE модели на андроиде сделаешь?

Это презентеры должны быть свободными от ведройдовских зависимостей и тестироваться на JVM.

Думаешь, ссылаясь на дядю Боба, ты выглядишь умнее? А вот хуй, ты знатно обосрался.
Аноним 15/09/16 Чтв 20:43:44  842554
>>842533
Да вроде норм.
Можешь еще через какой-нибудь okhttp юзать встроенное HTTP кэширование.
И постарайся не облажаться с утечками активити.
Аноним 15/09/16 Чтв 21:02:43  842566
>>842553
>Как ты чистые JavaSE модели на андроиде сделаешь?
1. Создаешь отдельный "Module" в AS или IDEA,
2. выбираешь Gradle/Kotlin
3. В Android build.gralde добавляешь в dependencies
compile project(':core')

>Это презентеры должны... тестироваться на JVM.
Если презентеры тонки, то в принципе там и тестировать то нечего

>Думаешь, ссылаясь на дядю Боба, ты выглядишь умнее?
А ты думаешь, что ни на кого не сослался и кто-то должен верить твоему пиздоболию?
Для меня Боб и его архитектура важнее чем Java или Android-костыли,
потому что его подходы не зависят от языка спокойно юзаю их с Kotlin.
Аноним 15/09/16 Чтв 21:03:44  842569
>>842566
Такая-тт блять большая разница между жабой и котлом.
Аноним 15/09/16 Чтв 21:05:51  842572
>>842569
Для некоторые здесь, ну просто НЕ преодолимая :3
Аноним 15/09/16 Чтв 21:07:54  842574
>>842566
Понятно. Иди нахуй.
Аноним 15/09/16 Чтв 21:12:54  842578
>>842533
>>842554
Но ведь при перевороте во врем выполнения запроса, запрос начнется заново, это же неправильно
Аноним 15/09/16 Чтв 21:14:00  842580
>>842578
Няш, для это го и придумали кэши (HTTP или на прикладном уровне)
Аноним 15/09/16 Чтв 21:14:20  842581
>>842578
Для меня Боб и его архитектура важнее чем такие мелочи.
Аноним 15/09/16 Чтв 21:15:08  842583
>>842580
Какой нахуй кэш, когда у тебя запрос еще не выполнился? Ты вообще не понимаешь, что несешь?
Аноним 15/09/16 Чтв 21:18:06  842586
>>842583
> Открывает окно
> Начинает как бешеный врящать окно
Дядя, ты нормальный (не отвечая, я уже понял что нет)?

В любом случае, после пятого твоего безумного поворота в дело уже пойдет кэш
Аноним 15/09/16 Чтв 21:20:12  842590
>>842586
А запросы на сервер так же отправлять будешь? "Похуй, что запрос уже идёт, отправим еще раз?"
Аноним 15/09/16 Чтв 21:21:57  842593
>>842578
В случае с Rx можно хранить в синглтоне/ретеней фрагменте обзервеблы с кешем, тогда можно будет подписаться на уже идущий запрос. Или главным подписчиком должна быть бд, тогда можно хранить начатые, но не законченные запросы в key-value хранилище или таблице, или даже в аллахе, и в презентере смотреть идет ли интересующий нас запрос, в таком случае не будет нужды совершать новый, а нужно просто подождать пока нам придет нотификация от бд.
Аноним 15/09/16 Чтв 21:31:02  842599
>>842593
> В случае с Rx можно хранить в синглтоне обзервеблы с кешем, тогда можно будет подписаться на уже идущий запрос
Есть какой-нибудь пример кода, как это организовано?
Аноним 15/09/16 Чтв 21:41:58  842602
>>842590
Мы тут говорим про идемпотентные запросы (коих 90%), которые отлично кэшируются и на стороне сервера.
Но если ты такой любитель вращать телефон, то сделай отдельный отнопоточный пул для web запросов.
Аноним 15/09/16 Чтв 21:47:16  842603
14739652370350.png (239Кб, 800x600)
Аноны хочу сделать дефолтное погодное приложение с вот таким дизайном, но где мне искать такие охуенные фотки погоды?
Аноним 15/09/16 Чтв 21:49:29  842606
>>842599
http://stackoverflow.com/questions/26939175/rxjava-and-cached-data

http://stackoverflow.com/questions/31733455/rxjava-observable-cache-invalidate

http://stackoverflow.com/questions/34406879/repetitive-cache-observable-in-rxjava-android-lifecycle-and-cache-operator
Аноним 15/09/16 Чтв 21:54:06  842610
>>842593
а вот как нормально хранить начатые запросы в бд, какой ключ должен быть? Использовать время начала запроса? Можешь поподробнее про это, пожалуйста?
Аноним 15/09/16 Чтв 22:13:53  842623
>>842610
Да любой, блять, главное чтоб уникальный, и о нём знали твои презентеры.

Смотри:
1) Пилишь синглтон, где лежит мапа с обсёрваблами и их Id.
2) Презентеры знаю айди обсёрваблов, и как-нибудь смотрят на их состяние.

Правда, данный велосипед был реализован гуглом 3 года назад. Называется Loader.
Так что RX-дауны таки соснули.
Аноним 15/09/16 Чтв 22:16:50  842629
Если я пишу приложение к соцсети, использую их цвета в дизайне и иконках - меня могут забанить за попытку косить по официальный клиент?
Аноним 15/09/16 Чтв 22:17:16  842632
>>842629
>их
цвета дизайна соцсети, разумеется
Аноним 15/09/16 Чтв 22:26:55  842644
>>842623
А потому Google сам завелосипедил RX для своего Google.Music
и потом заопенсорил его на github (лень ссылку искать).

И была так только одна issue "нахуй он нужен если есть RxJava?"
Аноним 15/09/16 Чтв 22:39:21  842653
>>842629
Забанят обязательно.
Аноним 15/09/16 Чтв 23:05:58  842673
Котаны, подскажите как быть: есть класс - прослойка для обмена данными с Bluetooth Low Energy девайсами.
Суть проста: вызвал метод bt.readChar(device, callback(){)) и получил вызов метода коллбека - onComplete и onError.
Чтение может выполняться долго, пользователь закроет к хуям к этому времени активити, потом обратно развернет - и не поймет что происходит - ведь мы и коллбек проебали и состояние интерфейса (читаются данные, ждите бля)
Собсна, как быть с этим? Как обычно такие вещи делают?
Аноним 15/09/16 Чтв 23:21:40  842678
>>842673
>Как обычно такие вещи делают?
На Android - обычно кучей костылей и хранение состояния в каком-нибудь permanent storage.
Аноним 15/09/16 Чтв 23:34:23  842683
>>842673
Если так подумать - то это пиздец задача.
Нужно:
1) Где-то держать коллбеки
2) Где-то хранить состояние
Единственный вариант - это перенести коллбеки в сервис, где хранить состояние и модифицировать его через эти коллбеки.
В UI синхронизировать состояние и следить за его изменением.
Т.е. получается нужна еще одна прослойка между BT API и собственно UI.

Аноним 16/09/16 Птн 12:13:27  842827
Почему на Android 6 чтобы заюзать Bluetooth надо включить "передача геоданных".
Индусы ебанулись?
Аноним 16/09/16 Птн 12:43:13  842845
>>842827
Потому же как и для получения MAC адреса.

Это теперь приватные данные пользователя (его идентификация),
а отдельные пермишены для bluetooth/mac-address не стали плодить.
Аноним 16/09/16 Птн 14:23:42  842877
>>841448
IRC
Аноним 16/09/16 Птн 14:35:23  842882
Котлинфаг, у тебя норм все после последнего обновления билд тулзов? А то у меня нихуя не компилится опять, хотя раньше компилилось.
В основном пишет ошибки импорта, их там тысячи.
Аноним 16/09/16 Птн 14:37:06  842884
>>842882
> билд
Просто тулзов 25.2.2 и платформ тулзов 24.0.3.
Аноним 16/09/16 Птн 16:02:11  842922
>>842882
> у тебя норм все после последнего обновления билд тулзов?
Во-первых, спасибо что напомнил обновится.

Во-вторых, сейчас обновил build.gradle и перебилдел - все норм.
Да в котлин slack никаких новостей, что у всех все сломалось.
Аноним 16/09/16 Птн 16:26:11  842935
>>842922
> Error:(3, 12) Unresolved reference: json
> Error:(4, 8) Unresolved reference: java
> Error:(7, 45) Unresolved reference: HashMap
> Error:(10, 25) Unresolved reference: JSONObject

И так со всеми классами андроид сдк.
Аноним 16/09/16 Птн 16:34:54  842936
>>842935
А какая у тебя версия плагина стоит (я кстати в чистой IDEA сижу) и что прописано в ext.kotlin_version?

Можешь кстати задать вопрос сюда:
https://discuss.kotlinlang.org
http://kotlinlang.slack.com/(инвайт тут http://kotlinslackin.herokuapp.com/)
Аноним 16/09/16 Птн 16:35:06  842937
>>842922
А версия студии у тебя какая? 2.2-rc2?
Аноним 16/09/16 Птн 16:37:09  842938
>>842936
Версия котлина 1.0.3
Плагин: 1.0.3-release-Studio2.2-13
Аноним 16/09/16 Птн 16:42:40  842940
>>842938
>>842937
>>842935
Починил. Он с android gradle plugin 2.1.3 в студии 2.2 не собирается, при этом java проекты с этой версией в этой студии нормально собираются.
Аноним 16/09/16 Птн 16:48:03  842941
>>842940
Блять. Жму после gradle sync "build apk" - билдится, появляется апк. Жму make project или debug selected configuration- ошибки. В прошлый раз при make project ошибок хотя бы не было.
Аноним 16/09/16 Птн 17:26:46  842958
>>842937
>2.2-rc2?
Зачем?
Аноним 16/09/16 Птн 19:59:56  843017
>>842958
Модно-молодежно.
Аноним 16/09/16 Птн 21:10:34  843044
>>842958
Очевидно ради плюшек версии 2.2
Аноним 16/09/16 Птн 21:21:34  843056
>>843044 >>843017
Ну тогда бессмысленно спрашивать почему что-то не работает.
Аноним 16/09/16 Птн 21:30:56  843067
>>843044
А че там?
Аноним 16/09/16 Птн 21:41:58  843087
>>838630
Взяли на стажировку?
Аноним 16/09/16 Птн 21:45:20  843091
>>843056
Это release candidat как бы.
>>843067
Блядский скроллинг сколвью в дизайнере и встроенный лэйаут испектор, теперь ту отдельную ебалу запускать не надо.
Аноним 16/09/16 Птн 21:56:27  843101
>>843091
>встроенный лэйаут испектор, теперь ту отдельную ебалу запускать не надо.
Это тот который меряет производительность? Тогда ваще ништяк.
Аноним 17/09/16 Суб 01:17:13  843194
Ананасы, пожалуйста, помогите. Нужно в приложение добавить отправку файла по кнопке (один файл и он уже существует), проблема в том что оно работает на ебанутом протоколе и в коде нет ни 1 комментария, разбирать этот xmpp времени нет вообще(релиз горит). Что нужно сделать: приложение прикрепляет файл через интент к файловому менеджеру, потом интент сует в ArrayList<Uri> и уже как-то отправляет это всё. Но, файл, который нужно отправить мне должен доставаться сам, без файлового менеджера и интента(file file = new file(path)), и я не могу понять как мне мой file скормить коду отправки сообщения с файлом(выбранным интентом через файловый менеджер). Uri.fromFile(file) не работает.
Сам код мессендежра
https://github.com/siacs/Conversations
Методы отправки сообщений лежат в классах ConversationFragment и ConversationActivity по ключу CHOOSE_FILE.
Помогите, у кого найдется полчаса для стажора. Спасибо
Аноним 17/09/16 Суб 02:03:38  843218
>>843194
пиздец ты ебанутый, ты мог хотябы нерабочий свой код куда-то отдельно залить? какой нормальный человек будет разбираться в вашем говне из 3к строк? темболее за нихуя. охуеть блять
Аноним 17/09/16 Суб 09:11:25  843269
>>843218
Это не мой код, это исходники на основе которых мы делаем и я в душе не ебу что именно у меня не работает. Код не читабелен. Может кому-то еще не повезло с этим работать
Аноним 17/09/16 Суб 09:52:29  843275
>>843194
https://developer.android.com/reference/android/support/v4/provider/DocumentFile.html#fromFile(java.io.File)
Аноним 17/09/16 Суб 10:05:45  843278
>>843269
Ты не пробовал, ну я не знаю, ПОДКЛЮЧИТСЯ ДЕБАГЕРОМ И ПРОШЕЛКАТЬ ПО БРЕЙКПОИНТАМ?
Аноним 17/09/16 Суб 11:55:06  843319
Анон, что думаешь по поводу онлайн-кура на Udacity? Какие еще есть онлайн-курсы?

И да, вопрос - если у меня не очень быстро летает студия на винде(4 гига оперативки, 2.3GHz) то есть ли смысл накатить убунту и на неё студию?
Аноним 17/09/16 Суб 12:20:51  843328
>>843319
Потрать 2 тысячи на плашку оперативы.
Аноним 17/09/16 Суб 12:30:19  843334
>>843319
А с чего ты взял, что убунта будет быстрее винды?
Аноним 17/09/16 Суб 12:36:45  843338
сап, у меня есть activity с drawer, один их фрагментов, на которые есть выход из drawer-а, содержит в себе ViewPager, у которого должно быть ровно три списка, в каждый из которых данные грузятся из интернета/с сервера. Что посоветуете: делать nested fragments или добиться с сохранением View state-а, добавляя просто списки как вьюхи в пейджер ?
Аноним 17/09/16 Суб 12:40:46  843340
>>843334
Ну так принято считать.
>>843328
Надо бы, но пока денег нет.
Аноним 17/09/16 Суб 12:45:13  843343
>>843340
Но это не так.
Аноним 17/09/16 Суб 13:03:46  843350
>>843343
У меня некоторое время была убунта с AS. Вроде пошустрее винды запускалась. Но я там не успел ничего сделать, нужно было переустановить винду.
Аноним 17/09/16 Суб 13:45:39  843359
>>843350
Потому что она чистая была.
Аноним 17/09/16 Суб 15:00:51  843387
14741136518320.jpg (38Кб, 400x550)
Дарова ананасы.
Есть один вопросец.
Каждый сталкивался с тем что есть какой-то список и по тапу на элемент пушится страничка с деталями.
Но вот если ты нажмешь двумя пальцами на 2 разных элемента, или аки сумасшедший будешь тыкать тыщу раз в сек на один и тот же элемент - запушится больше чем 1 страничка.
Но походу это не единственный случай.
Например есть 2 кнопки одна из которых открывает свой попап. Если кликнуть их вместе опять получу хуету.
Ну и т.п.

Короче, есть ли какой-то общих подход. Может есть что-то в Андроиде встроеное? Или всё же нужно писать всякие IsBusy и прочее говно?

Сам вкатился с веба, потому наверное задаю глупые вопросы.
Аноним 17/09/16 Суб 15:09:30  843388
>>843387
Встроенного нет, я использую Rx с байндингами для вьюшек. Тогда можно легко сделать через debounce, а если нужно показать что вьюшка некоторое время неактивна:
clicks()
.observeOn(AndroidSchedulers.mainThread())
.doOnNext(event -> v.setEnabled(false))
.observeOn(<SCHEDULER>)
<OTHER STUFF>
.observeOn(AndroidSchedulers.mainThread())
.doOnNext(result -> v.setEnabled(true))
.subscribe();
Аноним 17/09/16 Суб 15:47:19  843402
>>843388
ыыы.
то есть всё равно каждый отдельный случай надо вручную хэндлить. Спасибо.
А не знаешь, почему не запилят какое0нибудь глобальное решение? Ведь каждая прилага сталкивается с этим.
Аноним 17/09/16 Суб 16:05:11  843411
>>843402
А те не похуй на это? Если юзер хочет так делать, пусть делает, google сам забивает хуй на это в своих приложениях
Аноним 17/09/16 Суб 16:16:02  843417
>>843194
>>843269
Conversations распространяется под GPL. Следовательно, ваш производный код тоже должен быть доступен.
Так что, выкладывай исходники или иди нахуй.
Аноним 17/09/16 Суб 16:17:58  843419
>>843387
> пушится страничка
> открывает свой попап
> вкатился с веба
Зря вкатился.
Аноним 17/09/16 Суб 17:36:38  843463
>>843419
чойта? называю не так? Так что такого? :)
Аноним 17/09/16 Суб 17:37:11  843465
>>843411
хер знает. думал что не очень хорошо чтобы было так.
Аноним 17/09/16 Суб 20:13:06  843548
>>843387
Проблема актуальна только для ограничения частоты следования запросов на сервер, встречается это в основном в формах поиска и автодополнения.
Когда-то я это делал встроенными средствами языка и андроида для формы поиска: очередь запросов и собственно ЭКЗЕКУТОР.
Аноним 17/09/16 Суб 23:18:59  843666
Сап двощ, суть такова. Есть view со всякой текстовой хуйней, нужно сделать его полупрозрачным(легко) и чтобы поверх появлялать надпись(сложно). Как такое сделать?
Аноним 18/09/16 Вск 00:44:27  843723
>>843666
Так а что сделать то хочешь?
Аноним 18/09/16 Вск 00:52:01  843726
>>843723
Лист с итемами, при удалении итема он не сразу пропадает из списка, а становится полупрозрачным и поверх него появляется надпись удалено. Хз как такое реализовать без космической ебли, надеюсь на помощь анона.
Аноним 18/09/16 Вск 09:34:48  843816
>>843726
Делаешь вьюхолдер, в onBindViewHolder, если состояние = удалено, делаешь текст видимым, а бэкграунда вьюхолдера меняешь цвет.
Аноним 18/09/16 Вск 12:10:23  843849
Ну че, кто на дроидкон идет?
Аноним 18/09/16 Вск 12:30:30  843853
>>843849
У меня боязнь больших скоплений людей, ну нах.
Аноним 18/09/16 Вск 13:43:51  843876
>>843816
Не, как создать текст поверх другой вьюхи? Надпись должна быть именно поверх другой вьюхи, типа как в фш со слоями.
Аноним 18/09/16 Вск 14:19:31  843891
>>843849
Нахрен нужны конференции конкретно про android/ios, если они не от Google/Apple?

В который раз будут пережевывать android-костыли и рассказывать про свои велосипеды.
Может быть из JB кто-нибудь придет рассказать как делать hello-world на Kotlin.

Конференции JUG.ru и то интереснее для android разработчиков.
Аноним 18/09/16 Вск 14:44:08  843902
Как сделать, чтобы при создании новой активити (пустой), в layout добавлялся android:id ?

П.с первый день
Аноним 18/09/16 Вск 15:37:55  843934
>>843876
Зсунуть вьюху и текст внутрь одного конетейнера Frame/Relative.
>>843902
Зочем
Аноним 18/09/16 Вск 15:39:48  843936
>>843934
Ну просто в туторе гугла было вот это

>Note: The XML layout generated by previous versions of Android Studio might not include the android:id attribute. The call findViewById() will fail if the layout does not have the android:id attribute. If this is the case, open activity_display_message.xml and add the attribute android:id="@+id/activity_display_message" to the layout element.

А у меня последняя версия, по идее должно было добавляться
Аноним 18/09/16 Вск 15:42:42  843938
>>843936
Возьми и добавь в лэйаут тот айди, который тебе нужен.
Аноним 18/09/16 Вск 15:46:45  843943
>>843938
Да добавил я, просто думал, что можно как-то настроить, чтобы по умолчанию cоздавался id, ну да ладно, это не принципиально.
Аноним 18/09/16 Вск 16:20:28  843978
Смотрю курс на udacity по андроиду и параллельно читаю head first android (сейчас изучаю фрагменты)
все правильно делаю?
Аноним 18/09/16 Вск 16:29:52  843986
>>843978
> все правильно делаю
Нет, ты изучаешь программирование под андроид.
Аноним 18/09/16 Вск 17:22:25  844017
>>843978
Этот >>843986 все правильно говорит, хуле ты хаскель не учишь?

Аноним 18/09/16 Вск 18:06:27  844047
>>843978

Курс с погодным приложением? Тогда норм.
Аноним 19/09/16 Пнд 02:14:22  844291
>>843319
>не очень быстро летает студия на винде(4 гига оперативки, 2.3GHz) то есть ли смысл накатить убунту и на неё студию?
имеет, но не надейся на существенный прирост производительности
Аноним 19/09/16 Пнд 03:00:42  844296
>>843319
Имеетсмысл SSD поставить и озу до 8 гб.
Аноним 19/09/16 Пнд 09:35:27  844353
Сап, котаны, такая тема - вроде как продумал как построить любую клиент-серверку по MVP прямо вот очень хорошо, но вдруг вылезли VK и FB SDK которые засрали мне своими коллбэками ебучими весь презентер. С этим можно что-то поделать ? Фактически там есть 4 сраных коллбэка - первые два на логин, вторые - на получения данных а-ля users.get() в VK. Так там еще и третий запрос имеет место быть - запрос к нашему API на аутентификацию. Получается жирновато прямо вот дофига...
Аноним 19/09/16 Пнд 09:44:41  844358
Насколько раздуется приложение, если я использую:
1. Kotlin + RxJava
2. Retrofit
Мне нужно написать модуль для существующего приложения.
Для разнообразия решил написать его на котлине.
Этот модуль - фрагмент c некоторым функционалом (карты гугла, загрузка данных с сервера, кеширование). Насколько сложно будет встроить его в приложение на Java?
Аноним 19/09/16 Пнд 09:44:56  844359
>>844353
Оберни колбэки в observable и обмазывайся flatMap'ом.
Аноним 19/09/16 Пнд 09:53:16  844364
14742679961650.jpg (83Кб, 480x480)
Хочу написать простенькое приложение по типу доставки еды.
Посоветуйте, как это лучше сделать.
Подумал и решил таким образом: на сервере храниться xml/json с данными(вид пиццы: маргарита; цена: 200 рублей). Приложение стягивает xml с сервера, затем строит layout.
Получаем список пицц на экране пользователя. Юзер кладет пиццу в корзину, выбирает количество, рассчитывается цена. Покупку можно сделать путем отправки письма на емеил доставки пиццывидел такую фишку в одной аппликухе.
Посоветуйте, это годная идея для первого проекта?
Может, уже есть готовые велосипеды?
Аноним 19/09/16 Пнд 10:16:05  844367
>>844358
Советую отсюда https://github.com/streamsupport/streamsupport
взять CompletableFuture и юзать их везде где нужны асинхронные операции.
Ибо они гораздо проще (нет сайд эффектов на подписывание и они "горячие" по умолчанию"),
но при этом их можно так же удобно чейнить и с async/await они лучше совместимы.

А RxJava нужно использовать только там где реально нужен реактивный-поток-данных,
те когда заведомо известно что будет несколько результатов.
Аноним 19/09/16 Пнд 11:28:30  844388
>>844359
Не понял, коллбэки они и есть коллбэки, единственное, что на мой взгляд здесь можно сделать - вынести их создание в отдельный CallbackManager какой-нибудь и просто инстансы получать...
Аноним 19/09/16 Пнд 11:28:31  844389
>>844367
Что значит "горячие по умолчанию"?
Аноним 19/09/16 Пнд 11:37:45  844392
>>844367
Правильно я понимаю, что поняв суть CompletableFuture станет ясна и суть RxJava?
Аноним 19/09/16 Пнд 12:02:17  844396
>>844389
При подписывании на обсервабл у него по дефолту срабатывает onSubscribe, в котором например начинается запрос в сеть. Если ты подпишешься, отпишешься и снова подпишешься на него при условии что запрос еще не отработал, то будет два запроса вместо одного.
Аноним 19/09/16 Пнд 12:03:19  844397
>>844389
Ну а "горячий" подпишет тебя на запрос который в процессе, если такой есть.
Аноним 19/09/16 Пнд 12:14:25  844400
>>844364
бамп вопросу
Аноним 19/09/16 Пнд 12:32:21  844404
>>844367
Да, точно. RxJava мне абсолютно не нужна для этой задачи.
Аноним 19/09/16 Пнд 12:59:03  844414
>>844389
>Что значит "горячие по умолчанию"?
Это значит что "по умолчанию" метод который возвращает CompletableFuture будет выполняться сразу,
в отличие от возвращающего Observable, у которого надо с начало вызвать subscribe(...), даже если тебе не нужны результаты.

те если у тебя есть класс с методом
addUser(user: User):Observable<*>

то просто вызов service.addUser(User()) - не сделает ничего,
а нужно делать service.addUser(User()).subscribe({}, {})
Аноним 19/09/16 Пнд 13:27:04  844428
>>844392
>Правильно я понимаю, что поняв суть CompletableFuture станет ясна и суть RxJava?
CompletableFuture - это промисы https://ru.wikipedia.org/wiki/Futures_and_promises
RxJava - это специфичная реализация идеи https://ru.wikipedia.org/wiki/Реактивное_программирование

Нельзя сказать что-то лучше, они для разных целей.
В Oracle это поняли и в той же Java 9, завезли Flow (это RX от JVM)
Аноним 19/09/16 Пнд 19:49:27  844622
С помощью GCM, можно делать нотификации прямо из приложения, т.е. без сервера, указываю время, и в это время она приходит?
Аноним 19/09/16 Пнд 20:08:46  844627
>>844622
> указываю время, и в это время она приходит
И нахуй тебе GCM вообще тогда?
Аноним 19/09/16 Пнд 20:19:14  844630
Аноны, есть сервис всякого проигрывания музыки из VK, с плейлистами и прочей хуйнёй-малафьёй. Подкиньте годных идей, что туда можно добавить, чтобы строчка в портфолио была?
Аноним 19/09/16 Пнд 20:28:02  844635
>>844627
хз, может будильники не тру
Аноним 19/09/16 Пнд 20:56:57  844657
>>844630
Ничего.
Аноним 19/09/16 Пнд 22:09:12  844703
Я правильно понимаю, что с программированием под Android на Eclipse уже ВСЕ? И поддержку Windows XP прекратили? Еще в 2015 году Гугл отказался поддерживать обновления ADT, сказав всем сваливать на Андроид Студию, но техническая возможность использовать связку Android SDK + ADT + Eclipse все еще оставалась.
Сейчас после обновления SDK Platform Tools до 24.0.3 нихуя не работает компиляция на Windows XP (тупо не запускается adb), откатил до 24.0.1, все нормально.
И Support Package Library версии 38 нихуя не содержит библиотеки поддержки как проекты Эклипс. Раньше можно было использовать те же recyclerview, appcomat и cardview, теперь их тупо не привяжешь к Андроиду.
Т.е. теперь расклад такой: если хочешь писать под Андроид в Windows XP - не обновляй Platform Tools.
Если семерка и выше, но юзаешь эклипс (как у меня, нетбук 2010 года тянет Андроид Студию, но с большими тормозами), не обновляй Support Package Library или вообще не юзай библиотеку поддержки.
Аноним 19/09/16 Пнд 22:32:57  844718
Если я хочу использовать MVP архитектуру и Retrofit, то что вместо AsyncTask можно взять для кеширования полученного с сервера в БД? Использую cupboard в качестве easy ORM.
Аноним 19/09/16 Пнд 22:53:33  844734
>>844703
Бери консольку и конкпелируй из нее, че ты не как этот. Подсветку из саблайма/атома/вима/емакса.
Аноним 19/09/16 Пнд 22:54:14  844735
>>844718
Loaders/RxJava/бекспорты CompletableFuture
Аноним 20/09/16 Втр 01:50:03  844793
sup, аноны
итак возникло пару вопросов:
1) куда устанавливается АС, джава сдк, андроид сдк в линуксе? есть ссд 120 гб, разбит на разделы по канонам линукса(убунты). интересует хватит ли мне места если у меня есть 2 раздела по 55гб(/home, /)
2)посоветуйте тему диплома на андроид. могу в простое клиент-серверное с использованием интентов, потоков, хттп реквестов. на нулевой не отвечают
Аноним 20/09/16 Втр 02:33:28  844796
Ебать. Эти пидары выпустили 2.2 оставив при этом баг с датабиндингом
Аноним 20/09/16 Втр 02:39:27  844797
>>844703
>xp
Ты там совсем ебанутый?
Аноним 20/09/16 Втр 02:56:04  844800
>>844793
> посоветуйте тему диплома на андроид
Поубивал бы.
Аноним 20/09/16 Втр 02:59:25  844801
>>844734
>атома
Так атом на жс еще более требователен к ресурсам, чем студия
Аноним 20/09/16 Втр 03:01:28  844802
>>844796
> датабиндинг
Не нужен.
Аноним 20/09/16 Втр 07:53:13  844821
>>844364
ответьте,плих
Аноним 20/09/16 Втр 08:38:46  844825
>>844796
А че с ним?
>>844802
Любитель баттернайфа?
Аноним 20/09/16 Втр 08:43:22  844827
>>844821
Ты в xml собрался данные хранить или разметку, если второе то нахуя, ты еще поебешься с тем как это сделать. Это не веб где хтмлки туда-сюда гоняют.
Аноним 20/09/16 Втр 08:57:57  844829
>>844825
Есть даже бага на багтрекере, даже не одна. Студия не определяет статические методы, если нет переменной в xml
Аноним 20/09/16 Втр 09:00:45  844831
Что делать если юзер перевернул экран, презениер у меня сохранен и не булет пересоздан, но view пересоздастся и в результате после некой асинхронной операции view НЕ обновится, т.к. было null?
1) Как-то проверять после bindView, что есть результат и обновлять View
2) Перезапустить запросы при перевороте, но это не вариант, зачем 2 раза запросы слать?

Аноним 20/09/16 Втр 09:02:07  844833
>>844831
Использовать view state. Суть можешь у mosby посмотреть.
Аноним 20/09/16 Втр 09:25:46  844837
>>844829
Ты про кастомные атрибуты? Ну у меня везде есть переменные.
Аноним 20/09/16 Втр 09:50:42  844844
Кто-то пробовал что-то делать на jabber? Не могу подружить спарк (десктоп) с конверсейшн(андроид) клиенты. Не отправляются файлы(любые) между разными платформами ни в одну, ни в другую сторону. В рамках одной платформы все хорошо, между платформами работают только текстовые сообщения. Есть у кого идеи?
Аноним 20/09/16 Втр 14:48:02  844898
Пишу приложение с vk api. В доках пишут, что ссылки на аудиозаписи привязаны к ip. Что лучше в такой ситуации: смотреть за состоянием сети бродкаст ресивером, или же просто запрашивать url записи перед каждым воспроизведением?
Аноним 20/09/16 Втр 15:13:07  844914
>>844898
>url
this
Аноним 20/09/16 Втр 15:20:02  844916
Я так понимаю сейчас юзание инжектора(dagger, маслонож) + какая-то система управления событиями(eventbusы и прочие rx) + orm это такой себе минимум? Или в проде еще часто пишут на голом фреймворке.

Кодирую сейчас задание на стажировку из шапки и охуеваю от раздувания кода при добавлении кусочков функционала и все это становиться сильно связано и smells bad, чувствую что с такой минималочкой(события, инжектор, орм) количество кода и быдломеханик сократится в разы, или такие тестовые лучше писать на голяке?
Аноним 20/09/16 Втр 15:35:56  844924
>>844898
Запрашивать каждый раз это вариант.
А вообще вероятность того, что айпишнег поменяется внезапно крайне мала.
Аноним 20/09/16 Втр 15:38:31  844927
>>844916
Мне кажется, в задании из двух активити нахуй не нужно забивать проект либами. Не та это задача, где они что-то сделают проще/красивее.
Важнее, чтобы ты мог в разделение логики (mvc там). Ну и солид, инверсия контроля, никакой сильной связи. Очень странно, что у тебя там что-то раздувается вообще
Аноним 20/09/16 Втр 15:53:39  844936
>>844924
Нихуя подобного, юзер может переключиться с wi-fi на мобильный интернет, к примеру.
Аноним 20/09/16 Втр 15:53:56  844937
>>844833
Это вот это?
http://hannesdorfmann.com/mosby/viewstate/
Но здесь нет решения этой проблемы.
Только сохранения состояния View после поворота экрана.
Мне то другое нужно.
Аноним 20/09/16 Втр 16:12:57  844946
>>844937
Тебе нужна связка presenter -> viewstate -> view. Viewstate привязан к циклу preneter'a и зеркалирует все вызовы view. Если view существует и привязана, то viewstate сохраняет у себя последнее состояние и отправляет его во view. Если view не существует, то просто сохраняет состояние. В момент привязки view к presenter, состояние из viewstate применяется к view.
Аноним 20/09/16 Втр 16:18:26  844948
14743775070630.jpg (165Кб, 650x650)
>>844946
Ага! Все понятно. Пока существует презентер - храним состояние View в прослойке между реальным View и Presenter.
Как только View забиндили - синхронизируем всё к хуям.
Просто и логично.

это картошка через шайбу проросла
Аноним 20/09/16 Втр 16:18:58  844949
>>844948
Бля, не та пикча, но похуй, ящерицы круче!
Аноним 20/09/16 Втр 16:33:52  844956
В чём отличие Loader от AsyncTaskLoader?
Ведь и тот и тот в другом потоке задачу выполняют и возвращают результат в main thread?
Аноним 20/09/16 Втр 16:55:29  844972
Открыл исходник recycler view - 10000 строк ах ты ж ебаный нахуй, вот вам и ООП в андройде
Аноним 20/09/16 Втр 17:02:23  844980
>>844972
Recycler еще и куций какой-то. Метод onItemLongClick велосипедить пришлось.
Аноним 20/09/16 Втр 18:03:27  845010
>>844972
Посмотри конструктор View. Андроид костылерожденный.
Аноним 20/09/16 Втр 18:56:30  845047
>>844946
Мне сразу стало интересно - а как подобные уебки хранят презентер? Неужели у них постоянно висит армия синглтонов?
Аноним 20/09/16 Втр 19:17:33  845059
>>845047
Презентер у тебя либо ретеинфрагмент, либо привязан к активити и уничтожается если активность isFinishing.
Но я конечно уебок, ага.
Аноним 20/09/16 Втр 20:35:12  845114
[code]
Test
[/code]

[code lang=c]
Test
[/code]

[code lang="c"]
Test
[/code]
Аноним 20/09/16 Втр 21:34:12  845137
>>844703
>нетбук 2010 года тянет Андроид Студию, но с большими тормозами
такая же ситуация, только я пересел на убунту еще в позапрошлом году, а то вында бы от студии вообще обкакалась
Аноним 20/09/16 Втр 21:35:47  845138
>>844630
скробблинг на ластик
Аноним 20/09/16 Втр 21:35:51  845139
>>845059
автор mosby делает все в ретеин фрагментах, т.е. твой презентер всегда висит в твоем фрагменте, только нужно занулять эллементы ui в onDestroy
Аноним 20/09/16 Втр 23:50:33  845198
>>844980
Очко у тебя куцее
Аноним 21/09/16 Срд 01:00:21  845242
>>844916
Самый минимум: Retrofit
Для продвинутых (если знаешь, что это и зачем): Dagger 2, RxJava

Butternife - по сути синтаксический сахар. Хочешь, используй, не хочешь - не используй.
Аноним 21/09/16 Срд 01:02:06  845243
>>845242
>>844916

> eventbusы, orm
Не нужны. Тем более в тестовом задании.
Аноним 21/09/16 Срд 06:52:27  845285
>>844916
В тестовых заданиях обычно просят по минимуму использовать сторонние либы тк:
1) От тебя требуется показать знание Android SDK и общую сообразительность
2) Ты один фиг не умеешь их готовить и только увеличишь кол-во макарон в своем коде, в котором мне придется разбираться
3) На работе все равно будут использовать др библиотеки
Аноним 21/09/16 Срд 08:23:10  845299
Как устроен модуль 2ch для Dashchan?
Каким образом вызываются методы из другой apk?
https://github.com/Mishiranu/Dashchan-Extensions/wiki/Extension-devepment-tutorial
Аноним 21/09/16 Срд 08:33:14  845301
>>845299
Аноним 21/09/16 Срд 09:27:54  845314
>>845299
Скорее-всего, просто кидают друг-другу интенты.
Аноним 21/09/16 Срд 12:59:49  845382
Поясните за плюсы и минусы GreenDAO плиз, кто использовал в крупных проектах.
Аноним 21/09/16 Срд 13:08:12  845385
14744524924990.png (8Кб, 389x165)
У меня есть SearchView в который выводятся данные из базы данных. Как мне повесить слушатель на строчку из SearchView, чтобы например, мог перейти на Acitivty этого значения(которое выводит SearchView)?
Аноним 21/09/16 Срд 18:29:28  845565
14744717687260.png (18Кб, 500x327)
Почему ИТТ нет обзора архитектуры Dashchan?
Там нет RxJava, нет Retrofit и при этом прекрасно всё работает.
Аноним 21/09/16 Срд 19:51:03  845617
>>843417
Только в случае расппостранения, умник.
Аноним 21/09/16 Срд 20:47:44  845656
>>845617
Распространения чего? Если твоё приложение использует более одного человека, это уже распространение.
Аноним 21/09/16 Срд 20:57:45  845670
>>845565
Всё прекрасно работает != качественный код

Там многие вещи — велосипеды. HttpResponse, HttpClient, AsyncManager, почти всё на AsyncTask'ах, довольно громоздкие сервисы.

Но приложение действительно работает хорошо, из имеющихся клиентов самое лучшее. Но я уверен, если бы автор писал Dashchan сейчас с нуля, то он получился бы еще лучше.
Аноним 21/09/16 Срд 20:59:49  845672
>>845670
Я до конца не понимаю как там некоторые вещи работают - почему по время переворота экрана ничего не уебывается, ведь он не использует retain fragment?
Аноним 21/09/16 Срд 21:05:59  845678
>>845672
>>845670
Еще вот что - там при Destroy происходит остановка AsyncTask'ов, но как я не пытался при повороте девайса данные всегда корректно загружались. Что это за магия такая?
Аноним 21/09/16 Срд 21:07:54  845682
>>845656
А он вроде как его один и использует. Просто за советом для себя пришёл.
Аноним 21/09/16 Срд 21:08:40  845683
>>845672
Фрагментов у него вообще нет, только активити (код старый).
Есть лишь один статичный фрагмент (это говнокод и почти гарантированная утечка), в котором он, видимо, хранит состояние. Ну и вообще, там по большей части WebView используется.

В общем, код Даши как пример для подражания и хороший архитектуры — явно плохая идея.
Аноним 21/09/16 Срд 21:09:27  845685
14744813674860.png (22Кб, 886x367)
Делаю приложение по книге head first android.
Что не так?
Аноним 21/09/16 Срд 21:10:30  845688
>>845683
> Ну и вообще, там по большей части WebView используется.
Но ведь это неправда.
Аноним 21/09/16 Срд 21:11:16  845689
>>845682
Что-то не похоже:

> Это не мой код, это исходники на основе которых мы делаем
Плюс, в прошлом треде он что-то похожее про передачу файлов по xmpp спрашивал, говоря, что сроки горят.

Аноним 21/09/16 Срд 21:11:42  845692
>>845688
Открой исходники и убедись.
Аноним 21/09/16 Срд 21:13:04  845694
>>845678
Самописный AsyncManager и LruCache. AsyncTask отдает результаты не в активити (которой уже может не быть), а в сервис/свой синглтон.
Аноним 21/09/16 Срд 21:14:04  845697
>>845682
Ну и если он просто сам для себя пишет, тогда точно не понимаю, почему бы просто не выложить свой форк на Гитхаб.
Аноним 21/09/16 Срд 21:14:32  845698
>>845685
Один просто Fragment, а другой Fragment из SupportLibrary?
Аноним 21/09/16 Срд 21:14:51  845699
>>845689
Ну, между ними код вполне открыт. В паблик ничего не выкладывали. А когда выложат — уже нужно требовать.
Аноним 21/09/16 Срд 21:15:26  845700
>>845692
Открыл, убедился, что это неправда.
Аноним 21/09/16 Срд 21:20:03  845706
14744820030530.png (27Кб, 520x613)
>>845700
Ну как знаешь, лол.
Аноним 21/09/16 Срд 21:20:44  845708
>>845699
Ну да, это верное замечание. Правда, что-то я сильно сомневаюсь, что они потом его откроют.
Аноним 21/09/16 Срд 21:21:09  845709
>>845706
А в каких случаях эта активити открывается, ты смотрел?
Аноним 21/09/16 Срд 21:23:02  845710
>>845698
>а другой Fragment из SupportLibrary?
не понял
Аноним 21/09/16 Срд 21:31:24  845715
>>845706
>>845692
>>845683
>>845683
WebView там нигде не используется. За месяц каждодневного пользования Дашей я ни разу его не видел.

Алсо, Dashchan пример того, как имея прямые извилины штатными средствами (без доп. библиотек для хипстеров) сделать хороший продукт.
Аноним 21/09/16 Срд 21:32:07  845716
>>845715
Хороший код — это тоже для хипстеров?
Аноним 21/09/16 Срд 21:36:34  845717
>>845716
Это навязанные Западам чуждые нам стереотипы! Обколются своими СОЛИДами и тестируют друг друга в юниты.
Аноним 21/09/16 Срд 22:06:30  845734
>>845710
все, разобрался
Аноним 21/09/16 Срд 22:22:07  845757
>>845717
проорал
Аноним 21/09/16 Срд 22:50:49  845781
>>845385
Мне кажется, правильная идея - игнорировать к хуям SearchView из основной библиотеки.
Ебанутейшая инициализация, костылинг велосипедов для сохранения истории поиска. На старых версиях меняется цвет текста в окошке, цвет кнопочек и всего-всего - и главное, что это никак не пофиксить.
В приложении ютуба сделан свой SearchView, который гораздо удобнее хуйни, вылезающей по середине тулбара.
Аноним 22/09/16 Чтв 13:49:59  846043
>>845781
А что можно использовать вместо SearchView?
Аноним 22/09/16 Чтв 14:41:34  846064
>>846043
WebView с поиском Гугла
Аноним 22/09/16 Чтв 19:13:03  846206
Как сделать, чтобы язык для локализации можно было вручную выбрать в апке? Или это делать не рекомендуется?
Аноним 22/09/16 Чтв 19:29:58  846212
>>846206
Мне кажется, это уже 100 раз обсосано на стаковерфлоу.
Аноним 22/09/16 Чтв 19:36:21  846215
>>846212
Да, извини, еще такой вопрос:
Если локализации твоего региона нету то используется дефолтная. А что если локализация твоего региона частичная, тоесть некоторых стрингов просто нету. Тогда будут использоваться дефолтные стринги, которых нету в локализации, или вся локализация будет дефолтной?
Аноним 22/09/16 Чтв 19:47:43  846222
Аноны, а в студии есть консоль и способы работы с ней? Чтобы можно было по-быстрому проверять правильное ли я значение возвращаю, а то телефон и эмулятор очень медленные.
Аноним 22/09/16 Чтв 19:50:27  846223
>>846222
Вкладка terminal внизу.
Про значения не понял. Ты имеешь в виду дебаггер?

Аноним 22/09/16 Чтв 19:53:55  846227
>>846223
Ну я имел ввиду, могу ли я написать аналог System.out.println() и чекнуть что-то?
Аноним 22/09/16 Чтв 20:06:13  846234
>>846227
Не проще написать юнит тест на этот участок кода?
>>846215
Для каждого ресурса резолвится все индивидуально. Так что
> Тогда будут использоваться дефолтные стринги, которых нету в локализации
Аноним 22/09/16 Чтв 22:05:01  846362
>>846227
Для этого используется Log.d
Аноним 23/09/16 Птн 00:06:54  846462
>>846362
Только даунами используется.
Аноним 23/09/16 Птн 00:20:34  846470
>>846462
Чем пользуются недауны?
Аноним 23/09/16 Птн 01:53:32  846493
>>846470
Картошкой.
Аноним 23/09/16 Птн 02:26:25  846499
>>846493
Мамкин шутник или хедхантишь телепатов?
Аноним 23/09/16 Птн 02:53:28  846501
>>846499
Ты тупой или просто из жс-треда?
Аноним 23/09/16 Птн 10:23:54  846558
>>844827
Данные о количетсве пицц
Аноним 23/09/16 Птн 10:58:42  846563
>>846558
Ну тогда в принципе норм.
Аноним 23/09/16 Птн 12:22:22  846591
>>846501
>Ты тупой
>из жс-треда
Зачем или если фразы эквивалентны?

Сижут тут давно, что такое картошка в душе не ебу. Думаю анон посоветует годную библиотечку для логгинга, а ты хуйню всякую пишешь.
Аноним 23/09/16 Птн 18:47:53  846824
>>846591
годна библиотека для логгинга - Timber
Аноним 23/09/16 Птн 19:04:26  846833
>>846824
Охуеть какая годная. У нее есть большая проблема, которую выдают за преимущество - собственный принтер эксепшонов, а именно полного стактрейса, из-за чего принтуется она около 16 мс целый фреим.
В итоге я ее костылил, чтобы она в отдельном потоке срала логами, беря их из блокирующей очереди.
Аноним 23/09/16 Птн 19:10:59  846844
>>846833
А, у нее еще все под одним тэгом выводится. Так что нужно руками еще тэг дописывать, либо писать обертку, которая будет его дописывать.
Аноним 23/09/16 Птн 19:27:01  846852
>>846824
>>846833
А нахер вообще нужно логирование в мобильной разработке?
Аноним 23/09/16 Птн 19:38:42  846863
>>846852
Совсем туттуру, да?
Аноним 23/09/16 Птн 19:44:30  846866
>>846852
Ну если у тебя 2 окна рестопараши то ненужно.
Аноним 23/09/16 Птн 20:12:48  846883
>>846863
>>846866
Аргументов не завезли, я смотрю?
Аноним 23/09/16 Птн 20:23:11  846886
>>846883
Краш с логами > краш без логов, это вроде бы очевидно.
Аноним 23/09/16 Птн 20:25:33  846888
>>846886
> очевидно
Тогда ладно.
Аноним 23/09/16 Птн 20:37:12  846893
>>846833
Она не будет ничего принтить-форматить если ты не добавишь дерева, ферштейн? А андроидовскому логгеру ты кроме того, что цеплять String.format должен, так еще и в if (BuildConfig.DEBUG) оборачивать должен. Проблема тимбера в том что у него minSdk = 16, непонятно чем это вызвано.
Аноним 23/09/16 Птн 20:38:57  846896
>>846886
Тебе крашлитика и так логи всунет по всем тредам. Тимбер только позволяет ее красиво в дерево спрятать.
Аноним 23/09/16 Птн 20:39:38  846897
>>846893
> в if (BuildConfig.DEBUG) оборачивать должен
Ёбнутый что ли?

-assumenosideeffects class android.util.Log {
public static d(...);
public static
v(...);
}

> Проблема тимбера в том что у него minSdk = 16
Проблема проблем.
Аноним 23/09/16 Птн 20:41:07  846900
Палю годноту: https://github.com/orhanobut/logger
Аноним 23/09/16 Птн 20:44:55  846903
Аноны я тут новенький, где можно научиться гитом пользоваться? Гайд/книга/видео, все подойдет.
знаю немного теорию vcs
Аноним 23/09/16 Птн 20:47:07  846905
>>846897
Ага, и сам автор ответа предложил использовать Timber из-за более удобного api.
Опять же если я хочу что-то форматировать, то с дефолтным логером даже если его отключить произойдет создание строки и тд.
Аноним 23/09/16 Птн 20:47:29  846907
>>846903
Туториал битбакета.
Аноним 23/09/16 Птн 20:48:21  846908
>>846903
https://git-scm.com/book/ru/v1
Аноним 23/09/16 Птн 20:48:57  846909
>>846907
А в чем разница между битбакетом и гитхабом, или это просто конкурирущие репозитории?

>>846908
благодарю
Аноним 23/09/16 Птн 20:49:27  846912
>>846905
Какого нахуй ответа?

В чем более удобное апи?

> Опять же если я хочу что-то форматировать, то с дефолтным логером даже если его отключить произойдет создание строки и тд.
Што?
Аноним 23/09/16 Птн 20:56:31  846921
>>846912
>Какого нахуй ответа?
http://stackoverflow.com/questions/2446248/remove-all-debug-logging-calls-before-publishing-are-there-tools-to-do-this
>В чем более удобное апи?
Вместо того что бы ебать прогвард с изменением стектрейса можно настроить лог как тебе удобно, посадить несколько деревьев, для крашлитики, другое для аналитики например, опять же в зависимости от билдтайпа.
>Што?
Ты там через плюсик логаешь, да?
Если ты не хочешь через конкатенацию складывать строки для лога, то в дефолтном логере ты делаешь:
Log.d(TAG, String.format("xyi: %s, pizda: %s", xyi, pizda));
Timber.d("xyi: %s, pizda: %s", xyi, pizda);
В случае деффлтного логера произойдет создание строки в куче для нахуй не нужного лога.
В тимбере до ненужного формата просто не дойдет, если ты правильно его настроил.
Аноним 23/09/16 Птн 20:58:01  846923
>>846909
Ну вообщем-то да. Гитхаб только для гита, на битбакете интеграция с асаной, можно и меркуриал использовать. Опять же 5 репозиториев приватных бесплатно.
Аноним 23/09/16 Птн 21:02:59  846924
>>846893 >>846921
> В тимбере до ненужного формата просто не дойдет, если ты правильно его настроил
> Она не будет ничего принтить-форматить если ты не добавишь дерева, ферштейн
А, ну да. Дерево логов краш репорт сервиса мы не подключаем. Я говорю, что тимбер очень долго собирает стактрейс, и это хуево.
>>846896
> логи всунет по всем тредам
Нет, только стактрейс.
Аноним 23/09/16 Птн 21:05:09  846927
>>846921
> В случае деффлтного логера произойдет создание строки в куче для нахуй не нужного лога.
Так какая нахуй разница? Если ты им дебажишь, то тебе похуй на создание строки. В релизи всё равно вырезается логгирование прогардом
Аноним 23/09/16 Птн 21:07:24  846928
>>846924
>А, ну да. Дерево логов краш репорт сервиса мы не подключаем
Почему же не подключаем? Подключаем, но логать будем только errorы, ну и warnинги, если сильно хочется.
Аноним 23/09/16 Птн 21:08:07  846929
>>846923
>Опять же 5 репозиториев приватных бесплатно.
5 человек в группу бесплатно, кол-во приватных репозиториев не ограничено.
Аноним 23/09/16 Птн 21:09:51  846930
>>846929
Перепутал.¯\_(ツ)_/¯
Аноним 23/09/16 Птн 21:20:43  846935
>>846921
И вообще, иди нахуй со своей экономией на спичках
Аноним 23/09/16 Птн 21:31:51  846941
>>846935
Когда закончились аргументы. Тебя вообще ебет что я использую для логирования?
Аноним 23/09/16 Птн 21:36:36  846947
>>846941
Мне поебать
Аноним 23/09/16 Птн 21:59:55  846960
>>846927
Прогвард не вырежет создание строки, вот пруф:
http://pastebin.com/i3HnQ3Dt
Каждый раз когда лог будет вызываться, будет происходить вызов toString объекта, если бы там был тимбер, то этого бы не происходило, так как не было бы посажено дерево для уровня debug.
Аноним 23/09/16 Птн 22:05:56  846964
>>846960
Я уже написал: >>846935

Создание строги ему жалко, сука. А потом будут про оптимизацию еще кудахтать.
Аноним 23/09/16 Птн 22:11:06  846967
>>846964
Спор был о сайд эффектах и отключении логгинга в продакшене. Дефолтный логер нужно оборачивать в if (BuildConfig.DEBUG).
Аноним 23/09/16 Птн 22:12:32  846969
>>846967

Я уже спрашивал: нахуя он вообще нужен? Внятного ответа не было.
Аноним 23/09/16 Птн 22:15:00  846971
>>846969
А это не внятный ответ: >>846921 ?
Вкратце - удобней.
Аноним 23/09/16 Птн 22:15:42  846972
>>846971
Вопрос про логгинг в общем был, а не про тимбер.
Аноним 23/09/16 Птн 22:19:02  846974
>>846972
Логгинг нужен что бы не сидеть с дебагером выковыривая значения какой-нибдуь хуйни. Посмотреть данные по запросу-ответу, проверить на лету что вызвалось нужное событие и тд.
Аноним 23/09/16 Птн 22:19:10  846975
>>846971
Из того же ответа:
> Log.d(TAG, String.format("xyi: %s, pizda: %s", xyi, pizda));
>Timber.d("xyi: %s, pizda: %s", xyi, pizda);
Нахуя писать значения переменных в лог, когда у тебя есть дебаггер? В случае крэша неверное значение будет в эксепшене.
Аноним 23/09/16 Птн 22:20:30  846977
14746584309110.png (782Кб, 801x801)

ПЕРЕКАТ https://2ch.hk/pr/res/846976.html

ПЕРЕКАТ https://2ch.hk/pr/res/846976.html

ПЕРЕКАТ https://2ch.hk/pr/res/846976.html
Аноним 23/09/16 Птн 22:20:40  846978
>>846975
Редкий краш на девайсах юзеров тоже дебаггером будешь отлаживать?
Аноним 23/09/16 Птн 22:21:47  846981
>>846975
Что бы не сидеть с дебагером? В продакшене эти логи никогда не выведутся.
Аноним 23/09/16 Птн 22:22:25  846982
>>846978
Крашлитика сама все соберет.
Аноним 23/09/16 Птн 22:24:06  846984
>>846982
Она не собирает логи без Crashlytics.log, деб.
Аноним 23/09/16 Птн 22:25:11  846988
>>846984
Папка твой деб. Не словленные эксепшны она сама собирает. Те которые словил, ну те да конечно самому надо логнуть.
Аноним 23/09/16 Птн 22:26:34  846990
>>846981
>>846986
>>846984
>>846989
Аноним 23/09/16 Птн 22:27:01  846991
>>846988
Ты понимаешь разницу между логами и стактрейсом?
>>846990
Ну ок(
Аноним 23/09/16 Птн 22:27:10  846992
Перекатывайтесь уже сюда https://2ch.hk/pr/res/846976.html
Аноним 23/09/16 Птн 22:29:40  846994
>>846991
>Ты понимаешь разницу между логами и стактрейсом?
Конечно понимаю. Но как ты крашлитике логируешь эксепшн? Правильно - через log. Туда же записываешь связанные со сломавшимся функционалом данные.
Аноним 23/09/16 Птн 22:31:59  846996
>>846994
Ёбнутый штоле?
Аноним 23/09/16 Птн 22:33:01  846998
>>846994
> Туда же записываешь связанные со сломавшимся функционалом данные
Ты ограничен тем, что ты запихнешь в карту при logException, а я же получаю более полную картину действий пользователя и данных, с которыми он оперировал.
Аноним 24/09/16 Суб 13:06:46  847249
Использовал кто ? https://atlas.layer.com/android
Аноним 24/09/16 Суб 17:46:22  847413
>>846908
не знал что есть на русском, спасибо, а то на ангельском осилил уже больше половины
Аноним 06/10/16 Чтв 23:38:59  851899
14757863397700.png (25Кб, 272x171)
14757863397701.png (36Кб, 289x350)
Господа, как мне динамически подгонять высоту и ширину вьюшки, чтобы она идеально вмещала в себя полученное из интернета изображение? Пикрелейтед то, что у меня выходит и сейчас и то, что я в итоге хочу получить.

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

Топ тредов
Избранное