М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 15 октября 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

509 Кб, 1000x970

Android Development Thread 2.0 # OP 08 Сен, 23:48 #838598 В конец треда | Веб

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 (М)

Ответы>>838748>>838793>>839459>>841052>>842305>>842525

58 Кб, 873x762

59 Кб, 775x740

08 Сен, 23:58 #2 #838621

Бонус

Ответы>>838627>>838655>>838770>>839017>>839508>>839515>>841705

09 Сен, 00:03 #3 #838627

>>838621
это джун?

Ответы>>838630

09 Сен, 00:06 #4 #838630

>>838627
Да. Вернее, даже пред-джун, ибо тестовое задание для стажировки.

Ответы>>838673>>843087

09 Сен, 00:30 #5 #838655

>>838621
>отсутствие крашей
Возьми молоток с собой на проверку и отбивай проверяющим по пальцу за каждый не-нексус. А лучше — отрезай ножницами по металлу.
>code-style от Google
Какой бля code-style от Google? Тем более оно, сука, всё равно в одинаковый байт-код соберётся, лишь бы читать можно было.
Напридумают хуйни всякой, а потом ебут друг друга в жопы.

Ответы>>842153>>842169

09 Сен, 00:55 #6 #838673

>>838630
ну норм, дефолтное задание, только вот адаптация под планешты че то дохуя

Ответы>>838674

09 Сен, 00:56 #7 #838674

>>838673
Удвою, планшеты на андроиде нахуй не сдались, это рынок винды и iOS.

09 Сен, 07:06 #8 #838748

>>838598 (OP)
Ты старый ОП?

Ответы>>838796

09 Сен, 09:27 #9 #838770

>>838621
> Тестовое задание на стажера судя по сложности сразу в Google
> Kotlin
А ха ха наконец-то

09 Сен, 10:26 #10 #838791

>>838490
Зочем?
Ну ладно может таки переведу и на хабр выложу.

09 Сен, 10:31 #11 #838793

>>838598 (OP)
Ты что с шапкой сделал уебан?

Ответы>>838795

09 Сен, 10:33 #12 #838795

>>838793
Хорошая красивая шапка, вместо прошлого уебища.

Ответы>>838797

09 Сен, 10:34 #13 #838796

>>838748
Нет, я старый оп.
Проебали нумерацию, какое-то говно в шапке на три строки.

>Альтернатива джаве
>Xamarin
>PhoneGap/Ionic/Titanium/ReactNative
Какой даун.

Ответы>>838801

09 Сен, 10:35 #14 #838797

>>838795
Да хуя с два. В ебало вам плюнул, больше не дам шапки делать.

09 Сен, 10:56 #15 #838801

>>838796
>Нет, я старый оп.
Ну и ладно, ты тут держись и не бугурти особо, твои пункты 1-10 тоже не очень были.

Старперам вроде тебя с ~1.5 годом опыта пора на пенсию, даешь дорогу молодым.
Думаю через пару тредов вообще шапку перекатим на Kotlin.

Ответы>>838811

09 Сен, 11:34 #16 #838811

>>838801
Понятно, школота заселила тред.

09 Сен, 12:02 #17 #838823

gson или jackson ?

Ответы>>838843>>838882

09 Сен, 12:21 #18 #838843

>>838823
>gson или jackson ?
ProtoBuf

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

Какая нах## разница какую брать бибилиотеку, это все third-party components.
Вынеси сериализацию в отдельный модуль, так что ее можно было менять в будущем.

Ответы>>838895

09 Сен, 13:45 #19 #838882

>>838823
org.json

Ответы>>838895

09 Сен, 14:10 #20 #838895

>>838843
>>838882
подойдите к ответу на вопрос более ответственно.
вы на собеседовании как никак

Ответы>>838921

09 Сен, 14:47 #21 #838910

Блять, я в рот ебал это назначение цветов аппкомпат контролам.
У меня блядский AppCompatEditText, мне нужно поменять цвет подчеркивания.

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

В итоге сижу любуюсь охуенной белой линией едиттекста на белом фоне.

Ответы>>838912>>838914>>839304

09 Сен, 14:53 #22 #838912

>>838910
http://stackoverflow.com/a/26631227

Ответы>>838913

09 Сен, 14:54 #23 #838913

>>838912
Я в посте уже это указал.

Ответы>>838915

09 Сен, 14:55 #24 #838914

>>838910
И проблема только на 21+. Ниже цвета применяются нормально.

09 Сен, 14:55 #25 #838915

>>838913
Хз, у меня всё работает. Старая версия support library?

Ответы>>838918

09 Сен, 14:58 #26 #838918

>>838915
Последняя.

09 Сен, 15:01 #27 #838921

>>838895
Сынок, это я тебя буду собеседовать, раз уж ты с такими тупыми вопросами приходишь.

Шесть-лет-в-андроид-деве

Ответы>>838922>>838928>>838975

09 Сен, 15:02 #28 #838922

>>838921
Поссал на новичка.

Пятнадцать-лет-в-андроид-деве

Ответы>>838928

09 Сен, 15:05 #29 #838928

>>838922
>>838921
>Шесть-лет-в-андроид-деве
>Пятнадцать-лет-в-андроид-деве
Поссал на вас обоих.
70 лет в андроид деве

Ответы>>838930

09 Сен, 15:09 #30 #838930

>>838928
Насрал тебе на голову.

мимо-Райан-Гослинг

09 Сен, 15:32 #31 #838946

Прочитал head first java. Теперь могу вкатываться в андройд и читать документацию?

Ответы>>838969>>838987

09 Сен, 16:07 #32 #838969

>>838946
Прочитал одну книгу != умею хорошо программировать на Java

Ответы>>838987

09 Сен, 16:15 #33 #838975

>>838921
ахах, мне этот вопрос на собесе как раз задал чел, который начал разрабатывать с самых первых ведроидов

Ответы>>838985

09 Сен, 16:21 #34 #838979

Привет андроиданам из энтерпрайза опять.

Ответы>>838984

09 Сен, 16:26 #35 #838984

>>838979
Как на галере, брат?

Ответы>>838986

09 Сен, 16:26 #36 #838985

>>838975
Помню, когда то это и для меня было действительно важно.

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

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

6-лет в разработке

09 Сен, 16:28 #37 #838986

>>838984
Норм. Сегодня офигенный стрим написал для пробега по дереву.
Всё хочу освоить андроид, а времени нет.
Сейчас уже выбрал в магистратуру кафедру веб проги, а там для поступленя нужен матан, так что изучение андроида опять откладывается.

А у тебя?

Ответы>>839011>>839016

09 Сен, 16:28 #38 #838987

>>838969
>>838946
жыза, я так понял нужно создать какое-нибудь первое приложение
только идеи нет

Ответы>>839017

1292 Кб, 2000x1517

09 Сен, 16:42 #39 #838999

Запилите нормальную версию R https://cran.r-project.org/ под андроид. Есть только обрезанная по самые помидоры коммандная строка, без намека на выдающиеся графические возможности этого замечательного языка обработки данных.

Ответы>>839002>>839019

09 Сен, 16:47 #40 #839002

>>838999
эр говно, бери юляшу и не вуёбывайся

Ответы>>839006

09 Сен, 16:49 #41 #839006

>>839002
>юляшу
Там 0,01% от реализованных на R алгоритмов нет. инб4 сам и напиши

09 Сен, 16:56 #42 #839011

>>838986
Все горит, нужно натянуть текстурки в игре, а они не натягиваются, движок говнона самом деле проблемы во мне. Нужно подтереть сопли джунам, что бы делали заебись, а не говно. Нужно вправить мозг бекендщику, короче завал.

Ответы>>839027

09 Сен, 17:01 #43 #839016

>>838986
> магистратуру кафедру веб проги
Пиздец.

Ответы>>839027

09 Сен, 17:02 #44 #839017

>>838987
- Клиент для Двача. Все профессионалы с этого начинали.

- Или >>838621

09 Сен, 17:04 #45 #839019

>>838999
Нахуй тебе R на смартфоне? Ты ебанутый?

Ответы>>839021

09 Сен, 17:05 #46 #839021

>>839019
На планшетике жи.

Ответы>>839023

09 Сен, 17:12 #47 #839023

>>839021
То же самое. В общем, да, ебанутый.

09 Сен, 17:26 #48 #839027

>>839011
Оо, удачи тебе. У меня такой кастомер, которому сроки почти никогда не горят.

>>839016
Почему?

17 Кб, 681x298

09 Сен, 18:52 #49 #839071

Сап, это опять я с SQLite. Короче, как вывести отдельную строку, а не выводить все столбцы?

Ответы>>839079>>839154>>839302

09 Сен, 19:01 #50 #839079

>>839071
Так строку или столбцы? Если строку, то selection, если столбцы, то projection.

И причём тут Android? Тебе в sql-тред с такими вопросами.

sage 09 Сен, 19:58 #51 #839116

https://medium.com/russian/почему-мой-телефон-не-обновится-до-нового-андроеда-e4cd5fa3fa85

2104 Кб, 1440x498

sage 09 Сен, 20:08 #52 #839126

Из Гугл-плея убрали раздел new apps/new games

Ответы>>839136

09 Сен, 20:33 #53 #839136

>>839126
Неча всякое индиговно рекламировать за бесплатно.

09 Сен, 20:43 #54 #839154

>>839071
Хули ты такой? Ты задал аргументы для квери. Тебе выплюнуло курсор. На каждой позиции курсора ты можешь достать имя котика по индексу 0, номер на 1 и возраст на 2. Очень вероятно что котик по твоим критериям в базе не один, значит там несколько строк. У тебя не аппендится в текствью потому что ты мудаксама идея туда апендить пока ты идешь по курсору тупа до невозможности. Если ты хочешь ток одного кота, ну блять возьми и верни из этого метода new Cat(name, phone, age), после первой итерации цикла, только курсор закрой. Если твоя блядская проблема в том, что ничего не выводится, так это вероятно потому что курсор пустой, тебе так сложно логнуть его размер?

09 Сен, 20:56 #55 #839174

Для чего и где используется CancellationListener из CancellationSignal?
Для собственно завершения некой операции?

09 Сен, 21:13 #56 #839192

Стоит ли перекатываться к вам из разработки под винфон?

Ответы>>839193>>839231>>839432

09 Сен, 21:17 #57 #839193

>>839192
>винфон
Ты живой?

Ответы>>839194

09 Сен, 21:18 #58 #839194

>>839193
Немного.

Ответы>>839205

09 Сен, 21:25 #59 #839205

>>839194
Ну если не войдешь в айос то войдешь сюда.

Ответы>>839229

09 Сен, 21:51 #60 #839229

>>839205
> Ну если не войдешь в айос,
то сюда у него тем более не получится "войти", если он даже айос не осилит

Ответы>>839238

09 Сен, 21:54 #61 #839231

>>839192
>Стоит ли перекатываться к вам из разработки под винфон?
Однозначно стоит перекатываться в кросплатформу.
Попробуй Xamarin.Form будешь как дома (C# + XAML).

Ответы>>839234>>839254>>840326

09 Сен, 21:58 #62 #839234

>>839231
От шарпа уже подташнивать начинает, наебался я с ним.

Ответы>>839240

09 Сен, 22:03 #63 #839238

>>839229
На иос денег нет.

09 Сен, 22:07 #64 #839240

>>839234
>От шарпа уже подташнивать начинает, наебался я с ним.
В принципе я тебя понимаю, сам сижу на Kotlin, он даже по сравнению с C# местами по круче
primary constructor, flow-sensitive typing, var для полей, функции без классов, более удобные extension методы (ну бомба: адекватные переносы для { и методы с мал. буквы).

Но ты еще Java не пробовал, это как C# 2.0 (особенно учитывая что надо юзать 1.6 или с костылями мятся)

Ответы>>839242>>839246>>839291

09 Сен, 22:09 #65 #839242

>>839240
Да, котлин я пробовал, понравился. Вот думаю в ведро вкатиться и сразу на нем писать.

09 Сен, 22:11 #66 #839246

>>839240
P.S.
> (ну бомба: адекватные переносы для { и методы с мал. буквы)
Дико двачую, бесит паскаль кейс и фигурные скобки на новой строке в шарпе.

09 Сен, 22:32 #67 #839254

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

другой анон

Ответы>>839256>>839445

sage 09 Сен, 22:40 #68 #839256

>>839254
> динамико-дрисня
спасибо нам очень важно ваше мнение, оставайтесь на линии

Ответы>>839262

09 Сен, 22:52 #69 #839262

>>839256
Ты жопой читаешь, даун мелкобуквенный? Я js для сравнения привёл.

Ответы>>839268>>839270

sage 09 Сен, 22:57 #70 #839268

>>839262
>Ты жопой читаешь, даун мелкобуквенный? Я js для сравнения привёл.
ты червь-пидар, запомни нет ничего хуже JS

Ответы>>839270>>839279>>839283

09 Сен, 23:00 #71 #839270

>>839268
>>839262
А зачем вы вообще на js пишете? Что вас сподвигло на это?

Ответы>>839279

09 Сен, 23:20 #72 #839279

>>839270
Да никто на нём не пишет. Сказал же: я его для сравнения привёл.
>>839268
Ты явно хуже.

09 Сен, 23:22 #73 #839283

>>839268

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

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

Ясно понятно

Ответы>>839284

09 Сен, 23:22 #74 #839284

>>839283
в тематике

фикс

10 Сен, 00:04 #75 #839291

>>839240
> адекватные переносы для {
А какая с этим проблема на шарпе?

10 Сен, 00:44 #76 #839295

Аноны, на каких маках вы кодите? Какой стоит брать?

Ответы>>839305>>839328>>839358>>840327

10 Сен, 01:30 #77 #839302

>>839071
Null null null дерни себя, пес, за анал.

10 Сен, 01:41 #78 #839304

>>838910
Сделай стиль для 21 и туда пихни android:colorControlNormal

10 Сен, 01:45 #79 #839305

>>839295
Не на маках. Мы же не ёбнутые.

10 Сен, 06:54 #80 #839328

>>839295
>>837254 да и вообще иди почитай тот тред

10 Сен, 09:15 #81 #839358

>>839295
Я на прошел 13года, нормально себя чувствую. Джунгли на эре 15го, там 4 гига, а не 8, но ему тоже норм если пользоваться девайсом, а не эмулятором.

Ответы>>839359>>839360

10 Сен, 09:16 #82 #839359

>>839358
Прошке*

10 Сен, 09:19 #83 #839360

>>839358
Блять, ебаная автозамена.
Я на прошке 13года, нормально себя чувствую. Джун на эйре 15го, там 4 гига, а не 8, но ему тоже норм, если пользоваться девайсом, а не эмулятором

Ответы>>839364>>839367

10 Сен, 09:29 #84 #839364

>>839360
У тебя видимо мак недавно, все мои знакомые отключали автозамену в первые месяцы.

Ответы>>839446

10 Сен, 09:35 #85 #839367

>>839360
Главное SSD, 4 гб для mac os мало.

10 Сен, 10:32 #86 #839432

>>839192
Решил вкатиться, иду по туториалу, пока все нравится больше, чем в увп.

10 Сен, 10:54 #87 #839445

>>839254
Java+RX - вот оно дно. Благо есть Котлин.

Ответы>>839447>>839507>>839905

10 Сен, 10:55 #88 #839446

>>839364
Я с ведра писал.

10 Сен, 10:56 #89 #839447

>>839445
Что ж вам так от rx печет-то?

Ответы>>839448

10 Сен, 10:59 #90 #839448

>>839447
Ничего не печет. Печет от того, как он вписывается с жабу.

Ответы>>839450

10 Сен, 11:01 #91 #839450

>>839448
И в чем проблема вписывания в джаву? Куча мелких объектов для сборщика?

10 Сен, 11:41 #92 #839459

>>838598 (OP)
что требуют от джуна на ведре? сколько приложений в портфолио и какой сложности?

Ответы>>839508

10 Сен, 14:06 #93 #839507

>>839445
Ёбнутый?

Ответы>>839509

# OP 10 Сен, 14:11 #94 #839508

>>839459
Нужно хорошее знание Java, понимание базовых принципов Android (жизненный цикл activity/fragment, что такое Context, intents, services, UI thread, support library, shared preferences, SQLite), знание популярных библиотек типа Retrofit + Glide/Picasso.

Чем больше портфолио — тем лучше. Для начала хватит чего-то типа этого >>838621

Ответы>>839515

sage 10 Сен, 14:14 #95 #839509

>>839507
А вот и больной подъехал. Куда же мы без твоих однословных постов.

Ответы>>839511

10 Сен, 14:23 #96 #839511

>>839509
Хорошая аргументация, молодец. Иди пиши AsyncTask'и дальше, тебе некогда в треде сидеть.

10 Сен, 14:31 #97 #839515

>>839508
> Для начала хватит чего-то типа этого >>838621
Не хватит. Это максимум стажёрское задание.

Ответы>>839877

11 Сен, 08:39 #98 #839877

>>839515
Говно какое-то, а не задание. В чём смысл дрочева на материал десигн? А трёхстрочных анимаций переходов между двумя (!!!) активити, и появления аж трёх элементов на экране? Что вообще они хотят проверить этой околодизайнерской поеботой?

Вангую мухосранскую студию с охуенными требованиями и раздутым ЧСВ.

Ответы>>839991

11 Сен, 09:17 #99 #839883

Есть некоторые объекты классов из VK api. Мне нужно сохранять их в базе. Физически StorIO позволит это сделать.
Как считаете, стоит их напрямую сохранять, как прямые сущности для базы? Или лучше пилить отдельные сущности, которые будут идентичны?

Ответы>>839907

11 Сен, 10:54 #100 #839905

>>839445
Котлин + рх лучше?
Или ты про лямбды на джаве не слышал?

Ответы>>840056

11 Сен, 10:56 #101 #839907

>>839883
Если ты потом будешь использовать их с методами vksdk, или тебе нужны прям все их поля то сохраняй их. Но если тебе потребуется потом только часть инфы, нет смысла хранить их целиком. Тем более свои объекты для абстракции могут быть лучше.
Что за объекты-то?

11 Сен, 14:01 #102 #839991

>>839877
А вот и ретрограды-говноеды подъехали. Нахуй дизайн, нахуй UX, а потом плачут в треде, что у них полтора скачивания в месяц.

Ты вообще понимаешь, что такое тестовое задание? Ты должен показать, что ты умеешь и можешь. Если ты анимации между двумя объектами сделать не в состоянии, то и более сложные сценарии тебе не по зубам будут.

11 Сен, 16:20 #103 #840056

>>839905
> ты про лямбды на джаве не слышал
Не, не слышал на 7 жабе. Только костыли. И как будто лямбды спасут это уебище.

Ответы>>840061>>840063

11 Сен, 16:35 #104 #840060

Котлинобоги, как float сконвертировать в массив байтов? И как потом ставить эти байты в нужное место другого массива?

Ответы>>840064

11 Сен, 16:35 #105 #840061

>>840056
Нормальные костыли. То что котлин это костыли на 6 джаве тебя видимо не смущает?

11 Сен, 16:39 #106 #840063

>>840056
>>840056
>Самый востребованный и широкоприменяемый язык

>Спасет

От чего спасет-то? Альтернатив джаве нет, нормальных альтернатив, а не хипстерского говна, которое сегодня есть, а завтра все забыли о нем.

Ответы>>840079

11 Сен, 16:40 #107 #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);
}

Ответы>>840078>>840119

11 Сен, 17:07 #108 #840078

>>840064
Пиздец.

Ответы>>840086

11 Сен, 17:12 #109 #840079

>>840063
Уж не из-за этого ли гениального языка ведро хоронит сам Гугл?

Ответы>>840081>>840083>>840108

11 Сен, 17:13 #110 #840081

>>840079
как хоронит?

Ответы>>840082

11 Сен, 17:13 #111 #840082

>>840081
Ты в танке? Седьмое ведро - последнее.

Ответы>>840086>>840087>>840290

11 Сен, 17:14 #112 #840083

>>840079

Оставайтесь на линии, свежие новости из манямирка

Ответы>>840085

11 Сен, 17:15 #113 #840085

>>840083
Такой манямирок, что уже сами Гугл сливают новости о новой ОС? Ради фана пилят там что-то?

11 Сен, 17:15 #114 #840086

>>840082
Ссылочку пожалста.давно пора эту парашу закрыть
>>840078
А хули ты хотел, принцесса? Можно первую чатсь и по другому, но не будет учтен порядок байтов и вся хуйня. А второй способ лучший если ты хочешь скопировать откуда-нибудь куда-нибудь.

Ответы>>840097

11 Сен, 17:15 #115 #840087

>>840082
даже не знаю, стоит ли просить пруф

Ответы>>840097

11 Сен, 17:25 #116 #840094

Хули с тредом, последние посты недоступны.

11 Сен, 17:26 #117 #840097

>>840086
>>840087
Вбейте в гугл "fuchsia google" что ли. Миллион статей про новую ОС от гугла.

Ответы>>840101>>840102>>840105

11 Сен, 17:30 #118 #840101

>>840097
Она не позиционируется как замена ведру.

Ответы>>840103

11 Сен, 17:30 #119 #840102

>>840097
Как же вы заебали, долбоебы.

11 Сен, 17:31 #120 #840103

>>840101
Пруфы?

Ответы>>840106>>840107

11 Сен, 17:31 #121 #840105

>>840097

И как это сигнализирует о смерти андроида? Там вообще еще ничего не ясно, даже если прямо сейчас Гугл заявит о новой оси, еще сто лет пройдет пока все переедут с андроида на новую ось и вообще не факт, что это ось для смартфонов.

11 Сен, 17:32 #122 #840106

>>840103
>>840103
Пруфы обратного

11 Сен, 17:32 #123 #840107

>>840103
Сначала принеси пруфы что она позиционируется как замена, в статьях сказано что она просто есть.

11 Сен, 17:33 #124 #840108

>>840079
Ведро на C написано, даун.

Ответы>>840110>>840111

11 Сен, 17:34 #125 #840109

Гугл занял 80% рынка ведром и сейчас просто возьмёт и откажется от него? Вы ебнутые?

11 Сен, 17:35 #126 #840110

>>840108
А мы кодим на еще более уёбищном говне. Гугл вообще думает что-нибудь выкатить против Свифта?

Ответы>>840112>>840115>>840118

11 Сен, 17:35 #127 #840111

>>840108
Ядро линукса на С, а проблемы в структуре приложений с бесконечным количеством колбеков и хуков.

Ответы>>840123

11 Сен, 17:36 #128 #840112

>>840110
Нахуя? Ты можешь писать на джаве, на котлине, на свифте, в чем проблема?

Ответы>>840119

11 Сен, 17:37 #129 #840115

>>840110
Чем джава плоха?

11 Сен, 17:40 #130 #840118

>>840110

Свифт вообще говно без задач под анальным контролем педиков, а на базе jvm ты можешь писать на чем угодно, если тебе не нравится джава, хоть на скале, хоть на кложуре, а под гейось только свифт

11 Сен, 17:40 #131 #840119

>>840112
> в чем проблема?
В JVM и всем, что она тянет за собой. Вот такая вот хуйня, например - >>840064
В 2016 году должно быть стыдно за такое.

Ответы>>840121>>840124

11 Сен, 17:42 #132 #840121

>>840119
Плюсов от jvm больше мамкин максималист.

Ответы>>840125>>840132

11 Сен, 17:43 #133 #840123

>>840111
https://github.com/android
Сравни кол-во хуиток на си и плюсах с явовыми. А лучше ещё выкинь оттуда все встроенные гуевые приложульки. Спойлер: соотношение 50:1 не в пользу явы.

11 Сен, 17:44 #134 #840124

>>840119
Тебе не хватает инструментов для байтоебства в джаве? Ну извини это не ее задачи.

Ответы>>840142

11 Сен, 17:44 #135 #840125

>>840121
Ни одного, кроме кроссплатформенности. Даже таскать JRE за собой - уже говно хуже дотнета.

Ответы>>840131>>840133

11 Сен, 17:47 #136 #840131

>>840125
У нас тут любитель сигфолтов подкатил. Иди дрочи NativeActivity.

11 Сен, 17:47 #137 #840132

>>840121
И поэтому разработчики борятся с наследием легасиговна с самой первой версии. ПОэтому появились dalvik и art. Блять, знай разработчики андроида что их купит гугл и проблем со спонсированием не будет - сделали бы собственную вм без родовых травм.

Ответы>>840134

11 Сен, 17:47 #138 #840133

>>840125
А свифт охуенный да?

Ответы>>840135

11 Сен, 17:48 #139 #840134

>>840132
>сделали бы
сразу*

11 Сен, 17:49 #140 #840135

>>840133
Сейчас не язык обсуждали. Но в сравнении с явой даже говно собаки хорошее и не пахнет.

Ответы>>840136

11 Сен, 17:49 #141 #840136

>>840135
А аргументы будут?

Ответы>>840141>>840329

11 Сен, 17:54 #142 #840141

>>840136
Ну что тебе именно написать? Задавай наводящие вопросы, лень расписывать все сотый раз.

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

Ответы>>840143>>840148

11 Сен, 17:54 #143 #840142

>>840124
Мне не хватает инструментов для комфортного кодинга. Или это тоже не её задачи? Если исключить еблю с памятью, то кодинг на жабе и крестах - дрочево одного уровня. Причем в C++14 уже даже комфортнее будет.

Ответы>>840146>>840153

11 Сен, 17:55 #144 #840143

>>840141
Ладно минусы есть базара нет, какие альтернативы? Си шарп на голову лучше или кресты? Что сейчас есть, чем можно заменить джаву и , что не будет иметь всех этих недостатков?

Ответы>>840153

11 Сен, 17:56 #145 #840146

>>840142
>кодинг на жабе и крестах - дрочево одного уровня

Наркоман или дальше хелоувордов не заходил?

Ответы>>840150>>840153

11 Сен, 17:58 #146 #840148

>>840141
Что значит кривые абстракции и бесполезная система типов? Как ты предлагаешь сократить синтаксис? Что не так с дженереками? Такое ощущение, что у тебя какие-то личные комплексы, которые ты проецируешь на язык.

Ответы>>840149>>840158

11 Сен, 17:59 #147 #840149

>>840148
> Как ты предлагаешь сократить синтаксис?
Ебучие свойства.

11 Сен, 17:59 #148 #840150

>>840146
Как раз таки заходил. Когда пришел на жабу7, подумал не попал ли в прошлое лет так на 10. Простейшие задачи из крестов выполняются в столько же или даже больше ебли.

Ответы>>840152

11 Сен, 18:01 #149 #840152

>>840150
Хуй знает, как ты программируешь, что у тебя джава = кресты по ебле. Вообще-то это не так.

11 Сен, 18:02 #150 #840153

>>840146
Он тебе вроде как ясно написал >>840142
>Если исключить еблю с памятью
То да, кресты уже давно обогнали яву по фичастости синтаксиса еще в 11 стандарте что не отменяет того факта, что наговнокодить на них легче, не отрицаю.
>>840143
Любой современный жвм язык инб4: КОКОКО ХИПСТАПАРАША, хотя в таком случае уткнёмся в изначальную проблему что по прежнему тащим с собой убогую жвм, а на поприще нативных языков - ты сам знаешь что есть.

Ответы>>840157

11 Сен, 18:03 #151 #840157

>>840153
Ну то есть альтернатив (среди не нативных языков) нет, чтд

Ответы>>840169

11 Сен, 18:03 #152 #840158

>>840148
> Как ты предлагаешь сократить синтаксис?
В жабе: Кококо кудах = new Кококо();
В котлине: кудах = Кококо()

Ответы>>840160>>840164>>840180

11 Сен, 18:05 #153 #840160

>>840158
Зато в джаве сразу видно тип объекта. Это все вкусовщина на самом деле, реальных проблем у языка нет, таких, что вот пиздец нужен новый, это все нытье.

Ответы>>840169>>840187

11 Сен, 18:09 #154 #840164

>>840158
Точнее val кудах = Кококо()

11 Сен, 18:12 #155 #840169

>>840160
Его тип видно в любом случае, а так же она позволяет много где сокращать код кроме объявления переменных (хотя бы при итерации по коллекции и тд).
Добавили вывод типов в шарпе - все писались от радости.
Добавили вывод типов в плюсах - все писались от радости.
Хотят добавить его в яве - явиндусы начали пронзитель визжать "НЕ УБИВАИТИ МАЙУ УТИНУЙУ ТИПЕЗАЦЕЮ!!!". Я ахуеваю - насколько же люди готовы жрать говно. Тут вообще стоило пошутить о том, нахуя вам знать этот самый тим - жвм всё равно потрет))) все це Object)))))
>>840157
Хуй знает как у тебя голова вообще работает.

Ответы>>840179>>840182>>840186

11 Сен, 18:20 #156 #840179

>>840169

И зачем нужен вывод типов?

11 Сен, 18:21 #157 #840180

>>840158
Val и var в девятой джаве появятся

11 Сен, 18:21 #158 #840182

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

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

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

Ну хз

Ответы>>840189>>840192>>840197

11 Сен, 18:24 #159 #840186

>>840169
Вывод типов появится в 9

Ответы>>840225

11 Сен, 18:24 #160 #840187

>>840160
>Зато в джаве сразу видно тип объекта
Всегда можно сделать: val кудах: Кококо = Кококо()

11 Сен, 18:25 #161 #840189

>>840182
> вывод типов
> говно
Лолблять

11 Сен, 18:26 #162 #840192

>>840182
То есть тебе норм писать например:
Collection<Pair<Bitmap, BitmapFactory.Options>>

Ответы>>840195>>840196

11 Сен, 18:27 #163 #840195

>>840192
Я вообще на 5 уроке джавараша

Ответы>>840198

11 Сен, 18:28 #164 #840196

>>840192
Точнее Collection<Pair<Bitmap, BitmapFactory.Options>> bitmaps = new Collection<Pair<Bitmap, BitmapFactory.Options>>();

11 Сен, 18:28 #165 #840197

>>840182
Взял наугад пару имен классов из спринга:
>AbstractSingletonProxyFactoryBean abstractSingletonProxyFactoryBean1 = AbstractSingletonProxyFactoryBean<AbstractServiceLoaderBasedFactoryBean>( abstractServiceLoaderBasedFactoryBean1);

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

Алсо, я ещё порофлю если в 9-ке не введут дедукцию как в плюсах и такой код получится уменьшить только на 20 буковок))).

Ответы>>840200

11 Сен, 18:28 #166 #840198

>>840195
Ну так хуле кукарекаешь говно или не говно var/val?

11 Сен, 18:30 #167 #840200

>>840197
Ладно это пиздец.

11 Сен, 18:53 #168 #840225

>>840186
Ну-ка быстро кинул пруф на JEP или пиздабол.

В java 9 давно уже фичафриз произошел, ничего, кроме того что там уже сделано, не добавится.

Ответы>>840242>>840266

11 Сен, 19:10 #169 #840242

>>840225
Кинул тебе за щеку. Проверяй.

11 Сен, 20:00 #170 #840266

>>840225
http://openjdk.java.net/jeps/286

Ответы>>840274

11 Сен, 20:15 #171 #840274

>>840266
В 9 не войдет, но в 10 можно ждать
http://openjdk.java.net/projects/jdk9/

11 Сен, 20:36 #172 #840290

>>840082
Господи, какие дауны в треде.

Ответы>>840339

11 Сен, 21:27 #173 #840317

ф
ф
*

11 Сен, 21:33 #174 #840326

>>839231

Попробовал тебе за щеку, проверяй

Ответы>>840331

11 Сен, 21:34 #175 #840327

>>839295

Кодил у тебя за щекой, проверяй

Ответы>>840331

11 Сен, 21:35 #176 #840329

>>840136

аргументировал тебе за щеку, проверяй

Ответы>>840331

73 Кб, 632x501

11 Сен, 21:38 #177 #840331

>>840326
>>840327
>>840329

11 Сен, 22:03 #178 #840339

>>840290
А вот и еще одна манька.

Ответы>>840341

11 Сен, 22:08 #179 #840341

>>840339
Да-да, джава говно, гугл прекращает разработку Андроида. Съеби уже из треда "мёртвой платформы".

12 Сен, 01:19 #180 #840407

Аноны, мне нужно сделать элемент списка, у которого можно будет вставить иконку рядом с границей так, чтобы граница была выпуклой.
Это можно делать с помощью задания бордера? Или только пилить кастомную вьюху?

Ответы>>840469

12 Сен, 07:14 #181 #840441

Кто-нибудь упоролся дополненной реальностью? Что используете в разработке?

12 Сен, 10:09 #182 #840469

>>840407
Нарисуй схематично. Если я правильно понял, можно просто поверх итем слева наложить drawable с впуклой границей, а картинку поверх него.

12 Сен, 14:18 #183 #840593

аноны, есть тут кто кодит под линексом?
в чем преймущества и какой дистрибутив юзаете?

Ответы>>840599>>841420

12 Сен, 14:31 #184 #840599

>>840593
Manjaro. Полёт нормальный

12 Сен, 14:50 #185 #840621

Пытаюсь сделать реконнект при разрыве соединения на стороне сервера (Connection reset - выключаю и включаю сервер), однако после реконнекта при попытке чтения из inputStream всегда получаю -1. При разрыве соединения сокет закрываю socket.close(), при подключении создаю через new Socket(...); Пробовал так же закрывать input и output стримы, делать флаши, ресеты (кидает эксепшон) - нихуя не помогает. Не могу понять как это пофиксить.

12 Сен, 18:09 #186 #840709

1. Хочу угореть по нормальному структурированию кода, типа MVP, clean architecture, или что там самое модное сейчас, но не могу найти нормальных гайдов. Везде используется куча параши, которой я не знаю, даггеры хуяггеры, реактивные джавы итд.
Хотел бы попробовать сделать вменяемую архитектуру без всяких библиотек и костылей, чтобы знать хотя бы какие проблемы эти библиотеки решают и как без них обходиться. Тем более что приложения у меня очень простые.
Просмотрел testing guide от google codelabs, но там уже всё за тебя написано и объяняется мало, я так нихуя и не понял как организовать уровень Model.
Есть ли ещё какие-то годные гайды и стоит ли вообще с этим заморачиваться?
Один хуй написал на форуме, что не нужно слишком выёбываться библиотеками когда делаешь проекты для показа работодателям, и лучше всё писать на голой джаве + SDK хотя бы в одном проекте, чтобы было видно что ты владеешь базой.
2. Есть ли места где можно скинуть свой проект чтобы его покритиковали другие разработчики?
#android-dev похож больше на чат с вопросами, в /r/androiddev ни разу не видел чтобы спрашивали такое, да и вообще всратое место, codereview на stackexchange для объемных проектов с кучей файлов не подходит, там надо код сразу постить в тело поста.

Ответы>>840743>>840744>>841448

12 Сен, 18:59 #187 #840743

>>840709
https://github.com/googlesamples/android-architecture

там куча вариантов от plain MVP и Clean Architecture до Rx и прочего

12 Сен, 19:00 #188 #840744

>>840709
Паттерны с голой SDK почти не совместимы.
У тебя Android API использует God Object - Context. Его нужно как-то внедрять в различные части архитектуры. И это только начало проблем.

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

>Один хуй написал на форуме, что не нужно слишком выёбываться библиотеками когда делаешь проекты для показа работодателям, и лучше всё писать на голой джаве + SDK хотя бы в одном проекте
Посмотри по вакансиям, в половине случаев будут нужны сторонние либы. На собесе можно наверное и на словах пояснить роль некоторых компонентов SDK, их преимущества и недостатки

13 Сен, 05:32 #189 #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

И я нихуя не могу понять в чем тут дело т.к. это простая покупалка за рекламу вконтактовских голосов. Ну не делает оно ничего из расстрельного списка гугла. В их техподдержку тикет уже отправил но может быть тут кто-то с подобной хуетой сталкивался?

Ответы>>841062

13 Сен, 06:59 #190 #841062

>>841052
У меня было приложение, которое не проигрывало музыку из вк напрямую на смартфоне - забанили за мимикрию под оф. приложение.

Ответы>>841070

13 Сен, 07:52 #191 #841070

>>841062
Но я то ни по до что не мимикрирую. Ни одного логотипа, вообще ничего

Ответы>>841071

13 Сен, 07:55 #192 #841071

>>841070
Я вижу 2 проблемы
1) Ты накручиваешь рекламу, заставляя пользователей просматривать рекламу
2) Ты "продаешь" товары других магазинов

Ответы>>841074

13 Сен, 08:01 #193 #841074

>>841071
Нет, на оба варианта. Реклама у меня одна - от тапджоя. Это такая сеть мотивированного трафика. Грубо говоря пользователи имеют офферволл с задачами типа просмотра видео и получают за их выполнения фантики. На эти фантики они могут заиметь себе голосов. Там нечего накручивать и я ничего не продаю тащемта. Плюс подобных приложений(с голосами и не только) в маркете хуева гора, некоторые очень старые

Да и мотивация в этом самом пункте соглашения тоже не связана с контентом или продажами:
4.4 Запрещенные действия. Вы обязуетесь не совершать в Магазине действий (включая разработку и распространение Продуктов), которые нарушают или прерывают работу устройств, серверов, сетей и других объектов и сервисов третьих сторон, включая пользователей Android, компанию Google и операторов мобильной связи, а также наносят им другой ущерб. Запрещается использовать информацию о покупателях, полученную в Магазине, для продажи или распространения Продуктов вне Магазина.

Ответы>>841126

13 Сен, 09:06 #194 #841093

Как-бы мне высрать такую игру, чтоб она и на ведре, и в браузере работала? Только юнити?

Ответы>>841102>>841103>>842304

13 Сен, 09:27 #195 #841102

>>841093
Алсо меня возьмут каким-нибудь джуном в гугл после этого?

Ответы>>841105

13 Сен, 09:28 #196 #841103

>>841093
Есть еще libGdx, но вообще в /gd.

Ответы>>841124>>841128

13 Сен, 09:29 #197 #841105

>>841102
Совсем не факт. Игры и ынтерпрайз - накрестлежащие вещи.

Ответы>>841106

13 Сен, 09:30 #198 #841106

>>841105
А бля какой интерпрайз, перепутал треды. Но вчера вновь вряд ли.

Ответы>>841124

13 Сен, 10:01 #199 #841124

>>841103
Точно, спасибо, пару лет назад немного юзал её.
>>841106
Ну лишним все равно не будет, надеюсь.

13 Сен, 10:04 #200 #841126

>>841074
>некоторые очень старые
Это не аргумент, мое личное приложение пролежало 2 года, а дропнули его после того как я инфу о нем обновил.

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

Налили рекламу, развивали пол год и выкинул это нахуй, тк денег приносит меньше чем затраты на рекламу.

Ответы>>841165

13 Сен, 10:05 #201 #841128

>>841103
> libgdx
К сожалению, он HTML5 поддерживает только для Java.
Kotlin, при том что он сам может конвертироваться в JS, юзать пока нельзя.

Ответы>>841129>>841140

13 Сен, 10:08 #202 #841129

>>841128
А то там с kotlin?

Ответы>>841131>>841139

13 Сен, 10:10 #203 #841131

>>841129
*что

13 Сен, 10:23 #204 #841139

>>841129
>А то там с kotlin?
Да норм все, под android/ios/destop можешь уже сейчас писать на libGDX + Kotlin
Но если хочешь еще на HTML5, то только Java.

Компилятор Kotlin(1.0.3)->JS уже рабочий, сейчас добавляют поддержку Kotlin 1.1
Так же работают над компилятором Kotlin->LLVM, возможно через год можно уже будет писать нативные приложения без JVM.

Ответы>>841142

13 Сен, 10:25 #205 #841140

>>841128
GWT всеравно говно.

13 Сен, 10:27 #206 #841142

>>841139
Я чего-то не понимаю, если есть компиляция в js, то почему бы не пихнуть полученный js на сайт?

Ответы>>841144

13 Сен, 10:30 #207 #841144

>>841142
Потому что есть еще библиотеки фреймворка, которые должны быть написаны под каждую конкретную реализацию (бэкенд).

Никто не хочет сам писать всю нативную часть (WebGL, HTML5 Canvas, IO, события, асинхронность).

Ответы>>841150

13 Сен, 10:53 #208 #841150

>>841144
Спасибо, анончик, откуда ты все вообще все это знаете.

13 Сен, 12:06 #209 #841165

>>841126
Ну я-то без рекламы и на коленке, ничего не скажу. Просто приятная прибавка к зп, надеюсь не была

13 Сен, 13:10 #210 #841187

Сап, котаны. Сабж - есть таймер обратного отсчета, который я благополучно прикрутил к Observable.interval в презентере. Ну и все классно работает, до того как появляется б-гомерзкий lifecycle фрагментов. Проблема заключается в том, что если в onPause отписываться от событий, то после onResume (пустого) таймер просто замирает на месте отписки ( КО ). Но ересь начинается если переподписаться - таймер начинает люто-бешено колбасить, а именно, идет обновление и от непонятно откуда возникшего нового interval-а, и от старого, что выглядит вообще не айс. Как бы мне прикрутить нормально этот механизм продолжения обратного отсчета после onResume фрагмента ?

Ответы>>841194>>841309

13 Сен, 13:25 #211 #841194

>>841187
для начала избавься от rxjava и mvp

Ответы>>841218

13 Сен, 14:08 #212 #841218

>>841194
Мелкобуквы. Мелкобуквы невер чейндж.

Ответы>>841224

13 Сен, 14:23 #213 #841224

>>841218
двачую

13 Сен, 14:31 #214 #841229

Аноны, есть одна апка:
Пиздит инфу с бд и отображает ее в виде "юзер - длина члена - место в рейтинге "
Как её правильно и красиво сделать, какие вью использовать? Отображать будет как часть списка, так и одного юзера.

Ответы>>841235>>841311

13 Сен, 14:50 #215 #841235

>>841229
RecyclerView\ListView

Ответы>>841301

13 Сен, 16:30 #216 #841301

>>841235
ListView в 2016, мда

13 Сен, 16:46 #217 #841309

>>841187
Пофиксил, добавил булевый флаг isPaused и filter на !isPaused в chain

13 Сен, 16:47 #218 #841311

>>841229
RecyclerView ?) В к-ве layout-а для viewHolder-а запили LinearLayout orientation=horizontal, поставь весы и будет тебе счастье

Ответы>>841372

13 Сен, 18:26 #219 #841372

>>841311
> 2016
> LinearLayout

Ответы>>841652

13 Сен, 19:54 #220 #841420

>>840593
Последняя x64Ubuntu. Потому что мой нэтбук 7-летней давности обкакается тянуть студию на маздае. он и с убунтой то на бреющем полёте, хуево быть днищебродом

13 Сен, 19:58 #221 #841425

Аноны, есть запрос, который связан с денежным переводом, т.е. надо его не проебать. Сейчас выполняю его в интент сервисе, как мне сохранить его результат, если приложение свернулось во время запроса и андроид сразу же его убил? Юзаю green eventbus, если что

Ответы>>841435

13 Сен, 20:04 #222 #841435

>>841425
Сервис. При его завершении сохраняешь всё в бд (если твой запрос ещё не выполнился)

Ответы>>841440

13 Сен, 20:08 #223 #841440

>>841435
так как мне понять, что запрос заново не надо отправлять, при открытие активити?

Ответы>>841442

13 Сен, 20:10 #224 #841442

>>841440
Если в бд пусто, то не надо

Ответы>>841445

13 Сен, 20:13 #225 #841445

>>841442
То есть, перед началом такого запроса надо чистить эту таблицу? А сервис же должен быть с android:process=":remote", да?

13 Сен, 20:18 #226 #841448

>>840709

> #android-dev похож больше на чат с вопросами
Это что и где? Slack какой-то или что? Доставьте ссылку

Ответы>>842877

14 Сен, 00:28 #227 #841562

Есть тестовые задания с собесов? Залейте плиз

Ответы>>841578>>841581

14 Сен, 01:21 #228 #841578

>>841562
Вывод списка ёбырей твоей мамаши-шлюхи. При клике на элемент списка должна выводится информация о последней ебле, список поз, количество проглоченной спермы и список твоих братьев и сестер.

Ответы>>841582

14 Сен, 01:28 #229 #841581

>>841562
во втором посте есть.
а так ничего сверхсложного просить не будут. приложение написать на самом собеседовании вряд ли заставят делать.
по дефолту теор опрос(ООП, джава, лайфциклы, треды и тд) и еще могут попросить sql запросы пописать

Ответы>>841659

14 Сен, 01:29 #230 #841582

>>841578
лол, что орнул)

14 Сен, 09:39 #231 #841652

>>841372
ээ, а в чем проблема ? Пока они не становятся вложенными, все работает эффективно...

14 Сен, 10:12 #232 #841659

>>841581
Спасибо

14 Сен, 12:31 #233 #841705

>>838621
Аноны, накидайте еще тестовых заданий, желательно потруднее чем это.

Ответы>>841736

14 Сен, 14:21 #234 #841736

>>841705
Скидывай свою реализацию в тред, получишь ещё.

Ответы>>841856

14 Сен, 18:20 #235 #841856

>>841736
Ок, но это будет недели через 2 в лучшем случае. Кстати за какое время предполагается реализация такого рода заданий?

Ответы>>841890

14 Сен, 19:23 #236 #841890

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

14 Сен, 20:31 #237 #841943

Нужен очень быстрый ликбез по Xamarin.Android, ибо в шараге задали написать простую форму проверки авторизации за пару дней на этой платформе, а времени с 0 учить нет (Знаю только основы C#, платформу не знаю вообще). Что посоветуете?

Ответы>>841948

14 Сен, 20:36 #238 #841946

Аноны, как мне быть, у меня есть презентер, в нем выполняю запрос, потом отдаю данные вью, но при перевороте опять выполняется запрос. Норм ли сохранять данные в презентере (он у меня находится в ретеин фрагменте) и если данные не нулл, то отдавать их, не делая запрос?

Ответы>>842438>>842466

14 Сен, 20:43 #239 #841948

>>841943
Xamarin Forms - если знаешь XAML то наговнокодить приложуху под Android (и сразу iOS) сможешь очень быстро.
А теперь брысь с такими тупыми вопросами.

15 Сен, 00:06 #240 #842087

Аноны как понять архитектуру андройда? А вообще для начала как научиться видеть архитектуру, есстественно на интуитивном уровне кое-как понимаю что такое, но все же не покидает чувство что чего то упускаю. Какие есть годные книги по архитектуре(необязательно андроид релейтед)?

Не ньюфаг-вкатывальщик, но понятие архитектуры в голове весьма размытое.

15 Сен, 01:22 #241 #842097

Нужно к мессенджеру прикрутить отправку голосовых сообщений(но не через диктофон, чтобы они прослушивались плеером), а как в телеграм(записывается и прослушивается внутри приложения).
Как грамотнее это сделать? Пока думаю записывать дорожку, конвертировать ее в массив байтов, отправлять массив, на получателе конвертировать массив обратно.
Хуевая идея или сойдёт?

Ответы>>842099>>842147

15 Сен, 01:59 #242 #842099

>>842097
Хуевая.

15 Сен, 08:21 #243 #842147

>>842097
Сервер есть? Почему бы не записывать туда mp3 файл. И при получении самому поигрывать MediaPlayer'ом или AudioTrack'ом? Первый даже по урлу умеет играть.

Ответы>>842188

15 Сен, 08:55 #244 #842153

>>838655
> отсутствие крашей
Вово. Начнут тестить на каком-нибудь леново, а там пиздец.

Ответы>>842169

15 Сен, 10:27 #245 #842169

>>838655
>>842153
Отсутствие крэшей - навязанный западом стереотип.

Ответы>>842170

15 Сен, 10:28 #246 #842170

>>842169
Деды не умели бороться с крэшами, но это не помешало им дойти до Берлина.

15 Сен, 11:04 #247 #842181

Анон, где можно спиздить готовые темы для апки и стили для вьювов?

Ответы>>842187

15 Сен, 11:22 #248 #842187

>>842181
Из support library. Да и на сайте гуглов есть палитра.

Ответы>>842219

15 Сен, 11:23 #249 #842188

>>842147
Есть. Попробую и так

15 Сен, 12:44 #250 #842219

>>842187
>на сайте гуглов
Доставь ссылку.

Ответы>>842300

15 Сен, 14:42 #251 #842300

>>842219

доставил тебе за щеку, проверяй

15 Сен, 14:47 #252 #842304

>>841093
unreal engine

15 Сен, 14:48 #253 #842305

>>838598 (OP)
Блядь, написал простое приложение, скачал на телефон, установилось без проблем, но блядь открыть его тупо нельзя, после установки только "готово", а открыть нельзя, лол. Где я проебался?

Ответы>>842308

15 Сен, 14:50 #254 #842308

>>842305
Алсо, шаблон для приложение выбрал пустой, может в этом проблема?

15 Сен, 15:01 #255 #842313

Как стандартными средствами дергать коллбеками из забиндинного сервиса внутри активити/фрагмента и чтобы в ui thread они вызывались?
Правильно я понимаю, что это будет более легковесно, чем broadcast слать, где постоянно память выделяется?

Ответы>>842484

15 Сен, 17:19 #256 #842438

>>841946
Бамп, гуру архитектуры, где вы?

15 Сен, 18:03 #257 #842466

>>841946
>Норм ли сохранять данные в презентере (он у меня находится в ретеин фрагменте) и если данные не нулл, то отдавать их, не делая запрос?
Если тебе нормально делать "Fat Ugly Presenter", то все OK.
При этом ты конечно нарушаешь Single Responsibility Principle

По хорошему презентер должен быть тонкой прослоечкой между View и Model

Ответы>>842479>>842487

15 Сен, 18:23 #258 #842479

>>842466
А хранить во вью ViewState и если данные загрузились складывать их во в ViewState, лучше?

Ответы>>842495

15 Сен, 18:33 #259 #842484

>>842313
Если у тебя обычный сервис то он и так в юи треде дергаться будет. Также можно использовать Messenger.

15 Сен, 18:37 #260 #842487

>>842466
Тонкой прослоечкой? А где тогда вся бизнес-логика по-твоему будет?

Ответы>>842490>>842495

15 Сен, 18:40 #261 #842490

>>842487
в синглтон менеджерах ?

Ответы>>842498

15 Сен, 18:49 #262 #842495

>>842479
Отвязывай бизнес логику от Android лайф-сайкл-костылей.
Разрушается твой презентер вместе с активити - это нормально.
Делай кэширование данных по времени на уровне модели.

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

Ознакомься:
https://ru.wikipedia.org/wiki/Model-View-Presenter
https://youtu.be/Nsjsiz2A9mg

Ответы>>842533>>842553

15 Сен, 18:51 #263 #842498

>>842490
Нахрен тебе синглетоны, у тебя же база данных есть - это единственный синглетон который нужен.

15 Сен, 19:42 #264 #842525

>>838598 (OP)
Анончики, у меня есть две активити, в этих активити фрагменты, как мне сделать переход с shared elements из одной активити в другую, если эти shared elements находятся во фрагментах в разных активити?

Ответы>>842539

15 Сен, 20:01 #265 #842533

>>842495
Окей, допустим у меня есть презентер CityPresenter, должен показывать имя города и фотку.
У презентера срабатывает допустим onShow()
У меня есть cityId и myView, значит я стучусь в базу прошу самую свежую инфу про данный город, получаю:
а) ничего, показываем прогрессбар с заглушкой, запускаем запрос на получение города
б) что-то протухшее, показываем с помощью myView.setCity(city) myView - платформо-независимый интерфейс для вьюхи, запускаем запрос на получение города
в) не протухшие минуту назад получили данные, показываем как ив предыдущем пункте
Во-всех пунктах подписываемся на оповещения об изменения города, после получения которых отображаем новую инфу.

Все верно?

Ответы>>842554>>842578

15 Сен, 20:09 #266 #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 Сен, 20:43 #267 #842553

>>842495
> В модели конечно и тесты конечно должны быть на нее.
> Лучше вообще делать чистые JavaSE модели и быстро тестировать их на десктопе.

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

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

Думаешь, ссылаясь на дядю Боба, ты выглядишь умнее? А вот хуй, ты знатно обосрался.

Ответы>>842566

15 Сен, 20:43 #268 #842554

>>842533
Да вроде норм.
Можешь еще через какой-нибудь okhttp юзать встроенное HTTP кэширование.
И постарайся не облажаться с утечками активити.

Ответы>>842578

15 Сен, 21:02 #269 #842566

>>842553
>Как ты чистые JavaSE модели на андроиде сделаешь?
1. Создаешь отдельный "Module" в AS или IDEA,
2. выбираешь Gradle/Kotlin
3. В Android build.gralde добавляешь в dependencies
compile project(':core')

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

>Думаешь, ссылаясь на дядю Боба, ты выглядишь умнее?
А ты думаешь, что ни на кого не сослался и кто-то должен верить твоему пиздоболию?
Для меня Боб и его архитектура важнее чем Java или Android-костыли,
потому что его подходы не зависят от языка спокойно юзаю их с Kotlin.

Ответы>>842569>>842574

15 Сен, 21:03 #270 #842569

>>842566
Такая-тт блять большая разница между жабой и котлом.

Ответы>>842572

15 Сен, 21:05 #271 #842572

>>842569
Для некоторые здесь, ну просто НЕ преодолимая :3

sage 15 Сен, 21:07 #272 #842574

>>842566
Понятно. Иди нахуй.

15 Сен, 21:12 #273 #842578

>>842533
>>842554
Но ведь при перевороте во врем выполнения запроса, запрос начнется заново, это же неправильно

Ответы>>842580>>842581>>842593

15 Сен, 21:14 #274 #842580

>>842578
Няш, для это го и придумали кэши (HTTP или на прикладном уровне)

Ответы>>842583

15 Сен, 21:14 #275 #842581

>>842578
Для меня Боб и его архитектура важнее чем такие мелочи.

15 Сен, 21:15 #276 #842583

>>842580
Какой нахуй кэш, когда у тебя запрос еще не выполнился? Ты вообще не понимаешь, что несешь?

Ответы>>842586

15 Сен, 21:18 #277 #842586

>>842583
> Открывает окно
> Начинает как бешеный врящать окно
Дядя, ты нормальный (не отвечая, я уже понял что нет)?

В любом случае, после пятого твоего безумного поворота в дело уже пойдет кэш

Ответы>>842590

15 Сен, 21:20 #278 #842590

>>842586
А запросы на сервер так же отправлять будешь? "Похуй, что запрос уже идёт, отправим еще раз?"

Ответы>>842602

15 Сен, 21:21 #279 #842593

>>842578
В случае с Rx можно хранить в синглтоне/ретеней фрагменте обзервеблы с кешем, тогда можно будет подписаться на уже идущий запрос. Или главным подписчиком должна быть бд, тогда можно хранить начатые, но не законченные запросы в key-value хранилище или таблице, или даже в аллахе, и в презентере смотреть идет ли интересующий нас запрос, в таком случае не будет нужды совершать новый, а нужно просто подождать пока нам придет нотификация от бд.

Ответы>>842599>>842610

15 Сен, 21:31 #280 #842599

>>842593
> В случае с Rx можно хранить в синглтоне обзервеблы с кешем, тогда можно будет подписаться на уже идущий запрос
Есть какой-нибудь пример кода, как это организовано?

Ответы>>842606

15 Сен, 21:41 #281 #842602

>>842590
Мы тут говорим про идемпотентные запросы (коих 90%), которые отлично кэшируются и на стороне сервера.
Но если ты такой любитель вращать телефон, то сделай отдельный отнопоточный пул для web запросов.

239 Кб, 800x600

15 Сен, 21:47 #282 #842603

Аноны хочу сделать дефолтное погодное приложение с вот таким дизайном, но где мне искать такие охуенные фотки погоды?

15 Сен, 21:49 #283 #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 Сен, 21:54 #284 #842610

>>842593
а вот как нормально хранить начатые запросы в бд, какой ключ должен быть? Использовать время начала запроса? Можешь поподробнее про это, пожалуйста?

Ответы>>842623

15 Сен, 22:13 #285 #842623

>>842610
Да любой, блять, главное чтоб уникальный, и о нём знали твои презентеры.

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

Правда, данный велосипед был реализован гуглом 3 года назад. Называется Loader.
Так что RX-дауны таки соснули.

Ответы>>842644

15 Сен, 22:16 #286 #842629

Если я пишу приложение к соцсети, использую их цвета в дизайне и иконках - меня могут забанить за попытку косить по официальный клиент?

Ответы>>842632>>842653

15 Сен, 22:17 #287 #842632

>>842629
>их
цвета дизайна соцсети, разумеется

15 Сен, 22:26 #288 #842644

>>842623
А потому Google сам завелосипедил RX для своего Google.Music
и потом заопенсорил его на github (лень ссылку искать).

И была так только одна issue "нахуй он нужен если есть RxJava?"

15 Сен, 22:39 #289 #842653

>>842629
Забанят обязательно.

15 Сен, 23:05 #290 #842673

Котаны, подскажите как быть: есть класс - прослойка для обмена данными с Bluetooth Low Energy девайсами.
Суть проста: вызвал метод bt.readChar(device, callback(){)) и получил вызов метода коллбека - onComplete и onError.
Чтение может выполняться долго, пользователь закроет к хуям к этому времени активити, потом обратно развернет - и не поймет что происходит - ведь мы и коллбек проебали и состояние интерфейса (читаются данные, ждите бля)
Собсна, как быть с этим? Как обычно такие вещи делают?

Ответы>>842678>>842683

15 Сен, 23:21 #291 #842678

>>842673
>Как обычно такие вещи делают?
На Android - обычно кучей костылей и хранение состояния в каком-нибудь permanent storage.

15 Сен, 23:34 #292 #842683

>>842673
Если так подумать - то это пиздец задача.
Нужно:
1) Где-то держать коллбеки
2) Где-то хранить состояние
Единственный вариант - это перенести коллбеки в сервис, где хранить состояние и модифицировать его через эти коллбеки.
В UI синхронизировать состояние и следить за его изменением.
Т.е. получается нужна еще одна прослойка между BT API и собственно UI.

16 Сен, 12:13 #293 #842827

Почему на Android 6 чтобы заюзать Bluetooth надо включить "передача геоданных".
Индусы ебанулись?

Ответы>>842845

16 Сен, 12:43 #294 #842845

>>842827
Потому же как и для получения MAC адреса.

Это теперь приватные данные пользователя (его идентификация),
а отдельные пермишены для bluetooth/mac-address не стали плодить.

16 Сен, 14:23 #295 #842877

>>841448
IRC

16 Сен, 14:35 #296 #842882

Котлинфаг, у тебя норм все после последнего обновления билд тулзов? А то у меня нихуя не компилится опять, хотя раньше компилилось.
В основном пишет ошибки импорта, их там тысячи.

Ответы>>842884>>842922

16 Сен, 14:37 #297 #842884

>>842882
> билд
Просто тулзов 25.2.2 и платформ тулзов 24.0.3.

16 Сен, 16:02 #298 #842922

>>842882
> у тебя норм все после последнего обновления билд тулзов?
Во-первых, спасибо что напомнил обновится.

Во-вторых, сейчас обновил build.gradle и перебилдел - все норм.
Да в котлин slack никаких новостей, что у всех все сломалось.

Ответы>>842935>>842937

16 Сен, 16:26 #299 #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

И так со всеми классами андроид сдк.

Ответы>>842936>>842940

16 Сен, 16:34 #300 #842936

>>842935
А какая у тебя версия плагина стоит (я кстати в чистой IDEA сижу) и что прописано в ext.kotlin_version?

Можешь кстати задать вопрос сюда:
https://discuss.kotlinlang.org
http://kotlinlang.slack.com/(инвайт тут http://kotlinslackin.herokuapp.com/)

Ответы>>842938

16 Сен, 16:35 #301 #842937

>>842922
А версия студии у тебя какая? 2.2-rc2?

Ответы>>842940>>842958

16 Сен, 16:37 #302 #842938

>>842936
Версия котлина 1.0.3
Плагин: 1.0.3-release-Studio2.2-13

Ответы>>842940

16 Сен, 16:42 #303 #842940

>>842938
>>842937
>>842935
Починил. Он с android gradle plugin 2.1.3 в студии 2.2 не собирается, при этом java проекты с этой версией в этой студии нормально собираются.

Ответы>>842941

16 Сен, 16:48 #304 #842941

>>842940
Блять. Жму после gradle sync "build apk" - билдится, появляется апк. Жму make project или debug selected configuration- ошибки. В прошлый раз при make project ошибок хотя бы не было.

16 Сен, 17:26 #305 #842958

>>842937
>2.2-rc2?
Зачем?

Ответы>>843017>>843044

16 Сен, 19:59 #306 #843017

>>842958
Модно-молодежно.

Ответы>>843056

16 Сен, 21:10 #307 #843044

>>842958
Очевидно ради плюшек версии 2.2

Ответы>>843056>>843067

16 Сен, 21:21 #308 #843056

>>843044 >>843017
Ну тогда бессмысленно спрашивать почему что-то не работает.

Ответы>>843091

16 Сен, 21:30 #309 #843067

>>843044
А че там?

Ответы>>843091

16 Сен, 21:41 #310 #843087

>>838630
Взяли на стажировку?

16 Сен, 21:45 #311 #843091

>>843056
Это release candidat как бы.
>>843067
Блядский скроллинг сколвью в дизайнере и встроенный лэйаут испектор, теперь ту отдельную ебалу запускать не надо.

Ответы>>843101

16 Сен, 21:56 #312 #843101

>>843091
>встроенный лэйаут испектор, теперь ту отдельную ебалу запускать не надо.
Это тот который меряет производительность? Тогда ваще ништяк.

17 Сен, 01:17 #313 #843194

Ананасы, пожалуйста, помогите. Нужно в приложение добавить отправку файла по кнопке (один файл и он уже существует), проблема в том что оно работает на ебанутом протоколе и в коде нет ни 1 комментария, разбирать этот xmpp времени нет вообще(релиз горит). Что нужно сделать: приложение прикрепляет файл через интент к файловому менеджеру, потом интент сует в ArrayList<Uri> и уже как-то отправляет это всё. Но, файл, который нужно отправить мне должен доставаться сам, без файлового менеджера и интента(file file = new file(path)), и я не могу понять как мне мой file скормить коду отправки сообщения с файлом(выбранным интентом через файловый менеджер). Uri.fromFile(file) не работает.
Сам код мессендежра
https://github.com/siacs/Conversations
Методы отправки сообщений лежат в классах ConversationFragment и ConversationActivity по ключу CHOOSE_FILE.
Помогите, у кого найдется полчаса для стажора. Спасибо

Ответы>>843218>>843275>>843417

17 Сен, 02:03 #314 #843218

>>843194
пиздец ты ебанутый, ты мог хотябы нерабочий свой код куда-то отдельно залить? какой нормальный человек будет разбираться в вашем говне из 3к строк? темболее за нихуя. охуеть блять

Ответы>>843269

17 Сен, 09:11 #315 #843269

>>843218
Это не мой код, это исходники на основе которых мы делаем и я в душе не ебу что именно у меня не работает. Код не читабелен. Может кому-то еще не повезло с этим работать

Ответы>>843278>>843417

17 Сен, 09:52 #316 #843275

>>843194
https://developer.android.com/reference/android/support/v4/provider/DocumentFile.html#fromFile(java.io.File)

17 Сен, 10:05 #317 #843278

>>843269
Ты не пробовал, ну я не знаю, ПОДКЛЮЧИТСЯ ДЕБАГЕРОМ И ПРОШЕЛКАТЬ ПО БРЕЙКПОИНТАМ?

17 Сен, 11:55 #318 #843319

Анон, что думаешь по поводу онлайн-кура на Udacity? Какие еще есть онлайн-курсы?

И да, вопрос - если у меня не очень быстро летает студия на винде(4 гига оперативки, 2.3GHz) то есть ли смысл накатить убунту и на неё студию?

Ответы>>843328>>843334>>844291>>844296

17 Сен, 12:20 #319 #843328

>>843319
Потрать 2 тысячи на плашку оперативы.

Ответы>>843340

17 Сен, 12:30 #320 #843334

>>843319
А с чего ты взял, что убунта будет быстрее винды?

Ответы>>843340

17 Сен, 12:36 #321 #843338

сап, у меня есть activity с drawer, один их фрагментов, на которые есть выход из drawer-а, содержит в себе ViewPager, у которого должно быть ровно три списка, в каждый из которых данные грузятся из интернета/с сервера. Что посоветуете: делать nested fragments или добиться с сохранением View state-а, добавляя просто списки как вьюхи в пейджер ?

17 Сен, 12:40 #322 #843340

>>843334
Ну так принято считать.
>>843328
Надо бы, но пока денег нет.

Ответы>>843343

17 Сен, 12:45 #323 #843343

>>843340
Но это не так.

Ответы>>843350

17 Сен, 13:03 #324 #843350

>>843343
У меня некоторое время была убунта с AS. Вроде пошустрее винды запускалась. Но я там не успел ничего сделать, нужно было переустановить винду.

Ответы>>843359

17 Сен, 13:45 #325 #843359

>>843350
Потому что она чистая была.

38 Кб, 400x550

17 Сен, 15:00 #326 #843387

Дарова ананасы.
Есть один вопросец.
Каждый сталкивался с тем что есть какой-то список и по тапу на элемент пушится страничка с деталями.
Но вот если ты нажмешь двумя пальцами на 2 разных элемента, или аки сумасшедший будешь тыкать тыщу раз в сек на один и тот же элемент - запушится больше чем 1 страничка.
Но походу это не единственный случай.
Например есть 2 кнопки одна из которых открывает свой попап. Если кликнуть их вместе опять получу хуету.
Ну и т.п.

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

Сам вкатился с веба, потому наверное задаю глупые вопросы.

Ответы>>843388>>843419>>843548

17 Сен, 15:09 #327 #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();

Ответы>>843402

17 Сен, 15:47 #328 #843402

>>843388
ыыы.
то есть всё равно каждый отдельный случай надо вручную хэндлить. Спасибо.
А не знаешь, почему не запилят какое0нибудь глобальное решение? Ведь каждая прилага сталкивается с этим.

Ответы>>843411

17 Сен, 16:05 #329 #843411

>>843402
А те не похуй на это? Если юзер хочет так делать, пусть делает, google сам забивает хуй на это в своих приложениях

Ответы>>843465

17 Сен, 16:16 #330 #843417

>>843194
>>843269
Conversations распространяется под GPL. Следовательно, ваш производный код тоже должен быть доступен.
Так что, выкладывай исходники или иди нахуй.

Ответы>>845617

17 Сен, 16:17 #331 #843419

>>843387
> пушится страничка
> открывает свой попап
> вкатился с веба
Зря вкатился.

Ответы>>843463

17 Сен, 17:36 #332 #843463

>>843419
чойта? называю не так? Так что такого? :)

17 Сен, 17:37 #333 #843465

>>843411
хер знает. думал что не очень хорошо чтобы было так.

17 Сен, 20:13 #334 #843548

>>843387
Проблема актуальна только для ограничения частоты следования запросов на сервер, встречается это в основном в формах поиска и автодополнения.
Когда-то я это делал встроенными средствами языка и андроида для формы поиска: очередь запросов и собственно ЭКЗЕКУТОР.

17 Сен, 23:18 #335 #843666

Сап двощ, суть такова. Есть view со всякой текстовой хуйней, нужно сделать его полупрозрачным(легко) и чтобы поверх появлялать надпись(сложно). Как такое сделать?

Ответы>>843723

18 Сен, 00:44 #336 #843723

>>843666
Так а что сделать то хочешь?

Ответы>>843726

18 Сен, 00:52 #337 #843726

>>843723
Лист с итемами, при удалении итема он не сразу пропадает из списка, а становится полупрозрачным и поверх него появляется надпись удалено. Хз как такое реализовать без космической ебли, надеюсь на помощь анона.

Ответы>>843816

18 Сен, 09:34 #338 #843816

>>843726
Делаешь вьюхолдер, в onBindViewHolder, если состояние = удалено, делаешь текст видимым, а бэкграунда вьюхолдера меняешь цвет.

Ответы>>843876

18 Сен, 12:10 #339 #843849

Ну че, кто на дроидкон идет?

Ответы>>843853>>843891

18 Сен, 12:30 #340 #843853

>>843849
У меня боязнь больших скоплений людей, ну нах.

18 Сен, 13:43 #341 #843876

>>843816
Не, как создать текст поверх другой вьюхи? Надпись должна быть именно поверх другой вьюхи, типа как в фш со слоями.

Ответы>>843934

18 Сен, 14:19 #342 #843891

>>843849
Нахрен нужны конференции конкретно про android/ios, если они не от Google/Apple?

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

Конференции JUG.ru и то интереснее для android разработчиков.

18 Сен, 14:44 #343 #843902

Как сделать, чтобы при создании новой активити (пустой), в layout добавлялся android:id ?

П.с первый день

Ответы>>843934

18 Сен, 15:37 #344 #843934

>>843876
Зсунуть вьюху и текст внутрь одного конетейнера Frame/Relative.
>>843902
Зочем

Ответы>>843936

18 Сен, 15:39 #345 #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.

А у меня последняя версия, по идее должно было добавляться

Ответы>>843938

18 Сен, 15:42 #346 #843938

>>843936
Возьми и добавь в лэйаут тот айди, который тебе нужен.

Ответы>>843943

18 Сен, 15:46 #347 #843943

>>843938
Да добавил я, просто думал, что можно как-то настроить, чтобы по умолчанию cоздавался id, ну да ладно, это не принципиально.

18 Сен, 16:20 #348 #843978

Смотрю курс на udacity по андроиду и параллельно читаю head first android (сейчас изучаю фрагменты)
все правильно делаю?

Ответы>>843986>>844017>>844047

18 Сен, 16:29 #349 #843986

>>843978
> все правильно делаю
Нет, ты изучаешь программирование под андроид.

Ответы>>844017

18 Сен, 17:22 #350 #844017

>>843978
Этот >>843986 все правильно говорит, хуле ты хаскель не учишь?

18 Сен, 18:06 #351 #844047

>>843978

Курс с погодным приложением? Тогда норм.

19 Сен, 02:14 #352 #844291

>>843319
>не очень быстро летает студия на винде(4 гига оперативки, 2.3GHz) то есть ли смысл накатить убунту и на неё студию?
имеет, но не надейся на существенный прирост производительности

19 Сен, 03:00 #353 #844296

>>843319
Имеетсмысл SSD поставить и озу до 8 гб.

19 Сен, 09:35 #354 #844353

Сап, котаны, такая тема - вроде как продумал как построить любую клиент-серверку по MVP прямо вот очень хорошо, но вдруг вылезли VK и FB SDK которые засрали мне своими коллбэками ебучими весь презентер. С этим можно что-то поделать ? Фактически там есть 4 сраных коллбэка - первые два на логин, вторые - на получения данных а-ля users.get() в VK. Так там еще и третий запрос имеет место быть - запрос к нашему API на аутентификацию. Получается жирновато прямо вот дофига...

Ответы>>844359

19 Сен, 09:44 #355 #844358

Насколько раздуется приложение, если я использую:
1. Kotlin + RxJava
2. Retrofit
Мне нужно написать модуль для существующего приложения.
Для разнообразия решил написать его на котлине.
Этот модуль - фрагмент c некоторым функционалом (карты гугла, загрузка данных с сервера, кеширование). Насколько сложно будет встроить его в приложение на Java?

Ответы>>844367

19 Сен, 09:44 #356 #844359

>>844353
Оберни колбэки в observable и обмазывайся flatMap'ом.

Ответы>>844388

83 Кб, 480x480

19 Сен, 09:53 #357 #844364

Хочу написать простенькое приложение по типу доставки еды.
Посоветуйте, как это лучше сделать.
Подумал и решил таким образом: на сервере храниться xml/json с данными(вид пиццы: маргарита; цена: 200 рублей). Приложение стягивает xml с сервера, затем строит layout.
Получаем список пицц на экране пользователя. Юзер кладет пиццу в корзину, выбирает количество, рассчитывается цена. Покупку можно сделать путем отправки письма на емеил доставки пиццывидел такую фишку в одной аппликухе.
Посоветуйте, это годная идея для первого проекта?
Может, уже есть готовые велосипеды?

Ответы>>844400>>844821

19 Сен, 10:16 #358 #844367

>>844358
Советую отсюда https://github.com/streamsupport/streamsupport
взять CompletableFuture и юзать их везде где нужны асинхронные операции.
Ибо они гораздо проще (нет сайд эффектов на подписывание и они "горячие" по умолчанию"),
но при этом их можно так же удобно чейнить и с async/await они лучше совместимы.

А RxJava нужно использовать только там где реально нужен реактивный-поток-данных,
те когда заведомо известно что будет несколько результатов.

Ответы>>844389>>844392>>844404

19 Сен, 11:28 #359 #844388

>>844359
Не понял, коллбэки они и есть коллбэки, единственное, что на мой взгляд здесь можно сделать - вынести их создание в отдельный CallbackManager какой-нибудь и просто инстансы получать...

19 Сен, 11:28 #360 #844389

>>844367
Что значит "горячие по умолчанию"?

Ответы>>844396>>844397>>844414

19 Сен, 11:37 #361 #844392

>>844367
Правильно я понимаю, что поняв суть CompletableFuture станет ясна и суть RxJava?

Ответы>>844428

19 Сен, 12:02 #362 #844396

>>844389
При подписывании на обсервабл у него по дефолту срабатывает onSubscribe, в котором например начинается запрос в сеть. Если ты подпишешься, отпишешься и снова подпишешься на него при условии что запрос еще не отработал, то будет два запроса вместо одного.

19 Сен, 12:03 #363 #844397

>>844389
Ну а "горячий" подпишет тебя на запрос который в процессе, если такой есть.

19 Сен, 12:14 #364 #844400

>>844364
бамп вопросу

19 Сен, 12:32 #365 #844404

>>844367
Да, точно. RxJava мне абсолютно не нужна для этой задачи.

19 Сен, 12:59 #366 #844414

>>844389
>Что значит "горячие по умолчанию"?
Это значит что "по умолчанию" метод который возвращает CompletableFuture будет выполняться сразу,
в отличие от возвращающего Observable, у которого надо с начало вызвать subscribe(...), даже если тебе не нужны результаты.

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

то просто вызов service.addUser(User()) - не сделает ничего,
а нужно делать service.addUser(User()).subscribe({}, {})

19 Сен, 13:27 #367 #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 Сен, 19:49 #368 #844622

С помощью GCM, можно делать нотификации прямо из приложения, т.е. без сервера, указываю время, и в это время она приходит?

Ответы>>844627

19 Сен, 20:08 #369 #844627

>>844622
> указываю время, и в это время она приходит
И нахуй тебе GCM вообще тогда?

Ответы>>844635

19 Сен, 20:19 #370 #844630

Аноны, есть сервис всякого проигрывания музыки из VK, с плейлистами и прочей хуйнёй-малафьёй. Подкиньте годных идей, что туда можно добавить, чтобы строчка в портфолио была?

Ответы>>844657>>845138

19 Сен, 20:28 #371 #844635

>>844627
хз, может будильники не тру

19 Сен, 20:56 #372 #844657

>>844630
Ничего.

19 Сен, 22:09 #373 #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 или вообще не юзай библиотеку поддержки.

Ответы>>844734>>844797>>845137

19 Сен, 22:32 #374 #844718

Если я хочу использовать MVP архитектуру и Retrofit, то что вместо AsyncTask можно взять для кеширования полученного с сервера в БД? Использую cupboard в качестве easy ORM.

Ответы>>844735

19 Сен, 22:53 #375 #844734

>>844703
Бери консольку и конкпелируй из нее, че ты не как этот. Подсветку из саблайма/атома/вима/емакса.

Ответы>>844801

19 Сен, 22:54 #376 #844735

>>844718
Loaders/RxJava/бекспорты CompletableFuture

20 Сен, 01:50 #377 #844793

sup, аноны
итак возникло пару вопросов:
1) куда устанавливается АС, джава сдк, андроид сдк в линуксе? есть ссд 120 гб, разбит на разделы по канонам линукса(убунты). интересует хватит ли мне места если у меня есть 2 раздела по 55гб(/home, /)
2)посоветуйте тему диплома на андроид. могу в простое клиент-серверное с использованием интентов, потоков, хттп реквестов. на нулевой не отвечают

Ответы>>844800

20 Сен, 02:33 #378 #844796

Ебать. Эти пидары выпустили 2.2 оставив при этом баг с датабиндингом

Ответы>>844802>>844825

20 Сен, 02:39 #379 #844797

>>844703
>xp
Ты там совсем ебанутый?

sage 20 Сен, 02:56 #380 #844800

>>844793
> посоветуйте тему диплома на андроид
Поубивал бы.

20 Сен, 02:59 #381 #844801

>>844734
>атома
Так атом на жс еще более требователен к ресурсам, чем студия

20 Сен, 03:01 #382 #844802

>>844796
> датабиндинг
Не нужен.

Ответы>>844825

20 Сен, 07:53 #383 #844821

>>844364
ответьте,плих

Ответы>>844827

20 Сен, 08:38 #384 #844825

>>844796
А че с ним?
>>844802
Любитель баттернайфа?

Ответы>>844829

20 Сен, 08:43 #385 #844827

>>844821
Ты в xml собрался данные хранить или разметку, если второе то нахуя, ты еще поебешься с тем как это сделать. Это не веб где хтмлки туда-сюда гоняют.

Ответы>>846558

20 Сен, 08:57 #386 #844829

>>844825
Есть даже бага на багтрекере, даже не одна. Студия не определяет статические методы, если нет переменной в xml

Ответы>>844837

20 Сен, 09:00 #387 #844831

Что делать если юзер перевернул экран, презениер у меня сохранен и не булет пересоздан, но view пересоздастся и в результате после некой асинхронной операции view НЕ обновится, т.к. было null?
1) Как-то проверять после bindView, что есть результат и обновлять View
2) Перезапустить запросы при перевороте, но это не вариант, зачем 2 раза запросы слать?

Ответы>>844833

20 Сен, 09:02 #388 #844833

>>844831
Использовать view state. Суть можешь у mosby посмотреть.

Ответы>>844937

20 Сен, 09:25 #389 #844837

>>844829
Ты про кастомные атрибуты? Ну у меня везде есть переменные.

20 Сен, 09:50 #390 #844844

Кто-то пробовал что-то делать на jabber? Не могу подружить спарк (десктоп) с конверсейшн(андроид) клиенты. Не отправляются файлы(любые) между разными платформами ни в одну, ни в другую сторону. В рамках одной платформы все хорошо, между платформами работают только текстовые сообщения. Есть у кого идеи?

20 Сен, 14:48 #391 #844898

Пишу приложение с vk api. В доках пишут, что ссылки на аудиозаписи привязаны к ip. Что лучше в такой ситуации: смотреть за состоянием сети бродкаст ресивером, или же просто запрашивать url записи перед каждым воспроизведением?

Ответы>>844914>>844924

20 Сен, 15:13 #392 #844914

>>844898
>url
this

20 Сен, 15:20 #393 #844916

Я так понимаю сейчас юзание инжектора(dagger, маслонож) + какая-то система управления событиями(eventbusы и прочие rx) + orm это такой себе минимум? Или в проде еще часто пишут на голом фреймворке.

Кодирую сейчас задание на стажировку из шапки и охуеваю от раздувания кода при добавлении кусочков функционала и все это становиться сильно связано и smells bad, чувствую что с такой минималочкой(события, инжектор, орм) количество кода и быдломеханик сократится в разы, или такие тестовые лучше писать на голяке?

Ответы>>844927>>845242>>845243>>845285

20 Сен, 15:35 #394 #844924

>>844898
Запрашивать каждый раз это вариант.
А вообще вероятность того, что айпишнег поменяется внезапно крайне мала.

Ответы>>844936

20 Сен, 15:38 #395 #844927

>>844916
Мне кажется, в задании из двух активити нахуй не нужно забивать проект либами. Не та это задача, где они что-то сделают проще/красивее.
Важнее, чтобы ты мог в разделение логики (mvc там). Ну и солид, инверсия контроля, никакой сильной связи. Очень странно, что у тебя там что-то раздувается вообще

20 Сен, 15:53 #396 #844936

>>844924
Нихуя подобного, юзер может переключиться с wi-fi на мобильный интернет, к примеру.

20 Сен, 15:53 #397 #844937

>>844833
Это вот это?
http://hannesdorfmann.com/mosby/viewstate/
Но здесь нет решения этой проблемы.
Только сохранения состояния View после поворота экрана.
Мне то другое нужно.

Ответы>>844946

20 Сен, 16:12 #398 #844946

>>844937
Тебе нужна связка presenter -> viewstate -> view. Viewstate привязан к циклу preneter'a и зеркалирует все вызовы view. Если view существует и привязана, то viewstate сохраняет у себя последнее состояние и отправляет его во view. Если view не существует, то просто сохраняет состояние. В момент привязки view к presenter, состояние из viewstate применяется к view.

Ответы>>844948>>845047

165 Кб, 650x650

20 Сен, 16:18 #399 #844948

>>844946
Ага! Все понятно. Пока существует презентер - храним состояние View в прослойке между реальным View и Presenter.
Как только View забиндили - синхронизируем всё к хуям.
Просто и логично.

это картошка через шайбу проросла

Ответы>>844949

20 Сен, 16:18 #400 #844949

>>844948
Бля, не та пикча, но похуй, ящерицы круче!

20 Сен, 16:33 #401 #844956

В чём отличие Loader от AsyncTaskLoader?
Ведь и тот и тот в другом потоке задачу выполняют и возвращают результат в main thread?

20 Сен, 16:55 #402 #844972

Открыл исходник recycler view - 10000 строк ах ты ж ебаный нахуй, вот вам и ООП в андройде

Ответы>>844980>>845010

20 Сен, 17:02 #403 #844980

>>844972
Recycler еще и куций какой-то. Метод onItemLongClick велосипедить пришлось.

Ответы>>845198

20 Сен, 18:03 #404 #845010

>>844972
Посмотри конструктор View. Андроид костылерожденный.

20 Сен, 18:56 #405 #845047

>>844946
Мне сразу стало интересно - а как подобные уебки хранят презентер? Неужели у них постоянно висит армия синглтонов?

Ответы>>845059

20 Сен, 19:17 #406 #845059

>>845047
Презентер у тебя либо ретеинфрагмент, либо привязан к активити и уничтожается если активность isFinishing.
Но я конечно уебок, ага.

Ответы>>845139

sage 20 Сен, 20:35 #407 #845114

[code]
Test
[/code]

[code lang=c]
Test
[/code]

[code lang="c"]
Test
[/code]

20 Сен, 21:34 #408 #845137

>>844703
>нетбук 2010 года тянет Андроид Студию, но с большими тормозами
такая же ситуация, только я пересел на убунту еще в позапрошлом году, а то вында бы от студии вообще обкакалась

20 Сен, 21:35 #409 #845138

>>844630
скробблинг на ластик

20 Сен, 21:35 #410 #845139

>>845059
автор mosby делает все в ретеин фрагментах, т.е. твой презентер всегда висит в твоем фрагменте, только нужно занулять эллементы ui в onDestroy

20 Сен, 23:50 #411 #845198

>>844980
Очко у тебя куцее

21 Сен, 01:00 #412 #845242

>>844916
Самый минимум: Retrofit
Для продвинутых (если знаешь, что это и зачем): Dagger 2, RxJava

Butternife - по сути синтаксический сахар. Хочешь, используй, не хочешь - не используй.

Ответы>>845243

21 Сен, 01:02 #413 #845243

>>845242
>>844916

> eventbusы, orm
Не нужны. Тем более в тестовом задании.

21 Сен, 06:52 #414 #845285

>>844916
В тестовых заданиях обычно просят по минимуму использовать сторонние либы тк:
1) От тебя требуется показать знание Android SDK и общую сообразительность
2) Ты один фиг не умеешь их готовить и только увеличишь кол-во макарон в своем коде, в котором мне придется разбираться
3) На работе все равно будут использовать др библиотеки

21 Сен, 08:23 #415 #845299

Как устроен модуль 2ch для Dashchan?
Каким образом вызываются методы из другой apk?
https://github.com/Mishiranu/Dashchan-Extensions/wiki/Extension-devepment-tutorial

Ответы>>845301>>845314

21 Сен, 08:33 #416 #845301

>>845299

21 Сен, 09:27 #417 #845314

>>845299
Скорее-всего, просто кидают друг-другу интенты.

21 Сен, 12:59 #418 #845382

Поясните за плюсы и минусы GreenDAO плиз, кто использовал в крупных проектах.

8 Кб, 389x165

21 Сен, 13:08 #419 #845385

У меня есть SearchView в который выводятся данные из базы данных. Как мне повесить слушатель на строчку из SearchView, чтобы например, мог перейти на Acitivty этого значения(которое выводит SearchView)?

Ответы>>845781

18 Кб, 500x327

21 Сен, 18:29 #420 #845565

Почему ИТТ нет обзора архитектуры Dashchan?
Там нет RxJava, нет Retrofit и при этом прекрасно всё работает.

Ответы>>845670

sage 21 Сен, 19:51 #421 #845617

>>843417
Только в случае расппостранения, умник.

Ответы>>845656

21 Сен, 20:47 #422 #845656

>>845617
Распространения чего? Если твоё приложение использует более одного человека, это уже распространение.

Ответы>>845682

21 Сен, 20:57 #423 #845670

>>845565
Всё прекрасно работает != качественный код

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

Но приложение действительно работает хорошо, из имеющихся клиентов самое лучшее. Но я уверен, если бы автор писал Dashchan сейчас с нуля, то он получился бы еще лучше.

Ответы>>845672>>845678

21 Сен, 20:59 #424 #845672

>>845670
Я до конца не понимаю как там некоторые вещи работают - почему по время переворота экрана ничего не уебывается, ведь он не использует retain fragment?

Ответы>>845678>>845683

21 Сен, 21:05 #425 #845678

>>845672
>>845670
Еще вот что - там при Destroy происходит остановка AsyncTask'ов, но как я не пытался при повороте девайса данные всегда корректно загружались. Что это за магия такая?

Ответы>>845694

21 Сен, 21:07 #426 #845682

>>845656
А он вроде как его один и использует. Просто за советом для себя пришёл.

Ответы>>845689>>845697

21 Сен, 21:08 #427 #845683

>>845672
Фрагментов у него вообще нет, только активити (код старый).
Есть лишь один статичный фрагмент (это говнокод и почти гарантированная утечка), в котором он, видимо, хранит состояние. Ну и вообще, там по большей части WebView используется.

В общем, код Даши как пример для подражания и хороший архитектуры — явно плохая идея.

Ответы>>845688>>845715

22 Кб, 886x367

21 Сен, 21:09 #428 #845685

Делаю приложение по книге head first android.
Что не так?

Ответы>>845698

21 Сен, 21:10 #429 #845688

>>845683
> Ну и вообще, там по большей части WebView используется.
Но ведь это неправда.

Ответы>>845692

21 Сен, 21:11 #430 #845689

>>845682
Что-то не похоже:

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

Ответы>>845699

21 Сен, 21:11 #431 #845692

>>845688
Открой исходники и убедись.

Ответы>>845700>>845715

21 Сен, 21:13 #432 #845694

>>845678
Самописный AsyncManager и LruCache. AsyncTask отдает результаты не в активити (которой уже может не быть), а в сервис/свой синглтон.

21 Сен, 21:14 #433 #845697

>>845682
Ну и если он просто сам для себя пишет, тогда точно не понимаю, почему бы просто не выложить свой форк на Гитхаб.

21 Сен, 21:14 #434 #845698

>>845685
Один просто Fragment, а другой Fragment из SupportLibrary?

Ответы>>845710

21 Сен, 21:14 #435 #845699

>>845689
Ну, между ними код вполне открыт. В паблик ничего не выкладывали. А когда выложат — уже нужно требовать.

Ответы>>845708

21 Сен, 21:15 #436 #845700

>>845692
Открыл, убедился, что это неправда.

Ответы>>845706

27 Кб, 520x613

21 Сен, 21:20 #437 #845706

>>845700
Ну как знаешь, лол.

Ответы>>845709>>845715

21 Сен, 21:20 #438 #845708

>>845699
Ну да, это верное замечание. Правда, что-то я сильно сомневаюсь, что они потом его откроют.

21 Сен, 21:21 #439 #845709

>>845706
А в каких случаях эта активити открывается, ты смотрел?

21 Сен, 21:23 #440 #845710

>>845698
>а другой Fragment из SupportLibrary?
не понял

Ответы>>845734

21 Сен, 21:31 #441 #845715

>>845706
>>845692
>>845683
>>845683
WebView там нигде не используется. За месяц каждодневного пользования Дашей я ни разу его не видел.

Алсо, Dashchan пример того, как имея прямые извилины штатными средствами (без доп. библиотек для хипстеров) сделать хороший продукт.

Ответы>>845716

21 Сен, 21:32 #442 #845716

>>845715
Хороший код — это тоже для хипстеров?

Ответы>>845717

21 Сен, 21:36 #443 #845717

>>845716
Это навязанные Западам чуждые нам стереотипы! Обколются своими СОЛИДами и тестируют друг друга в юниты.

Ответы>>845757

21 Сен, 22:06 #444 #845734

>>845710
все, разобрался

21 Сен, 22:22 #445 #845757

>>845717
проорал

21 Сен, 22:50 #446 #845781

>>845385
Мне кажется, правильная идея - игнорировать к хуям SearchView из основной библиотеки.
Ебанутейшая инициализация, костылинг велосипедов для сохранения истории поиска. На старых версиях меняется цвет текста в окошке, цвет кнопочек и всего-всего - и главное, что это никак не пофиксить.
В приложении ютуба сделан свой SearchView, который гораздо удобнее хуйни, вылезающей по середине тулбара.

Ответы>>846043

22 Сен, 13:49 #447 #846043

>>845781
А что можно использовать вместо SearchView?

Ответы>>846064

22 Сен, 14:41 #448 #846064

>>846043
WebView с поиском Гугла

22 Сен, 19:13 #449 #846206

Как сделать, чтобы язык для локализации можно было вручную выбрать в апке? Или это делать не рекомендуется?

Ответы>>846212

22 Сен, 19:29 #450 #846212

>>846206
Мне кажется, это уже 100 раз обсосано на стаковерфлоу.

Ответы>>846215

22 Сен, 19:36 #451 #846215

>>846212
Да, извини, еще такой вопрос:
Если локализации твоего региона нету то используется дефолтная. А что если локализация твоего региона частичная, тоесть некоторых стрингов просто нету. Тогда будут использоваться дефолтные стринги, которых нету в локализации, или вся локализация будет дефолтной?

Ответы>>846234

22 Сен, 19:47 #452 #846222

Аноны, а в студии есть консоль и способы работы с ней? Чтобы можно было по-быстрому проверять правильное ли я значение возвращаю, а то телефон и эмулятор очень медленные.

Ответы>>846223

22 Сен, 19:50 #453 #846223

>>846222
Вкладка terminal внизу.
Про значения не понял. Ты имеешь в виду дебаггер?

Ответы>>846227

22 Сен, 19:53 #454 #846227

>>846223
Ну я имел ввиду, могу ли я написать аналог System.out.println() и чекнуть что-то?

Ответы>>846234>>846362

22 Сен, 20:06 #455 #846234

>>846227
Не проще написать юнит тест на этот участок кода?
>>846215
Для каждого ресурса резолвится все индивидуально. Так что
> Тогда будут использоваться дефолтные стринги, которых нету в локализации

22 Сен, 22:05 #456 #846362

>>846227
Для этого используется Log.d

Ответы>>846462

23 Сен, 00:06 #457 #846462

>>846362
Только даунами используется.

Ответы>>846470

23 Сен, 00:20 #458 #846470

>>846462
Чем пользуются недауны?

Ответы>>846493

23 Сен, 01:53 #459 #846493

>>846470
Картошкой.

Ответы>>846499

23 Сен, 02:26 #460 #846499

>>846493
Мамкин шутник или хедхантишь телепатов?

Ответы>>846501

23 Сен, 02:53 #461 #846501

>>846499
Ты тупой или просто из жс-треда?

Ответы>>846591

23 Сен, 10:23 #462 #846558

>>844827
Данные о количетсве пицц

Ответы>>846563

23 Сен, 10:58 #463 #846563

>>846558
Ну тогда в принципе норм.

23 Сен, 12:22 #464 #846591

>>846501
>Ты тупой
>из жс-треда
Зачем или если фразы эквивалентны?

Сижут тут давно, что такое картошка в душе не ебу. Думаю анон посоветует годную библиотечку для логгинга, а ты хуйню всякую пишешь.

Ответы>>846824

23 Сен, 18:47 #465 #846824

>>846591
годна библиотека для логгинга - Timber

Ответы>>846833>>846852

23 Сен, 19:04 #466 #846833

>>846824
Охуеть какая годная. У нее есть большая проблема, которую выдают за преимущество - собственный принтер эксепшонов, а именно полного стактрейса, из-за чего принтуется она около 16 мс целый фреим.
В итоге я ее костылил, чтобы она в отдельном потоке срала логами, беря их из блокирующей очереди.

Ответы>>846844>>846852>>846893

23 Сен, 19:10 #467 #846844

>>846833
А, у нее еще все под одним тэгом выводится. Так что нужно руками еще тэг дописывать, либо писать обертку, которая будет его дописывать.

23 Сен, 19:27 #468 #846852

>>846824
>>846833
А нахер вообще нужно логирование в мобильной разработке?

Ответы>>846863>>846866

23 Сен, 19:38 #469 #846863

>>846852
Совсем туттуру, да?

Ответы>>846883

23 Сен, 19:44 #470 #846866

>>846852
Ну если у тебя 2 окна рестопараши то ненужно.

Ответы>>846883

23 Сен, 20:12 #471 #846883

>>846863
>>846866
Аргументов не завезли, я смотрю?

Ответы>>846886

23 Сен, 20:23 #472 #846886

>>846883
Краш с логами > краш без логов, это вроде бы очевидно.

Ответы>>846888>>846896

23 Сен, 20:25 #473 #846888

>>846886
> очевидно
Тогда ладно.

23 Сен, 20:37 #474 #846893

>>846833
Она не будет ничего принтить-форматить если ты не добавишь дерева, ферштейн? А андроидовскому логгеру ты кроме того, что цеплять String.format должен, так еще и в if (BuildConfig.DEBUG) оборачивать должен. Проблема тимбера в том что у него minSdk = 16, непонятно чем это вызвано.

Ответы>>846897>>846924

23 Сен, 20:38 #475 #846896

>>846886
Тебе крашлитика и так логи всунет по всем тредам. Тимбер только позволяет ее красиво в дерево спрятать.

Ответы>>846924

23 Сен, 20:39 #476 #846897

>>846893
> в if (BuildConfig.DEBUG) оборачивать должен
Ёбнутый что ли?

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

> Проблема тимбера в том что у него minSdk = 16
Проблема проблем.

Ответы>>846905

23 Сен, 20:41 #477 #846900

Палю годноту: https://github.com/orhanobut/logger

23 Сен, 20:44 #478 #846903

Аноны я тут новенький, где можно научиться гитом пользоваться? Гайд/книга/видео, все подойдет.
знаю немного теорию vcs

Ответы>>846907>>846908

23 Сен, 20:47 #479 #846905

>>846897
Ага, и сам автор ответа предложил использовать Timber из-за более удобного api.
Опять же если я хочу что-то форматировать, то с дефолтным логером даже если его отключить произойдет создание строки и тд.

Ответы>>846912

23 Сен, 20:47 #480 #846907

>>846903
Туториал битбакета.

Ответы>>846909

23 Сен, 20:48 #481 #846908

>>846903
https://git-scm.com/book/ru/v1

Ответы>>846909>>847413

23 Сен, 20:48 #482 #846909

>>846907
А в чем разница между битбакетом и гитхабом, или это просто конкурирущие репозитории?

>>846908
благодарю

Ответы>>846923

23 Сен, 20:49 #483 #846912

>>846905
Какого нахуй ответа?

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

> Опять же если я хочу что-то форматировать, то с дефолтным логером даже если его отключить произойдет создание строки и тд.
Што?

Ответы>>846921

23 Сен, 20:56 #484 #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);
В случае деффлтного логера произойдет создание строки в куче для нахуй не нужного лога.
В тимбере до ненужного формата просто не дойдет, если ты правильно его настроил.

Ответы>>846924>>846927>>846935>>846971

23 Сен, 20:58 #485 #846923

>>846909
Ну вообщем-то да. Гитхаб только для гита, на битбакете интеграция с асаной, можно и меркуриал использовать. Опять же 5 репозиториев приватных бесплатно.

Ответы>>846929

23 Сен, 21:02 #486 #846924

>>846893 >>846921
> В тимбере до ненужного формата просто не дойдет, если ты правильно его настроил
> Она не будет ничего принтить-форматить если ты не добавишь дерева, ферштейн
А, ну да. Дерево логов краш репорт сервиса мы не подключаем. Я говорю, что тимбер очень долго собирает стактрейс, и это хуево.
>>846896
> логи всунет по всем тредам
Нет, только стактрейс.

Ответы>>846928

23 Сен, 21:05 #487 #846927

>>846921
> В случае деффлтного логера произойдет создание строки в куче для нахуй не нужного лога.
Так какая нахуй разница? Если ты им дебажишь, то тебе похуй на создание строки. В релизи всё равно вырезается логгирование прогардом

Ответы>>846960

23 Сен, 21:07 #488 #846928

>>846924
>А, ну да. Дерево логов краш репорт сервиса мы не подключаем
Почему же не подключаем? Подключаем, но логать будем только errorы, ну и warnинги, если сильно хочется.

23 Сен, 21:08 #489 #846929

>>846923
>Опять же 5 репозиториев приватных бесплатно.
5 человек в группу бесплатно, кол-во приватных репозиториев не ограничено.

Ответы>>846930

23 Сен, 21:09 #490 #846930

>>846929
Перепутал.¯\_(ツ)_/¯

23 Сен, 21:20 #491 #846935

>>846921
И вообще, иди нахуй со своей экономией на спичках

Ответы>>846941>>846964

23 Сен, 21:31 #492 #846941

>>846935
Когда закончились аргументы. Тебя вообще ебет что я использую для логирования?

Ответы>>846947

23 Сен, 21:36 #493 #846947

>>846941
Мне поебать

23 Сен, 21:59 #494 #846960

>>846927
Прогвард не вырежет создание строки, вот пруф:
http://pastebin.com/i3HnQ3Dt
Каждый раз когда лог будет вызываться, будет происходить вызов toString объекта, если бы там был тимбер, то этого бы не происходило, так как не было бы посажено дерево для уровня debug.

Ответы>>846964

23 Сен, 22:05 #495 #846964

>>846960
Я уже написал: >>846935

Создание строги ему жалко, сука. А потом будут про оптимизацию еще кудахтать.

Ответы>>846967

23 Сен, 22:11 #496 #846967

>>846964
Спор был о сайд эффектах и отключении логгинга в продакшене. Дефолтный логер нужно оборачивать в if (BuildConfig.DEBUG).

Ответы>>846969

23 Сен, 22:12 #497 #846969

>>846967

Я уже спрашивал: нахуя он вообще нужен? Внятного ответа не было.

Ответы>>846971

23 Сен, 22:15 #498 #846971

>>846969
А это не внятный ответ: >>846921 ?
Вкратце - удобней.

Ответы>>846972>>846975

23 Сен, 22:15 #499 #846972

>>846971
Вопрос про логгинг в общем был, а не про тимбер.

Ответы>>846974

23 Сен, 22:19 #500 #846974

>>846972
Логгинг нужен что бы не сидеть с дебагером выковыривая значения какой-нибдуь хуйни. Посмотреть данные по запросу-ответу, проверить на лету что вызвалось нужное событие и тд.

23 Сен, 22:19 #501 #846975

>>846971
Из того же ответа:
> Log.d(TAG, String.format("xyi: %s, pizda: %s", xyi, pizda));
>Timber.d("xyi: %s, pizda: %s", xyi, pizda);
Нахуя писать значения переменных в лог, когда у тебя есть дебаггер? В случае крэша неверное значение будет в эксепшене.

Ответы>>846978>>846981

782 Кб, 801x801

23 Сен, 22:20 #502 #846977

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

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

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

23 Сен, 22:20 #503 #846978

>>846975
Редкий краш на девайсах юзеров тоже дебаггером будешь отлаживать?

Ответы>>846982

23 Сен, 22:21 #504 #846981

>>846975
Что бы не сидеть с дебагером? В продакшене эти логи никогда не выведутся.

Ответы>>846990

23 Сен, 22:22 #505 #846982

>>846978
Крашлитика сама все соберет.

Ответы>>846984

23 Сен, 22:24 #506 #846984

>>846982
Она не собирает логи без Crashlytics.log, деб.

Ответы>>846988>>846990

23 Сен, 22:25 #507 #846988

>>846984
Папка твой деб. Не словленные эксепшны она сама собирает. Те которые словил, ну те да конечно самому надо логнуть.

Ответы>>846991

23 Сен, 22:26 #508 #846990

>>846981
>>846986
>>846984
>>846989

Ответы>>846991

23 Сен, 22:27 #509 #846991

>>846988
Ты понимаешь разницу между логами и стактрейсом?
>>846990
Ну ок(

Ответы>>846994

23 Сен, 22:27 #510 #846992

Перекатывайтесь уже сюда https://2ch.hk/pr/res/846976.html (М)

23 Сен, 22:29 #511 #846994

>>846991
>Ты понимаешь разницу между логами и стактрейсом?
Конечно понимаю. Но как ты крашлитике логируешь эксепшн? Правильно - через log. Туда же записываешь связанные со сломавшимся функционалом данные.

Ответы>>846996>>846998

23 Сен, 22:31 #512 #846996

>>846994
Ёбнутый штоле?

23 Сен, 22:33 #513 #846998

>>846994
> Туда же записываешь связанные со сломавшимся функционалом данные
Ты ограничен тем, что ты запихнешь в карту при logException, а я же получаю более полную картину действий пользователя и данных, с которыми он оперировал.

24 Сен, 13:06 #514 #847249

Использовал кто ? https://atlas.layer.com/android

24 Сен, 17:46 #515 #847413

>>846908
не знал что есть на русском, спасибо, а то на ангельском осилил уже больше половины

25 Кб, 272x171

36 Кб, 289x350

06 Окт, 23:38 #516 #851899

Господа, как мне динамически подгонять высоту и ширину вьюшки, чтобы она идеально вмещала в себя полученное из интернета изображение? Пикрелейтед то, что у меня выходит и сейчас и то, что я в итоге хочу получить.

Тред утонул или удален.
Это копия, сохраненная 15 октября 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion