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

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!



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

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 530 | 43 | 178
Назад Вниз Каталог Обновить

Android Development Thread 2.0.4 Аноним 01/12/16 Чтв 21:15:56  885914  
fullimage.png (104Кб, 800x726)
Android Development Thread 2.0.4

Мир твоему смартфону, анон. Прежде чем задавать свой вопрос, прочитай:

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.

> Хочу писать игры!
LibGDX или Unity. Спрашивать в /gd/

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

Предыдущий тред: https://2ch.hk/pr/res/873367.html
Аноним 01/12/16 Чтв 21:26:58  885919
Как у андроида с фрилансом и удаленкой?
Аноним 01/12/16 Чтв 21:52:55  885934
Скажите must read книги.
Есть же явно какая-то литература.
Аноним 01/12/16 Чтв 22:22:21  885945
14806201420860.jpg (57Кб, 460x604)
>>885919
Индусы и студенты, тысячи их.
>>885934
Пик.
Аноним 01/12/16 Чтв 23:15:51  885996
>>885914 (OP)
Мусорные вёдра, скажите, планируется ли поддержда джавы 8 в андроиде, и когда?
Аноним 01/12/16 Чтв 23:44:55  886008
>>885996
чего тебе не хватает?
Аноним 02/12/16 Птн 00:25:14  886024
>>885996
В 24-ом ведре завезли уже, раньше только ретролямбда/jack.
Аноним 02/12/16 Птн 00:36:14  886031
>>886024
> В 24-ом ведре завезли уже, раньше только ретролямбда/jack.
На уровне виртуальной машины новые инструкции? Тогда хорошо, через 5 лет может будет пользоваться.
Впрочем, я о подобном не слышал. Так что только retrolambda остаётся. А джек, когда я им пользовался в последний раз, был вообще неюзабелен, не знаю точно, как сейчас.
Аноним 02/12/16 Птн 02:27:57  886053
a4002f1b29db9e2[...].jpg (30Кб, 367x750)
Андреи, такой вопрос. Почему при изменении базы данных при повторной компиляции нихуя не меняется. Помогает только удалить/установить приложение.
Аноним 02/12/16 Птн 02:31:22  886055
>>886053
стандартная? в onUpgrade версию поднимал?
Аноним 02/12/16 Птн 02:42:23  886057
tumblrogmi2sydb[...].jpg (146Кб, 1080x1349)
>>886055
да SQLite

public void onUpgrade(SQLiteDatabase db, int oldV, int newV)
db.execSQL("DROP TABLE IF NOT EXISTS ")
onCreate(db);

Еще в отладчике пишет что где-то у меня в базе утечка, но я в душе не ебу где её закрывать. И вообще прочитал что сейчас андроид такой крутой, что ему похуй на эти утечки. Но вот, то что надо переустанавливать приложение что-бы появилась инфа из базы, вот это реально заебует.
Аноним 02/12/16 Птн 03:18:21  886065
>>886057
если ты про структурные изменения бд, то скорее всегда в super конструктора не передаешь новую версию. На утечки похуй если у тебя например курсор остаеться незакрытыми или бд или пока ты не для прода пишешь
Аноним 02/12/16 Птн 08:39:44  886130
>>886057
нужно базу с сервера потомучто грузить, как нормальные люди
Аноним 02/12/16 Птн 10:46:48  886179
Сап, ананасы, долго и тщательно копал интернеты на тему того, как сделать dual-pane без костылей только на фрагментах (да-да, master/detail flow в оф гайдах считаю мерзким), сделал свой велосипед. Можете посоветовать, как бы обойти постоянные executePendingTransactions() ?
https://gitlab.com/i.komarov/multipane-fragmentmanager/tree/master
Аноним 02/12/16 Птн 10:47:17  886180
>>886065
а смерджить ?)
Аноним 02/12/16 Птн 11:03:45  886187
>>886179
Да, сейчас сделаю простенький sample, пока что не уверен работает ли там сохранение состояния правильно, или нет. (состояния отдельных фрагментов соответственно)
Аноним 02/12/16 Птн 12:48:43  886247
>>886179
UPD: не работает, ибо я накосячил, сейчас допиливаю, отпишу когда запашет :) Если у кого есть желание помочь - буду рад.
Аноним 02/12/16 Птн 13:26:31  886265
>>886130
>грузить с сервера
И че при апдейте делать? Выкинуть пользователя из приложения и синкать все?
Аноним 02/12/16 Птн 13:29:58  886267
>>886265
Нет жеж, диалог и мерджить
Аноним 02/12/16 Птн 13:31:27  886268
>>886179
Да, полностью рабочая версия готова, два дня, огромное тепловыделение сами-знаете-откуда, низкая производительность, но оно работает, и аналогов нет!
Если кто-то поможет прооптимизировать - буду очень признателен. Если найдете баги - тоже прошу написать :)
Аноним 02/12/16 Птн 16:19:10  886383
Pmef2-kVPg.jpg (124Кб, 865x1080)
>>886130>>886057

Буду очень признателен если кто-то посмотрит в чем проблема.

https://codepaste.net/gaa5pp
Аноним 02/12/16 Птн 16:51:37  886405
>>886383
Всё хуйня, переделывай.
Зачем ты хранишь SQLiteDatabase в хелпере? Зачем у тебя там методы чтения записи. Читай документацию, как с бд работают на ведре.
Аноним 02/12/16 Птн 17:06:59  886422
>>885914 (OP)
Аноны, у меня есть CollapsingToolbarLayout и NestedScrollView. Так вот, когда я докручиваю до конца, то нет всего содержимого, которое должно быть, оно как бы находится под navigation bar'ом, но когда я переворачиваю в ленд скейп (navigation bar становится сбоку, а не снизу), то происходит то же самое. Всё работает нормально если добавить layout_marginBottom="?actionBarSize". Но щас мне пришлость добавить в NestedScrollView TextView, которое надо раскрывать, и когда я вызываю textView.setMaxLines(...) появляется этот самый отступ снизу, как быть? А, ещё при вызове setMaxLines срабатывает OffsetChangedListener у AppBarLayout.
Аноним 02/12/16 Птн 18:21:13  886449
Антуаны суть такова, хочу сохранить проэкт. У меня есть неполный проэкт, как бы превью, хочу выложить его в маркет, а потом дополнить проэкт и выложить его уже в маркет за определенную сумму. Но старый проэкт который бесплатный, я бы тоже хотел обновлять когда и обновляю платный проэкт. Как бы это сделать? В студии нету же save as. По логике я бы его просто сохранил под другим именем. Но нет же, это мне придется создавать новый проэкт и всё переносить туда. Может есть способ полегче?
Аноним 02/12/16 Птн 18:35:03  886456
>>886449
build flavors
Аноним 02/12/16 Птн 22:34:54  886584
Котаны, где почитать как сделать авторизацию для REST api?
У меня регистрация на сайте через google Oauth2, но понадобилось еще сделать api для мобильного приложения.
Аноним 02/12/16 Птн 23:37:37  886626
>>886584
Google -> firebase Google oauth
Аноним 03/12/16 Суб 12:44:41  886834
>>886626
Firebase мне не нужна.
Аноним 03/12/16 Суб 14:50:38  886925
>>886584
webview и отлавливай deep link в shouldOverrideUrlLoading WebViewClient-а
Аноним 03/12/16 Суб 18:21:32  887087
Есть программно создаваемые textview. Нужно чтобы удалялся вью "смахиванием". Гуглю уже тучу времени, но разобраться не могу. Можно ли сделать полный аналог Оnclick? То есть написать метод, который получал бы на вход вью и при действии "смахивание" выполнил бы удаление? В примерах, которые мне попадались, только что-то вроде "если смахнули вправо, печатаем "вправо", а действий над конкретным вью - нет.
Аноним 03/12/16 Суб 21:03:48  887195
>>887087
RecyclerView + ItemTouchHelper + onSwiped
Аноним 04/12/16 Вск 03:15:17  887401
Все описанное в доках гугла это то, как делают и нужно делать?
Используют ли вообще те примеры, что в доках в реальной жизни или это просто для новичков?
Аноним 04/12/16 Вск 10:25:27  887440
>>887195
Спасибо!
Аноним 04/12/16 Вск 10:47:50  887442
1479485752633.png (336Кб, 823x720)
Как в андроиде реализуется аналог UITableView секции из iOS? Пока что вижу полный отсос андроида в этом плане. Допустим у меня есть куча динамических секций, с разным количеством колонок в каждой, как бы такое реализовали?
Аноним 04/12/16 Вск 11:15:04  887449
>>887442
Берешь и без задней мысли реализовываешь в скролл вью с инфлейтом своих секций. Есть есть реюзабл ячейки - используешь RecyclerView.
Аноним 04/12/16 Вск 11:25:36  887454
>>887449
То есть инфлейтить кучу recyclerview в scrollview? Это загнется уже на 3 recyclerview.
Аноним 04/12/16 Вск 11:42:50  887465
>>887454
Либо инфлейты в скроллвью, либо ресайклервью.
Аноним 04/12/16 Вск 12:06:49  887478
>>887454
Дебил? Один ресайклервью и в нем разные секции.
Аноним 04/12/16 Вск 12:56:33  887499
>>887478
Еще раз, в одной секции 2 колонки, в другой 3, в третьей 4 потом снова 1 итд, как ты в говноиде это запилишь? никак
Аноним 04/12/16 Вск 13:22:13  887515
>>887499
Прочитай про отдельные итем ресайклера может поймешь, ебень.
Аноним 04/12/16 Вск 13:31:40  887529
200px-Neckbeards.png (50Кб, 200x195)
>>887515
Не пизди петух, ты такое никогда не реализовывал и даже не знаешь как такое делается. Завали ебало, чмырь.
Аноним 04/12/16 Вск 13:56:31  887561
>>887529
Как хорошо что не все iosники такте инвалиды.
Разные итем он не знает как сделать лол.
Аноним 04/12/16 Вск 14:07:18  887580
>>887561
Я знаю как сделать разные itemType, долбоебушка. Я спрашиваю как ты сделаешь разные СЕКЦИИ одних и тех же айтемов.
Аноним 04/12/16 Вск 14:24:42  887606
>>887580
Укаждого view type своя специальная вьюха, и там рисуй секции-хуекции аллаха.
Аноним 04/12/16 Вск 14:29:15  887616
>>887580
Ios-дебил, тебя в гугле забанили? Вбиваешь sectioned recyclerview, а лучше сразу fast adapter, и смотришь код на гитабе. Ручками реализуется, Вася - списочком, или хэшмапиком, и его анализом. Количество генерируемых вьюх тоже регулируется.
Android - это программирование, а не кодинг (в отличии от ios, и всякой backend-web-параши), там можно и нужно придумывать свои решения
Аноним 04/12/16 Вск 15:31:44  887734
>>887499
через GridLayoutManager и его SpanSizeLookup
Аноним 04/12/16 Вск 15:42:42  887740
>>887616
Кекнул с дауна, который не знает ничего кроме джавы и андройдапи и говорит, что Андройд - этопогромирование
Аноним 04/12/16 Вск 16:51:28  887775
>>887740
Дебил, я говорю о сравнении с иос, рубями, питонами.Там никто не напрягается на тему КАК СДЕЛАТЬ ЕБАНЫЙ СПИСОК С СЕКЦИЯМИ.
Аноним 04/12/16 Вск 20:29:35  887947
Когда через glide пихаешь пикчу в imageview он ведь меняет подгоняет её размеры под размеры imageview? Ну то есть, не будет ли это сжирать память, если в маленький imageview пихать большую пикчу? Или может сам imageview это делает?
Аноним 04/12/16 Вск 22:18:46  888019
Парни, кто-нибудь ловил интересности при сложении/вычитании ебанных чисел формата double/float?При нажатии на кнопку определенную число должно увеличиваться на 0.1. Но оно увеличивается на 0.100...052343 или вроде того.И спустя 5-6 кликов оно увеличится уже не на 0.1, а на 0.2, в связи с этими накоплениями. Несколько часов убил, так и не понял, в чем дело. В итоге организовал всё через костыли. К слову, проект не мой, дали доделать, но код весь прошерстил и ничего особенного не обнаружил.
Аноним 04/12/16 Вск 22:22:07  888024
>>888019
0.1 - констаньа. Меняться не может.
Что-то ты делаешь не так.
Аноним 04/12/16 Вск 22:26:07  888030
>>888024
Окей, распишу подробней. Есть объект, в нем есть поле double. Происходит нажатие на кнопку,я беру значение поля,прибавляю 0.1d и получившееся отображаю на экран
Аноним 04/12/16 Вск 22:29:46  888035
Анон, какие карты ты используешь?Яндекс мап кит или Гугл?Как ощущения, на чем остановился?Алсо, сам пользую яндекс, но невозможность посмотреть исходный код и баги на некоторых телефонах как-то подзаебывают.
Аноним 04/12/16 Вск 22:33:44  888038
>>888030
Прочитай уже про представление чисел с плавающей запятой в компьютере.
Аноним 04/12/16 Вск 22:36:32  888040
>>888030
Или съеби в js-тред.
Аноним 04/12/16 Вск 22:51:20  888051
>>888038
С плавающей точкой, умник.Почему при компиляции в одном проекте 0.2 + 0.1 = 0.3, а в другом 0.2 + 0.1 = 0.300...03453?Где тут это замешано?
Аноним 04/12/16 Вск 23:00:27  888054
>>888051
Потому, что мать твоя шлюха.
Аноним 05/12/16 Пнд 00:10:19  888106
>>887947
ImageView сама сжимает/режет, но битмапка будет загружена вся. Если ты сам не скейланешь.
Аноним 05/12/16 Пнд 02:00:27  888161
>>888019
Покажи сорец. Не может быть таких сильных отклонений в простом коде.

Если тебе нужны значения без ошибок округления, то используй java.math.BigDecimal
Аноним 05/12/16 Пнд 06:12:46  888211
>>888019
Твоя проблема тут
>число должно увеличиваться на 0.1
Запомни, юный небесный странник, нецелочисленная арифметика крайне неточна, при каждой подобной операции происходит накопление ошибок, посему нельзя использовать результат подобного присваивания для последующих операций, погрешность нужно регулярно сбрасывать, разрывая такие замкнутые круги по переменным, как у тебя.
Тащемто это широкоизвестный прием работы с такой арифметикой.

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

Обычно стараются юзать целочисленную арифметику и приведения чисел, потому что с нецелочисленной арифметикой легко обосраться, и трудно обнаружить этот обосрамс - достаточно сделать одну ошибку, забыть сбросить ошибку например, и все, результат загублен.
Аноним 05/12/16 Пнд 12:00:16  888293
Господа, а есть ли standalone UI пререндер, cpu/gpu/memory мониторы? Студия конечно хорошо и тд. Но мне она надоела, вот нахуя она качает к каждому проекту gradle, когда у меня он стоит в системе? Посему хочу ради эксперимента попробовать поработать не в студии, а в каком нибудь саблайме.
Аноним 05/12/16 Пнд 12:26:58  888306
>>888293
Бери vim, для него плагин есть
Аноним 05/12/16 Пнд 13:27:38  888367
>>888293
> вот нахуя она качает к каждому проекту gradle
Так там кэширование есть библиотек и самого gradle

>Посему хочу ради эксперимента попробовать поработать не в студии, а в каком нибудь саблайме.
Тоже пытаюсь ради прикола работать в Atom.
Поставил плагин на gradle build + подсветка синтаксиса kotlin - работать можно, но сложно без авто ипортов
Аноним 05/12/16 Пнд 14:10:00  888390
>>888367
>>888293
А что эклипс не попробуете? Охуенная тема жи.
Аноним 05/12/16 Пнд 14:52:13  888430
>>888390
>Охуенная
На любителя, тем более он будет всю хуйню делать.
Аноним 05/12/16 Пнд 15:07:06  888439
>>888390
>А что эклипс не попробуете? Охуенная тема жи.
На эклипсе ADT сидел пару лет до появления Android Studio.
С каждым релизом он становился тяжелее и глючнее, точно на него не вернусь.

Вообще чистой IDEA CE хватает за глаза, Atom так побаловаться пока не завезут автокомлит Kotlin.
Аноним 05/12/16 Пнд 22:07:21  888768
>>885914 (OP)
Аноны, нахуй нужен JobScheduler? Правильно ли я понял, что это замена BroadcastReceiver, которые регаются в манифесте на системные интенты и потом стартуют сервис?
Аноним 05/12/16 Пнд 23:54:03  888825
>>888035
гугол, там есть нужная мне кластеризация и прочий пересчет координат и проекций. Но ужасно напрягает, что нет такого гибкого балуна, как в яндексе. Приходится костыли городить
Аноним 06/12/16 Втр 00:00:52  888830
>>885914 (OP)
>И хотя бы оно готовое приложение.
А какого уровня приложение надо что бы ватиться? Парсер картинок? Работа с крупным Апи?
Аноним 06/12/16 Втр 00:02:01  888831
>>888035
Они выкатили новый мап кит? Или там до сих пор он со времен андроид 2?
Аноним 06/12/16 Втр 05:26:53  888917
Господа, кто юзал BackupAgent? У меня надо после автобекапа тереть токен, и пару таблиц в БД. В какой момент вообще вызываются методы бэкап агента относительно аппликейшена (до/после onCreate)?
Или вы вообще все вырубаете автобекап в манифесте?
Аноним 06/12/16 Втр 09:43:57  888984
>>888917
Отключи бекап токена и бд, чё ты как не это. С другой стороны тебе тогда нечего бекапить, так что смело отключайте все.
Аноним 06/12/16 Втр 11:03:28  889029
>>888984
В том то и дело. У меня надо бекапить несколько табличек бд, но в то же время стоит тереть другие таблички, где внешние ключи висят на первых (т.е., вынести в отдельную базку - неочень вариант).
Аноним 06/12/16 Втр 11:22:28  889041
>>889029
Он только файлы и папки умеет бекапить, так что отдельные таблицы - не вариант.
Аноним 06/12/16 Втр 12:13:46  889060
>>888830
бамп вопросу
Аноним 06/12/16 Втр 12:21:42  889067
>>888830
Клиент для какого-нибудь REST API. Например, приложение которое предлагается сделать в курсе на юдасити.
Аноним 06/12/16 Втр 13:14:03  889113
>>889067
Ссыль можно?
Аноним 06/12/16 Втр 13:30:21  889125
>>889113
>Ссыль можно?
Нельзя конечно, вдруг еще напишешь kek и потом работу у меня отберешь kek2.

И даже не пытайся гуглить.
Аноним 06/12/16 Втр 13:54:53  889143
>>889125
Я про урок с рестом.
Аноним 06/12/16 Втр 14:47:51  889178
>>888831
Недавно вышло незначительное обновление,фикс багов.А так да, старая залупа.Но альтернатив не вижу,кроме гугла.
Аноним 06/12/16 Втр 17:13:18  889252
>>889067
Popular Movies?
Аноним 06/12/16 Втр 20:58:41  889420
Анон, доставьте проектов, с которыми возьмут на джуна.

И вообще, как вкатиться? Среди 10 вакансий только 1 не сениор а миддл.
Без 1+ года вообще нахуй никому не нужен.
Аноним 06/12/16 Втр 23:10:43  889528
Посоны, трудно вкатиться на upwork имея полгода опыта за плечами?Умею в английский,фрагменты,еблю с RecyclerView,карты,REST API... и так далее и тому подобное.Или же толпы индусов не оставят шанса?
Аноним 07/12/16 Срд 00:05:29  889553
Как научиться делать игры для андроид? Заканчиваю девятый класс, хорошо знаю c++ и немного java. Собираюсь после окончания стать работать фрилансером.
Аноним 07/12/16 Срд 00:07:54  889557
>>889553
Я наверн обдвачевался, потому что не могу поверить, что ты не зеленый.
Аноним 07/12/16 Срд 00:26:52  889570
>>889553
>для андроид
>хорошо знаю c++
>стать работать фрилансером
Аноним 07/12/16 Срд 10:35:11  889713
>>888035
мапбокс смотрел?
Аноним 07/12/16 Срд 14:10:12  889815
11111.jpg (22Кб, 346x76)
Андроны, есть проэкт с более 20-тью активи, хотел запилить разные версии с рекламой и без. Создал в проэкте две папки free, paid, прописал в градле флэворы. И начал переносить свой проэкт из мэина, путем копи паста в папку paid , и что я блять вижу, пакеты не находит, импортированные библиотеки тоже. Ебанная R ни один элемент не видит. Это блять надо 20 с хуем активити править ебанные названия пакетов, добавлять приставку .paid, .free. нахуй оно надо? Почему всё так хуево сделано?
Аноним 07/12/16 Срд 14:30:32  889824
>>889815
Butterknife
Аноним 07/12/16 Срд 14:42:42  889833
>>889815
Запили уже себе хелпер класс с методом, который делает findViewById с приведением к дженерик типу.
Аноним 07/12/16 Срд 14:46:36  889835
>>889815
find all and replace in dir юзни
Аноним 07/12/16 Срд 14:47:57  889837
>>888035
google, ибо все наши проекты любезные ios-ники переводят на еблугл. Течет как сучка при виде меня (нет), дырявая что пиздец, оперативы жрет туевы хучи. Не используй никогда, анон, умоляю тебя
Аноним 07/12/16 Срд 15:04:48  889847
Cy0NlSwVEAAGMjw.jpg (192Кб, 933x1396)
>>889824
>>889833
>>889835
Спасибо Ананасы, сейчас буду разбирать. И еще манифест должен быть в каждой папке, разной версии программы ? Я вот перенес с папки main всё в папку paid, и в free. Но при компиляции, выдает ошибку что нету манифеста в папке Main. Нахуя оно вообще туда лезет если в build variant я выбираю Paid ?
Аноним 07/12/16 Срд 15:06:07  889848
>>889528
Учитывая то, что ты сказал "Умею в фрагменты" - тебе бы выкатиться, а не вкатиться
Аноним 07/12/16 Срд 15:07:55  889852
>>889848
Даун?
Аноним 07/12/16 Срд 16:40:23  889939
Как вылавливать ошибки в датабайндинге? В ошибках пишет только что пакет/символ не найден и если одна ошибка то все классы сгенерированные будут не найдены. Из предупреждений только просьба использовать метод референс, заменить "." на ":".
Аноним 07/12/16 Срд 16:55:03  889950
>>889939
А зачем тебе датабиндинг?
Аноним 07/12/16 Срд 17:16:48  889970
>>889950
Удобно, нет разрывающих пукан findViewById и необходимости хранить во фрагменте какую-нибудь хуйню типа адаптера доя ресайклера, просто setAdapter и все ну и тд.
Аноним 07/12/16 Срд 17:18:47  889972
>>889950
Просто блять коллега взял код из другой ветки, а там была видать запушена хуйня какая-то, и теперь проект не собирается, я как вышестоящий должен разобраться чо за хуйню они там устроили и какого хуя в обход меня, но это другая история. Вот две ошибки нашел с помощью варнингов, а дальше непонятно.
Аноним 07/12/16 Срд 17:28:43  889979
>>889970
Вот и ебись теперь с отладкой и тестированием, раз так удобно.
Аноним 07/12/16 Срд 18:04:44  889999
Хм, такой вопрос, если использовать RxBinding, то в каком слое MVP ( ну понятное дело в данном случае View или Presenter ) и в каком виде нужно содержать Observer-ы. Тут в принципе понятно, что нужно как-то содержать их в презентере, но не мутить же овер дохуя анонимок, али мутить ?
Аноним 07/12/16 Срд 18:06:01  890002
>>889970
нормальные люди и так не хранят во фрагменте адаптер для ресайклера, у меня например универсальный йоба-адаптер для всех случаев жизни, работающий на рефлексии и rx-стероидах, который может все
Аноним 07/12/16 Срд 18:07:55  890005
>>889852
Ну типа нет, давай объясню так, чтобы ты понял: приходит человек на работу программистов и говорит о своих навыках: "Ну я печатать быстро умею, еще могу вам пинг-понг-бонг на жабе написать". Как думаешь, что скажут ? То, что человек знает азы и так понятно, если он работать идет
Аноним 07/12/16 Срд 18:10:54  890009
>>889999
>но не мутить же овер дохуя анонимок, али мутить ?
Юзай лямбды
Аноним 07/12/16 Срд 18:43:53  890040
>>890002
>reflection
Нет спасибо.
Аноним 07/12/16 Срд 19:17:34  890060
>>890002
> который может все
SRP? Не, не слышали.
Аноним 07/12/16 Срд 19:59:43  890079
>>890060
Ой, смотрите, любитель бойлерплейта нашелся. Адаптер более чем соответствует SRP, он выполняет четко поставленную задачу. То, что он поддерживает доп фичи - уже дело разработчика, то, что он универсальный - тоже вопрос любви к бойлерплейту
Аноним 07/12/16 Срд 20:00:52  890080
>>890009
Ну ты монстр ответов, однако, вопрос был в другом. Но по факту я предполагаю что нужно что-нибудь с комбинацией Observable делать, ибо их уже 6 штук и это только первый день я посидел над проектом и это без сети и прочего, only view
Аноним 07/12/16 Срд 20:19:11  890087
>>890080
Нахуй ты вьюхи через Observable делаешь? Ты что, ебанутый?
Аноним 07/12/16 Срд 20:33:52  890090
>>885914 (OP)
где хранится фоновая картинка экрана блокировки андроида 5.0?
я до сих пор не могу найти
Аноним 07/12/16 Срд 20:54:34  890100
>>890087
некоторые эвенты лучше обрабатывать именно так - это во-первых. Во-вторых, увидел такой подход у кое-каких ребят, стало интересно попробовать
Аноним 07/12/16 Срд 21:05:57  890107
Аноны, в требованиях говорится
Понимание основных принципов программирования на Android

что имеется ввиду?
только вкатываюсь, вакансия стажера.
Аноним 07/12/16 Срд 21:14:28  890109
>>890107
увидел в шапке, спасибо.
Аноним 07/12/16 Срд 22:09:19  890141
>>889713
Нет.
Выглядит вкусно, а как там с кастомизацией балунов?
Аноним 07/12/16 Срд 22:10:43  890142
>>890100
В том-то и дело, что только некоторые.
Ну ок, дрочи на Артемку, если хочется.
Аноним 07/12/16 Срд 22:11:29  890143
>>890090
Возможно она хранится в пизде твоей мамаши шлюхи
Аноним 07/12/16 Срд 23:44:26  890194
Блять, почему мой сервис киллится и не рестартится? START_STICKY и ACTION_BOOT_COMPLETED прописаны. Редми 3 если что.
Аноним 08/12/16 Чтв 21:05:51  890718
>>890194
> МИУИОПТИМИЗАЦИИ
Аноним 09/12/16 Птн 08:34:06  890981
>>890194
Тестируй на nexus 5.
Аноним 09/12/16 Птн 12:04:36  891040
Переписывал недавно старый проект, задался вопросом.
В проекте однотипные поля, но их количество и тип всегда разный.
На сраный экран с 4 et в til, ушло около 200 строк, с учетом валидаций, отображения ошибок сохранения состояний при пересоздании и тд.
Офк мвп\мввм и подобное не предлагать, там локики кот наплакал, и количество кода оно не уменьшит, так вот к чему я, задался вопросом, какого хуя?
Юзал bk, d2, support, ip. Соответственно, выходит либо пишешь на нативе + либы, либо пилишь собственный фреймворк. Но это всегда по боку выходит, кто-нибудь уже задумывался об этом?
Аноним 09/12/16 Птн 13:25:14  891070
Ребят, а какая сейчас версия минимальна для теста, 4.0 или уже выше?
Аноним 09/12/16 Птн 13:27:09  891072
>>891070
Для какого теста?
Аноним 09/12/16 Птн 13:31:37  891078
>>891072
Просто прилажухи на андройде.
Аноним 09/12/16 Птн 14:02:46  891094
7.PNG (15Кб, 1120x268)
12.PNG (12Кб, 1129x233)
15.PNG (15Кб, 1130x438)
Снимок.PNG (9Кб, 1133x262)
Нужен человек который сможет завтра в 12-13 мск помочь с тестом по классам джава и немного андроид студии
telegram: @ozzmo
Насчет оплаты договоримся
Примеры заданий прилагаю
Тест рассчитан на 1.5 часа
Аноним 09/12/16 Птн 14:07:22  891096
>>891094
А это вообще для студняка или школы?
Аноним 09/12/16 Птн 14:08:45  891097
>>891094
Щас бы задачки уровня джавараш студентам решать.
Аноним 09/12/16 Птн 14:10:58  891099
>>891094
Пошёл нахуй, говно. Зарепорил.
Аноним 09/12/16 Птн 14:12:29  891101
>>891096
школы
на скале кто-то пишет тут? Аноним 09/12/16 Птн 14:48:56  891114
есть?
Аноним 09/12/16 Птн 14:51:25  891115
Прохожу курс на юдасити и там надо добавлять тесты для приложения, ну я добавил, все проходится нормально. Но обнаружил что если запускаю тесты на своем телефоне с 19 апи то прогоняются 10 тестов, а запускаю на эмуляторе с апи 25, то прогоняются 6 тестов. Откуда эта разница? Почему так? Поясните пожалуйста.
Аноним 09/12/16 Птн 14:59:59  891118
>>891114
Пробовал немного, сам язык очень няшный, но я как-то не слышал, что под андроид он особо используется. Для градла находил плагин для поддержки скалы, но там официально поддерживаются только 22 и 23 версии апи и build tools соотвественно.
Аноним 09/12/16 Птн 15:42:38  891135
>>887529
iosголовного мозга
Аноним 09/12/16 Птн 16:21:24  891149
>>891099
Имеет право, это тематический тред в.т.ч. для подобной хуйни. Не кипятись, няш, у нас тут свободное общение.
Аноним 09/12/16 Птн 21:20:14  891326
>>891115
Когда ты прогоняешь тесты и какие-то не выполняются, в них пишется почему...
Аноним 10/12/16 Суб 14:19:05  891645
доктор, у меня вечный gradle:build при создании или загрузке проекта. Что мне делать???
Аноним 10/12/16 Суб 15:16:52  891700
>>891645
Повеситься.
Аноним 10/12/16 Суб 15:33:36  891712
>>891326

Ты не понял. Написано, что успешно пройдены ВСЕ тесты и там и там. Но на моем девайсе их больше почему-то, чем на эмуляторе.
Аноним 10/12/16 Суб 22:23:18  892051
>>890718
>>890981
Таки-да, на HTC Explorer сервис жив после перезагрузки. Буду смотреть дальше.
Аноним 11/12/16 Вск 02:47:09  892172
Такая проблема с RecyclerView - если долго листать вниз, затем начать листать наверх, то айтемы, изображения из которых уже выгрузились из кэша, начинают резко "выскакивать" сверху, вместо плавной прокрутки. Это возможно как-то пофиксить?
Аноним 11/12/16 Вск 08:42:34  892220
Делаю апкшник в AS - приложение весит чуть меньше, чем то, которое заливается при отладке.

Это норма?
Аноним 11/12/16 Вск 09:14:59  892230
>>892172
Это такая фича у говноида, сам столкнулся недавно
Аноним 11/12/16 Вск 10:25:35  892264
>>892220
Да.
Аноним 11/12/16 Вск 11:26:18  892285
>>891645
бамп
Аноним 11/12/16 Вск 11:39:16  892291
>>892220
Скорее всего прогварда немножко ужал, это норма и хорошо, но не забывай проверить не сломалось ли что-то, у меня так дефолтная сериализация gsonа слетела.
Аноним 11/12/16 Вск 11:40:18  892294
>>892285
Сбили из консольки с verbose или профайлинном.
Аноним 11/12/16 Вск 11:47:04  892297
>>892291
>прогварда
Что это и для чего?
Аноним 11/12/16 Вск 12:32:17  892321
>>892291
Он по умолчанию выключен, и судя по его вопросу он его не включал.
Релизная конфигурация же не содержит отладочных данных, поэтому она всегда немного меньше.
Аноним 11/12/16 Вск 13:23:10  892345
Что вообще можете сказать по поводу совместимости с разными устройствами?

Пишу BLE приложение - получаю фидбэк типа НИРАБОТАЕТ НА МОЕЙ ГАЛАКСИ, хотя версия в коде вроде попадает.

Аноним 11/12/16 Вск 14:30:30  892413
>>892297
https://developer.android.com/studio/build/shrink-code.html
Аноним 11/12/16 Вск 14:37:44  892422
>>892345
Проверять на разных устройствах. Google Test Lab. Встроить какую-нибудь аналитику и трекать действия.
android scala Аноним 11/12/16 Вск 18:06:40  892549
блять, не могу никак создать проект на скала через IDE. Вроде как Android Studio не работает, а через Intellij я не могу. Есть какой-нибудь блять гайд, что бы это все запилить?
Аноним 11/12/16 Вск 18:18:05  892556
>>892549
Зачем тебе скала, когда есть котлин?
Аноним 11/12/16 Вск 18:43:56  892579
>>892549
> а через Intellij я не могу
Другие Я к примеру значит могут, а ты какой-то особенный?
Что ты там не можешь?
Аноним 11/12/16 Вск 19:09:36  892600
>>892556
Вопрос уровня: "Зачем android, когда есть iOS?"
Аноним 11/12/16 Вск 20:05:34  892633
>>892556
Зачем котлин, когда есть скала?
Аноним 11/12/16 Вск 22:30:19  892709
>>892579
кинь ссылку на гайд что ли..
Вот скачал я IntelliJ дальше что?
Аноним 11/12/16 Вск 23:33:48  892755
>>892633
Зачем скала, когда есть Хаселль?
Аноним 11/12/16 Вск 23:57:57  892772
>>890143
ну и говно же вы
Аноним 12/12/16 Пнд 00:02:54  892773
кто скажет мне где хранится эта ёбаная картинка в ётафоне2 с 134 прошивкой скину 100р
Аноним 12/12/16 Пнд 00:06:21  892776
апну для трипла
Аноним 12/12/16 Пнд 00:06:58  892777
если не скажете где картинка никому из вас не повезет. сила трипла
Аноним 12/12/16 Пнд 00:56:00  892795
>>892777
/sdcard/jёpa/huy
Аноним 12/12/16 Пнд 01:07:19  892801
>>892795
жаль тебя
Аноним 12/12/16 Пнд 01:26:56  892810
блять пиздец неужели никто из вас не может просто подсказать? кроме этого козла, который меня постоянно посылает?
я весь бекап twrp прошерстил уже.
Аноним 12/12/16 Пнд 08:15:12  892868
>>892810
вопрос то какой?
Аноним 12/12/16 Пнд 08:16:58  892869
>>892868
картинка блокировки экрана? Спроси на xda - тут тебе не помогут с этим точно. Ну или на 4pda. тут мамкины программисты сидят, они телефон то прошить не могут
Аноним 12/12/16 Пнд 09:29:42  892881
>>892869
> они телефон то прошить не могут
А ты можешь? Блин, круто...
Аноним 12/12/16 Пнд 10:09:33  892895
>>892869
> тут мамкины программисты сидят, они телефон то прошить не могут
Прикладное программирование не имеет никакого отношения к желанию трахать ось изнутри, ковырять прошивки и совершать прочие непотребства.
Аноним 12/12/16 Пнд 12:07:04  892931
>>892709
>кинь ссылку на гайд что ли.
Ты нормальный? Какой тебе еще гайд нужен?

Запустил -> Create New Project -> Android -> начал говнокодить
Там все +- тоже самое что и в AS
Аноним 12/12/16 Пнд 12:09:36  892933
3dd9f9715a19f6e[...].png (74Кб, 405x350)
>>892869
Сук блять съеби уже в /mobi/, весь тред засрал я тебя репортить буду
Аноним 12/12/16 Пнд 17:38:55  893120
Как можно сконвертировать динамичную XML в HashMap? Перепробовал кучу либ, но у них почему то примеры заточены под конкретные классы, я понятия не имею какие у меня поля будут, мне нужно вне зависимости от них упаковать их в Map. В данный момент остановился на xStream, но он тоже отказывается паковать мои xml.
Аноним 12/12/16 Пнд 18:32:18  893170
>>893120
http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php#map
Аноним 12/12/16 Пнд 18:42:38  893176
>>893170
Я читал это сегодня, там хардкод. Я например не знаю какой у меня будет root, а в примере его тупо затачивают под конкретный xml. C другим root парсер падает с эксепшном.
Аноним 12/12/16 Пнд 19:07:58  893184
>>893176
Что за хуйню ты парсишь? Раз такое дело, парси ручками: https://www.tutorialspoint.com/java_xml/java_dom_parse_document.htm
Аноним 12/12/16 Пнд 20:29:47  893221
>>893184
Делаю сериализатор XML для httpclientа. Бля с json все охуенно, вне зависимости от того что прийдет от серва, он отлично парсится в HashMap, а тут пиздец, уже вторые сутки с этим ебучим XML ебусь.
Аноним 12/12/16 Пнд 20:34:02  893225
>>893184
>Что за хуйню ты парсишь?
А как бы ты сделал? Для каждого ответа от серва клепал бы класс-приемник?
Аноним 12/12/16 Пнд 21:13:52  893245
>>893225
Да
Аноним 12/12/16 Пнд 21:14:01  893246
>>893225
Ну так и делают ващет.
Аноним 12/12/16 Пнд 21:31:37  893255
>>893245
>>893246
То есть что, универсальный способ как с json не получится сделать?
Аноним 12/12/16 Пнд 21:35:03  893259
>>893245
>>893246
Можно какой-нибудь бест практисес пример? Просто я в дальнейшем хочу свой httpclient засунуть в отдельный package и использовать его в других проектах, у меня есть на данный момент клиент использующий okhttp. Я при создании запроса задаю сериализатор, который будет использоваться для парсинга ответа сервера, JSONSerializer и XMLSerializer, получается что если для XML нужно пилить объекты приемники, я не могу его унифицировать. Бля это пиздец какой-то.
Аноним 12/12/16 Пнд 21:51:17  893266
>>893255
Почему не получится, получится, только ты определись тебе Map<String, String> или что-то по сложней.
>>893259
POJO будут писаться в конкретном приложении и под него будут парсится данные, это норма. Никто в здравом уме не будет таскать с собой по приложению какой-нибудь JSONObject или JSONArray.
Аноним 12/12/16 Пнд 22:26:20  893280
>>893266
В идеале Map<String, Object>

> POJO будут писаться в конкретном приложении и под него будут парсится данные, это норма. Никто в здравом уме не будет таскать с собой по приложению какой-нибудь JSONObject или JSONArray.
Я просто не совсем понимаю, как это будет выглядеть. У меня в данный момент схема такая.

Создается sender например в активити

sender.get(URL_SERVER_ADDRESS)
.handler(new ResponseHandler(){
@Override
void success(Map response) {
super.success(response);
// получение ответа
}

@Override
void error(String message) {
super.error(message);
// обработка ошибок
}
})
.send(new XMLSerializer());

handler опциональный, его не обязательно использовать.

в send передается сериализатор, это классы унаследованные от интерфейса

interface HTTPSerializer
{ Map<String, Object> deserialize(String response);
}

ну и в JSONSerializer у меня имплементится
@Override
public Map<String, Object> deserialize(String response) {
// тут я определяю что мне пришло
// определяю JSONObject или JSONArray
// с помощью библиотечки Gson
// конверчу это в Map и возвращаю на выход
}

А вот как провернуть подобное с XML, ума не приложу. И получается если использовать POJO, это немного поломает общую схему?
Аноним 12/12/16 Пнд 22:43:00  893285
>>893225
> Для каждого ответа от серва клепал бы класс-приемник?
Интернет полон сайтов генероторов Java из JSON/XML
Аноним 12/12/16 Пнд 23:05:59  893295
>>893280
Не поломает, а сделает лучше, сейчас клиенту прийдется разгребать всякое говно с Object, что же там такое интересное лежит. А так указываешь маппер при вызове, или вешаешь на целый класс маппер, короче нахуй ты придумываешь велосипед?
Аноним 12/12/16 Пнд 23:08:39  893297
Что за хуйню вы здесь обсуждаете?
Retrofit c GSON или SimpleXML адаптером используйте, а не изобретайте велосипеды с JSONObject и прочим говном, имбецилы необучаемые, блять
Аноним 12/12/16 Пнд 23:10:21  893298
>>893295
Я пытаюсь найти хорошее решение, просто опыта мало.
Аноним 12/12/16 Пнд 23:16:01  893302
>>893297
Молодец, ты умный, хороший.
Аноним 12/12/16 Пнд 23:21:12  893304
Привет, андроидо аноны, помогите решить следующую проблему: необходимо сделать вьюшку (не диалог) для выбора необходимой даты (datePicker / calendarView), но чтоб при этом выбирать можно было только из ОГРАНИЧЕННОГО списка дат, а остальные дизейблились. Ну и само собой возможные для выбора подсвечивались одним цветов, а остальные другим. Пересмотрел все, что есть в вышеуказанных datePicker и calendarView , там нужного не нашел, максимум что можно сделать - выбор даты ОТ одной и ДО другой, но это не то. Поискал несколько сторонних либ, там по функционалу тоже самое.
Что подскажите делать в такой ситуации? Наследника от calendarView? Какие методы тогда переопределять? Или может есть библиотека, где такой функционал присутствует? Чтоб для выбора давалось именно ограниченное кол-во дней а остальные нельзя было выбрать.
Аноним 12/12/16 Пнд 23:23:09  893306
>>893304
Напиши сам.
Аноним 12/12/16 Пнд 23:24:53  893307
>>893304
По ходу тебе нужно писать кастомный дейтпикер. Есть сайтец, емнип называется android arsenal или что то в этом роде, там всякие кастомные контролы в свободном доступе, попробуй там поискать.
Аноним 12/12/16 Пнд 23:55:30  893326
>>885914 (OP)
Анон, как дела на рынке труда для бездипломных тысячелетних вкатывальщиков? Устал байтики на повозке катать в Си, хочу к вам
Аноним 13/12/16 Втр 07:33:06  893443
Антон умеет в xamarin? Поможет?
Трабла в следующем: приложение должно дергать методы из библиотеки C, она откомпилирована отдельно. Dllimport и все такое.
Собираю, запускаю. При выполнении пишет, мол нету библы, что логично ибо в apk её нет. В проекте то же.
Пока проверял под винной - все работало, либу dll кидал рядом с экзешником а вот под ведром хз.
По каким путям нужно положить этот гребаный .so и куда, что б его увидело? Или как то в проект запихать, чтоб оно само?
Ньюфаг, кодинг - хобби.
Аноним 13/12/16 Втр 08:15:47  893454
Господа, подскажите библиотеку с PreferenceCompat, где работает клик на вложенный PrefererenceScreen, и есть материал десигн?
Перепробовал несколько с первых ссылок в гугле, ни на одной не работает.
Аноним 13/12/16 Втр 10:06:34  893488
>>893443
Бамп его!
Аноним 13/12/16 Втр 10:18:11  893493
>>893443
Посоны, неужто такой сложный вопрос? Ответьте хот бы это делается силами vs/xamarin или мне самому нужно выходной apk править?
Аноним 13/12/16 Втр 10:27:51  893495
>>893493
>>893488
Ты из бэ чтоли, что так переживаешь, что тебе аж за 3(!!!!) часа не ответили?
Придет котлиноеб, может ответит, у него есть опыт в этом говне.
Аноним 13/12/16 Втр 10:52:55  893512
>>893443
В папку libs, удивительно. Не ебу где она в ксамариновском проекте, но в обычном джавовском она в корне модуля. Почему бы тебе не погугли подключение наивных библиотек в ксамарине, ты явно не первый.
Аноним 13/12/16 Втр 11:38:13  893532
>>893512
Это от раздражения, споткнулся на фигне. Пардоньте.
>>893512
В сети вся инфа на случай, если библа компилится из исходников тут же. Или я дурак.
Аноним 13/12/16 Втр 11:40:37  893535
После работы попробую собрать проект с внешней динамической библиотекой внутри, гляну, как это будет выглядеть. Но это пиздец неудобно.
Аноним 13/12/16 Втр 11:57:33  893542
>>893532
>>893535
>https://forums.xamarin.com/discussion/27692/native-library-so-adding-in-android-library-project
Третий ответ выглядит довольно правдоподобно.
Ну и там не только как с сорцов строить: https://developer.xamarin.com/guides/android/advanced_topics/using_native_libraries/
Аноним 13/12/16 Втр 12:07:22  893548
https://developer.xamarin.com/guides/android/advanced_topics/using_native_libraries/ читал, но не вкурилось, видимо плохо пытался.

Спасибо анончики, уже вечером проверю только.
Но если што не так - знайте, я вернусь.
Аноним 13/12/16 Втр 12:36:48  893563
Тут кто-нибудь юзал XStream?
Аноним 13/12/16 Втр 13:11:53  893572
хранить презентер в конфиг персистент компоненте даггера. в активити/вью инжектится презентер, в базовой активити/вью в бандл сохраняется айди на onSaveInstanceState. по этому айди в статический мап слхраняется компонент даггера со всеми нужными зависимостями (презентер этц)

что думаете?
Аноним 13/12/16 Втр 13:27:42  893579
>>893454
Бамп
Аноним 13/12/16 Втр 14:30:53  893593
Есть у кого идеи, какой сервис можно реализовать сейчас? Мне для веселья и получения опыта(ну и набитого портфолио).

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

Что-то такое просто и интересное. Типа мобильного приложения сайта(уже делал а-ля медуза).
Аноним 13/12/16 Втр 14:52:23  893601
>>893593
Клиент для двача
Аноним 13/12/16 Втр 14:58:57  893603
>>893601
а разве его нет?
Аноним 13/12/16 Втр 19:36:23  893733
>>893603
С таким подходом можно ничего не делать.
Аноним 13/12/16 Втр 21:54:53  893821
Какой BEST WAY узнать имя и фамилию гугловского аккаунта?
Аноним 13/12/16 Втр 22:26:37  893848
qu44MkpNgaI.jpg (339Кб, 1934x910)
Господь, жги!
Аноним 13/12/16 Втр 22:42:43  893855
>>893848
Проиграл.
Аноним 13/12/16 Втр 23:01:40  893868
>>893848
тут ещё 300 строчек, и как я понимаю, это далеко не конец
Аноним 13/12/16 Втр 23:21:58  893876
inj.png (43Кб, 960x845)
>>893848
А у меня норм?
Аноним 13/12/16 Втр 23:50:36  893885
>>893876
Ты уверен что у тебя правильный C?
Аноним 13/12/16 Втр 23:51:41  893887
>>893868
Мне кажется там весь проект такой, если жсон просто в Map перегоняют. Друг доедает говно за сирунами.
Аноним 13/12/16 Втр 23:52:45  893888
2016-12-1321-51[...].png (21Кб, 798x400)
>>893876
У меня пизже
Аноним 13/12/16 Втр 23:59:07  893890
2016-12-1321-57[...].png (12Кб, 770x262)
Раз такая пьянка... Только вкатываюсь в ведро, оцените.
Аноним 14/12/16 Срд 00:02:56  893892
>>893890
Зачем тебе JNI?
Аноним 14/12/16 Срд 00:08:18  893900
>>893892
Для остроты ощущений
Аноним 14/12/16 Срд 00:15:46  893905
>>893890
<- это что? последний раз делал lab2 на плюсах
Аноним 14/12/16 Срд 00:19:33  893914
>>893905
Функцилональные выебоны.
Аноним 14/12/16 Срд 02:44:39  893985
Хей .дроиды. Шлю уведомление через notificationManager, отсрачиваю отправку Handler postDelayed. Эта ебань работает, но если перекатываюсь на рил девайс, то уведомление не отправляется (надо отправлять от пары часов до суток). Видимо срабатывает какое-то энергосбережение. Куда копать? Просить права(как?) или будить приложение через событие типа будильника(как?). Кто побеждал такое?
Аноним 14/12/16 Срд 07:18:03  894021
>>893985
> postDelayed на несколько часов
Пиздец.
AlarmManager юзай.
Аноним 14/12/16 Срд 08:11:31  894023
>>893848
Господь должен заставлять таких людей писать юнит тесты.
Но вот чего я не понимаю - что сложного вынести константу? С ними же потом самим проще это говно редактировать?
Аноним 14/12/16 Срд 08:33:18  894030
>>894023
Потому что чем хуже тем лучше.
Потому что ненавидят заказчиков, погонщиков, совесельников и тебя лично - и с удовольствием бы тебя удавил, например.
Аноним 14/12/16 Срд 09:15:22  894038
философы.jpg (45Кб, 600x559)
Анан, а скажи, есть в android sdk средства для безвозвратного и, желательно, достаточно низкоуровневого удаления файлов (вот прям совсем нахуй, но желательно на жабе)?
И насколько секурно их тереть с помощью file.delete()?
Просто у Ведра еще галлереи всякие и, насколько я понимаю, внутрисистемная БД для связи файлов с этими самыми галереями/плеерами и не хочется (из соображений секурности), чтобы файл заремувил, а линк на него повис где-то в системе.
Аноним 14/12/16 Срд 09:37:11  894041
>>894030
Почему учитель в школе за гораздо меньшую зп не рисует хуйцы в журналах, и не пишет детям, что их мамки - шлюхи, родившие их по залету?
Почему эти пидоры мстят начальству, но устраивают ад для простых гребцов?
Аноним 14/12/16 Срд 11:12:55  894079
>>894023
>>894030
Долбоебы просто они, там не только в константу, а в типизированный POJO выносить надо. И все будет норм, и текст явно не хардкодить нужно.
Аноним 14/12/16 Срд 11:13:45  894080
>>894041
Это СТАРТАП не волнуйся.
Аноним 14/12/16 Срд 11:15:10  894083
>>894038
DocumentProvider, ContentResolver::delete, в зависимости от условий.
Аноним 14/12/16 Срд 11:16:02  894084
>>894041
>не рисует хуйцы в журналах, и не пишет детям, что их мамки - шлюхи, родившие их по залету?
>не
Какие мы оптимисты.
>Почему эти пидоры мстят начальству, но устраивают ад для простых гребцов?
Потому что соси хуй, быдло
Аноним 14/12/16 Срд 11:17:11  894086
>>894080
>СТАРТАП
То есть все тоже самое, только денег не платят.
Аноним 14/12/16 Срд 11:19:26  894088
>>894086
Хуйню какую-то платят, так что да, с другой стороны если они будут делать хуево, в норм место не попадут никогда.
Аноним 14/12/16 Срд 12:20:26  894121
>>894083
>>894083
Спасибки, попробую. Чет я подзабыл про них.
Аноним 14/12/16 Срд 14:14:09  894173
Котаны, а как по-максимуму разогнать скорость билда ?
Аноним 14/12/16 Срд 14:20:06  894177
>>894173
https://getpocket.com/a/read/922415644
Аноним 14/12/16 Срд 14:27:21  894181
>>894177
Блядь.
>>894173
https://medium.com/@cesarmcferreira/speeding-up-gradle-builds-619c442113cb#.pfqaswlbt
Аноним 14/12/16 Срд 14:28:38  894183
>>894173
https://zeroturnaround.com/software/jrebel-for-android/

Поюзал на десктопе пока триал не кончился было прикольно
Аноним 14/12/16 Срд 14:56:46  894190
Снова всем привет, я вот этот анон >>893304 .
После трех дней кодинга, поисков и матюков могу точно сказать, что для решения проблемы с календарем вот этот вот вариант https://github.com/prolificinteractive/material-calendarview однозначно самый лучший и удобный. Там при помощи DayViewDecorator можно просто чудеса с календарем творить) Так что для кастомизации календаря очень удобная штука!
Аноним 14/12/16 Срд 15:34:14  894214
Подскажите ньюфагу, как сделать, чтобы если TextView ограничен одной строкой, но текста в нем больше, чем на одну строку, в конце добавлялись три точки?
Аноним 14/12/16 Срд 15:42:04  894216
>>894214
в xml свойство
android:ellipsize="end"
добавь
Аноним 14/12/16 Срд 16:03:25  894219
>>894088
Но ведь в ваших стартапах платят 50-100, и это гораздо больше зп учителя
Аноним 14/12/16 Срд 16:42:40  894241
>>894219
Хз как, у них 800 баксов. А может тем говноделам еще меньше платили.
Аноним 14/12/16 Срд 19:13:55  894345
>>894241
Да, за такие бабки - достаточно вменяемый код.
Аноним 14/12/16 Срд 19:25:37  894351
>>894216
Премного благодарен.
Аноним 14/12/16 Срд 20:04:45  894367
846574762171936[...].jpg (358Кб, 1024x683)
>>893821
Котобамп вопросу.
Аноним 14/12/16 Срд 20:42:17  894378
сап, котаны. Тут такая тема, либо я ебанутый, либо рантайм пермишены геолокации теперь закрывают приложение на 6ке. Тестил на самсунге и эмуляторе. Че за говно, раньше же такого не было
Аноним 14/12/16 Срд 21:09:47  894387
>>894378
У меня все в порядке.
Аноним 14/12/16 Срд 21:19:25  894391
1.png (244Кб, 963x3743)
Бля. Это конструктор
Аноним 14/12/16 Срд 21:29:01  894395
>>894367
>>893821
Делюсь решением!
https://gist.github.com/nightmare00/7b05528de7bdd5874056140678202452

Аноним 14/12/16 Срд 21:44:47  894402
>>894395
Точнее вот: https://gist.github.com/nightmare00/2e36ef5301d2072967ca4605bbb80c0b
Аноним 15/12/16 Чтв 01:32:26  894490
>>894402
А GoogleAccountCredential как создать?
Аноним 15/12/16 Чтв 07:10:59  894533
>>894391
ШТОЭТАБЛЯДЬ
Аноним 15/12/16 Чтв 07:15:15  894534
Апельсинки, а есть у гугула какая-нибудь статистика отражающая процент наличия датчиков (освещения, высоты, и т.д) на общее количество устройств на рынке?
Аноним 15/12/16 Чтв 10:00:18  894553
>>894534
Есть.
Аноним 15/12/16 Чтв 13:21:11  894624
URcws3C90uU[1].jpg (36Кб, 1002x440)
tCQH7IwtTMk[1].jpg (43Кб, 987x586)
F5bCbu-3Ieg[1].jpg (21Кб, 906x402)
Памагити
Аноним 15/12/16 Чтв 13:24:02  894625
kgloVdQKdz0[1].jpg (48Кб, 997x362)
>>894624
Аноним 15/12/16 Чтв 13:47:45  894639
>>894624
Что за тест?
Аноним 15/12/16 Чтв 13:48:33  894640
>>894639
от самсунговской школы
Аноним 15/12/16 Чтв 13:59:28  894649
>>894640
И нахуй тебе помогать тогда? Ладно бы еще шаражная какая-нибудь, так тебя дауна еще и джуном потом возьмут небось.
Аноним 15/12/16 Чтв 14:00:52  894650
>>894649
Для школьников школа
каким джуном
мне корочка ток нужна
Аноним 15/12/16 Чтв 15:07:18  894684
>>894650
Нахуй пошёл отсюда. Рака всем, кто ему поможет.
Аноним 15/12/16 Чтв 15:27:44  894698
Что проще делать: shared element transition между fragment и activity, или между двумя fragment?
Аноним 16/12/16 Птн 02:40:08  895111
>>894624
Свали отсюда, школьник, и иди учись.
ещё раз - и репорт
Аноним 16/12/16 Птн 03:41:31  895121
Ананасы, есть закрыте разделы в программе, чем сделать так что-бы в приложении можно было купить этот раздел и он откроется?
Аноним 16/12/16 Птн 11:25:00  895184
>>895121
billing in app
Аноним 16/12/16 Птн 14:12:08  895262
MyService myService;
public ServiceConnection myConnection = new ServiceConnection() { бла бла };

Не понимат.
myConnection - это переменная, которой присваивается экземпляр ServiceConnection, так?

Тогда что такое скобки?
Аноним 16/12/16 Птн 14:15:28  895266
>>895262
Анонимный класс
Аноним 17/12/16 Суб 00:33:55  895658
>>895262
мандада
Аноним 17/12/16 Суб 05:38:27  895747
Снимок.PNG (49Кб, 1280x630)
Аноны, подскажите по такому вопросу. Есть задача разработать приложение которое будет работать в kiosk mode, т.е. отключить возможности свернуть или закрыть приложение. Версия Android < 5, поэтому просто использовать screen pinning не выйдет. Основная часть задачи была решена добавлением двух прозрачных view поверх system & nav панелей. Но при открытии клавиатуры, вместе с ней появляется новый navBar, который по видимому является частью ее окна. Каким образом можно либо получить ссылку на его WindowManager, чтобы добавить вьюху в него так же через метод addView(View view, ViewGroup.LayoutParams params), либо просто скрыть это бар?

Скриншоты на пикче, систем бар блокирую так:

void lockSystemBar() {
WindowManager manager = ((WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE));

WindowManager.LayoutParams localLayoutParams = new WindowManager.LayoutParams();
localLayoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
localLayoutParams.gravity = Gravity.TOP;
localLayoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
localLayoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
localLayoutParams.height = getHeightUiElement("status_bar_height");
localLayoutParams.format = PixelFormat.TRANSPARENT;

systemBarView = new CustomViewGroup(this);
manager.addView(systemBarView, localLayoutParams);
}
Аноним 17/12/16 Суб 11:48:09  895803
>>895747
http://www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/
Аноним 17/12/16 Суб 16:37:09  895943
У вас котлин плагин не отвалился после обновления?
> Kotlin threw an uncaught NoClassDefFoundError. Disable Plugin

Version: 1.0.5-release-IJ2016.1-3
Android Studio 2.2.3
Аноним 17/12/16 Суб 16:57:45  895955
>>895943
У меня он уже около месяца так падает, не помню, начиная с какого обновления
Аноним 17/12/16 Суб 19:46:46  896058
>>895943
Сижу на чистой IDEA CE и не бед не знаю c Kotlin 1.1-EAP
Аноним 17/12/16 Суб 21:29:32  896138
14537943825300.jpg (61Кб, 604x602)
Ананасы, подскажите полному нубу что не так.


Main.axml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="Hi"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView1" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText1" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Press me" />
</LinearLayout>




MainActivity.cs


using Android.App;
using Android.Widget;
using Android.OS;

namespace App1
{
[Activity(Label = "App1", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
Button button1;
TextView textView1;
EditText editText1;
SetContentView(Resource.Layout.Main);
button1 = (Button) FindViewById(Resource.Id.button1);
textView1 = (TextView)FindViewById(Resource.Id.textView1);
editText1 = (EditText)FindViewById(Resource.Id.editText1);
textView1.Text = ("Hi");
}
}
}



Провожу сборку, есть app1.app1-signed.apk, но не в эмуляторе ни на ведрофоне он даже запускаться не хочет. Ведь простая же программа с элементами, где обосрался?
Аноним 17/12/16 Суб 21:46:25  896152
>>896138
Отбой, запустилось само как-то.
Аноним 17/12/16 Суб 22:05:21  896167
crash.PNG (74Кб, 1231x500)
crash2.PNG (17Кб, 415x193)
>>896152
Теперь эта напасть? Как переписать onclick, чтобы замена происходила успешно?
Аноним 17/12/16 Суб 23:01:14  896212
>>896167
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
textView1.setText("Hi, " + editText1.getText().toString());
}
});
Аноним 17/12/16 Суб 23:44:24  896248
>>896212
это же xamarin
Аноним 17/12/16 Суб 23:45:17  896249
>>896167
кури туториалы
https://developer.xamarin.com/guides/android/getting_started/hello,android/hello,android_quickstart/
Аноним 18/12/16 Вск 00:00:10  896257
>>896248
Значит += onClick, че ты C# не знаешь?
Аноним 18/12/16 Вск 00:55:13  896278
>>896138
> где обосрался?
Выбрал говнофреймворк вместо нативной разработки.
Аноним 18/12/16 Вск 11:39:08  896427
>>896167
1) Что там в логах (исключение какое и стектрейс)?
2) Как ты привязал метод Clicked() к кнопке?
Аноним 18/12/16 Вск 11:49:30  896435
Прощай, жаба!

http://mchav.github.io/frege-on-android/
Аноним 18/12/16 Вск 12:24:41  896448
аноны, какое простенькое приложение написать для портфолио? Что бы с нетворком и бэкжндом. Бэкэнда нет, взять бы готовый, типа гитхаба.. Но приложение под гитхаб скучно
Аноним 18/12/16 Вск 12:30:21  896451
>>896435
Они там совсем отбитые?
Аноним 18/12/16 Вск 12:33:45  896452
>>896435
Не нужно, ведь есть Clojure и тот же Kotlin с его first-class функциями и лямбдами

>>896448
Тебе сюда >>827944 (OP) и сюда >>892500 (OP)
Тут не подтирают сопли вкатывальщикам
Аноним 18/12/16 Вск 13:22:21  896475
>>896452
с чего ты взял что я вкатываюсь только?
Аноним 18/12/16 Вск 18:35:39  896659
Что сейчас модно использовать для многопоточки в больших с взрослых проектах? Вроде сейчас в тренде Rx, но он не имеет привязки к жизненному циклу, robospice вроде уже почти не используют, опять же из-за того что все переехали на Rx или по другой причине? Посмотрел небольшую библиотеку Chronos, она умеет и лайвцикл и кэш, у кого-то есть продолжительный опыт использования оной? В общем поделитесь опытом.
Аноним 18/12/16 Вск 19:29:54  896701
>>896659
AsyncTask
Аноним 18/12/16 Вск 19:37:03  896704
Каковы шансы того что переменная продолжает хранить ссылку на объект даже после выхода из приложения?
Из раза в раз ситуация повторяется. И инициализации не могу найти.
Аноним 18/12/16 Вск 19:51:45  896713
>>896701
Я серьезно спросил
Аноним 18/12/16 Вск 19:52:55  896715
>>896704
Попробуй встроенным в AS мемори-профайлером воспользоваться
Аноним 18/12/16 Вск 19:56:01  896717
>>896715
Вычислил уже. Она живет. Потому что статичная. Щас пошел гуглить как это исправить.
Аноним 18/12/16 Вск 19:58:40  896720
>>896704
Используй LeakCanary и проследи за интересующими тебя объектами.
Аноним 18/12/16 Вск 23:10:33  896840
>>885914 (OP)
Анон, помоги. Есть ли годные ресурсы/литература по бэкенду приложений? В частности, интересует клиент-серверная архитектура и прочее. Сам нашел только гайды а-ля СДЕЛАЙ МЫШКОЙ СЕРВЕР ДЛЯ ВЫВОДА ХЕЛЛОВОРЛД НА СВОЙ ГОВНОСАЙТ или невнятные статьи на хабре типа "Пишем бэкенд, сначала делаем так some code. а потом так some code" и так далее. Подскажи, а?
Аноним 19/12/16 Пнд 12:58:12  896992
>>896840
Причем здесь андроид?
Аноним 19/12/16 Пнд 16:14:28  897087
>>896992
Вопрос был о бэкенде мобильных приложений. В частности, под ведро.
Аноним 19/12/16 Пнд 17:38:40  897135
>>897087
Нормальному бекенду похуй на клиента. Гугли RESTfull. И для ведра он такой же как и для гейоси или хуеба.
Аноним 19/12/16 Пнд 17:41:23  897136
>>897135
двачую
Аноним 19/12/16 Пнд 18:36:23  897153
>>897135
тут уж позволю себе немножко подкорректировать вас: если говорится о мобильном бэке, то идет большой акцент на то, что у мобилы оперативы то да и мощности проца поменьше, чем у компа, и инет может быть послабже, а потому максимум работы должно осуществляться на сервере
Аноним 19/12/16 Пнд 18:37:11  897154
>>896840
глянь гайд спринга, например, там примитивненько описано как собственные rest-сервисы создавать, дальше уже будет от чего плясать по крайней мере
Аноним 19/12/16 Пнд 18:37:32  897155
>>897153
ну и пуши, конечно же в основном - по части мобильного бэка
Аноним 19/12/16 Пнд 18:37:55  897156
>>896704
в сервисе ?)
Аноним 19/12/16 Пнд 18:38:35  897157
>>896659
rx2, свои кастомные concurrency-базированные лесипеды
Аноним 19/12/16 Пнд 19:00:12  897167
>>897153
Не работал ни с чем где для мобилы делались послабления. Ничего особо тяжелого и не встречал, но считаю что если может сайт, то может и мобилка, решает кеширование.
>>897155
По пуш делать - раз плюнуть. Не знаю как с apns, но с fcm/gcm добавить токенов юзеру, удалить токен юзеру, а дальше ПРОСТЕЙШИЕ запросы к гуглу отправить json, ничего сверхвыделяющегося там нет.
Аноним 19/12/16 Пнд 20:06:20  897190
6a16b0f7e88eca6[...].jpg (264Кб, 558x420)
Котаны, кто-нибудь юзал API Google Sheets? (com.google.apis:google-api-services-sheets:v4-rev38-1.22.0)
Есть ли там методы для атомарного обновления значений в ячейках?
Вариант с несколькими запросами - не вариант. Один запрос не пройдет и пиши пропало.
Аноним 19/12/16 Пнд 23:04:52  897262
>>885914 (OP)
кто-нибудь, подскажите, пожалуйста, как делать заметки. если у меня их фиксированное количество и все они изначально перед глазами, на фоне картинка.
Аноним 20/12/16 Втр 20:50:18  897764
Сап, котаны, ебусь с траблой уже наверное часика три. Суть - есть дохуя жирный rx2-чейн. Но эта сука прерывает эмиттинг итемов где-то. Нашел-таки где (см пик). Схуяли такое может происходить ? все происходит на io.
Аноним 20/12/16 Втр 20:50:48  897765
>>897764
Так чтобы стало понятно, в логи попадает только before map...
Аноним 20/12/16 Втр 21:46:46  897818
>>897764
p.p.s. ошибок нигде не кидает, просто пустой эфир
Аноним 21/12/16 Срд 10:10:16  897992
>>897764
Таки нашел ошибку, внутри анонимки в .map шло выкидывание NPE, который по каким-то неведомым мне причинам нихуя не отлавливался нигде. Таки даешь дебаг всего, путем оборачивания в try-catch :D
Аноним 21/12/16 Срд 11:32:40  898005
>>897992
> :D
Аноним 21/12/16 Срд 12:53:00  898038
Антуаны подскажите годные MVVM + DI фреймворки под разработку на андрюше.
Перекатываюсь с божественного WPF.
Аноним 21/12/16 Срд 12:56:37  898041
>>898038
> mvvm фреимворки
Их полторы и всем похуй на твое mvvm.
Аноним 21/12/16 Срд 12:58:14  898042
>>898041
Ну хз бро. Наебался я в свое время с подходом "Ебашим все в CodeBehind" и ну его нахуй.
Аноним 21/12/16 Срд 13:22:44  898047
>>898038
годных нет, двустороннего binding-а на моей памяти еще не появилось ( разве что за последние полгода, когда я уже забил и на MVP вкатился ). А почему именно MVVM ?
Аноним 21/12/16 Срд 13:28:18  898049
>>898047
Не знаю. Привык уже к нему. Не вижу лучшей альтернативы. Вкатился в него, когда хуярил на WPF. Потом перешел с WPF на ангуляр, где он тоже юзается. Писать руками код, который обновляет вьюху - считаю излишней работой.
Аноним 21/12/16 Срд 16:10:12  898141
>>898042
Посоветуй материала по связке MVVM + WPF, а то в интернете миллион статей на заре 8.1 где упор идёт на мобилы и WinRT а нормального что почитать и нету.
Аноним 21/12/16 Срд 16:29:51  898163
>>898049
Это не .NET, здесь MVVM бал не правит. Пока попробуешь довести хоть одну клиент-серверку нормальную на MVVM до продакшна - сотню раз возненавидишь себя за такое решение
Аноним 21/12/16 Срд 16:40:43  898180
>>892895
>>892895
Настоящий андроид девелопер - это не чайник и должен уметь кроме программирования много другое.
Аноним 21/12/16 Срд 16:56:47  898193
>>892895
Не совсем согласен, иногда программирование на уровне системки может играть важную роль, но, конечно же, ох ебать как иногда
Аноним 21/12/16 Срд 16:57:29  898194
>>898163
Ну да, под нормальной подразумевается конечно же клиент-серверка на 80-100к+ строчек
Аноним 21/12/16 Срд 18:47:22  898275
>>898180
Настоящий андроид девелопер — макакер уровня ЖС треда, дрочащий фреймворки и материал десигн. Реально стоящих вещей мало.
Аноним 21/12/16 Срд 19:40:02  898303
a3249395da148e5[...].jpg (248Кб, 488x393)
Котаны, у меня есть Observable, в которой некий запрос к API.
В случае провала вызывается subscriber.onError(Throwable e).
Как мне наиболее правильно доставить до UI сообщение об ошибке с учетом локализации?

1) Передать в конструктор Throwable(context.getString(R.string.cat));
2) Заготовить исключений на все случаи жизни и оттопырить в презентере это всё instanceof'ами?

да, пикучу обрезал
Аноним 21/12/16 Срд 20:02:32  898329
>>898303
Про разделение логики и представления слышал?
Аноним 21/12/16 Срд 20:04:27  898331
>>898329
Отвечай конкретно.
Конечно же слышал.
Аноним 21/12/16 Срд 20:11:16  898336
>>898331
Ответил тебе за щеку.
Аноним 21/12/16 Срд 20:14:36  898338
>>898336
Я не удивлен, что ты не знаешь ответа.
Аноним 21/12/16 Срд 20:26:06  898349
>>898303
Вариант с несколькими классами исключений выглядит самый правильный.
Далее через instanceof определяешь какая ошибка произошла и подгружаешь сообщение откуда захочется.
Аноним 21/12/16 Срд 20:48:23  898374
face-1400x1400.jpg (9Кб, 100x100)
>>898303
>Как мне наиболее правильно доставить до UI сообщение об ошибке с учетом локализации?
"Все есть объект"
Ты должен инкапсулировать всю логику преобразования ошибки в UI сообщение в отдельном объекте.

Если лень создавать кучу классов Throwable, можешь юзать один под каждый тип ошибок и параметризовать его enum'ами.
Аноним 21/12/16 Срд 20:54:08  898377
>>898349
> через instanceof определяешь какая ошибка
Блядь, ты троллишь так или серьезно?
Аноним 21/12/16 Срд 21:04:36  898385
Имеет ли смысл в почти что 2017-ом изобретать свою MVP хуйню или стоит взять готовую?
акая MVP либа наиболее адекватна сейчас?
Аноним 21/12/16 Срд 21:40:39  898412
Есть у меня Model, Presenter и View.
1. Запустил загрузку данных с сайта
2. Перевернул смартфон
3. View уничтожено, асинхронный запрос завершился, а результат негде отображать. Где мне его сохранить, чтобы отобразить как только будет создано View?
В презентере?
Аноним 21/12/16 Срд 22:26:32  898431
>>898412
http://hannesdorfmann.com/mosby/viewstate/

Между презентером и вью должна быть прослойка для таких ситуаций.
Аноним 21/12/16 Срд 22:29:55  898440
>>898374
Они все равно затираются и до тебя доходит Throwable, вместо чего-то вменяемого.
Аноним 21/12/16 Срд 22:37:15  898445
>>898385
Ёбнулся? Какая нахуй либа?
Аноним 21/12/16 Срд 22:44:57  898449
>>898431
У меня на этом сайте вся верстка прыгает, что за имбецил его писал?
Аноним 21/12/16 Срд 23:13:19  898459
>>898449
Hannes Dorfmann
Аноним 21/12/16 Срд 23:25:09  898461
>>898459
Если он такое говнище льет себе в бложек то не стоит такого "иксперта" воспринимать всерьез ясчитаю.
Аноним 21/12/16 Срд 23:28:51  898462
>>898431
>Между презентером и вью должна быть прослойка
в mosby это не прослойка, а в moxy - прослойка
Аноним 21/12/16 Срд 23:32:44  898463
>>898462
В mosby это скрыто при помощи наследования.
По сути да, view и viewstate там в итоге одно и тоже.
Аноним 22/12/16 Чтв 09:21:39  898570
>>898412
Я решаю проблему с помощью презентера с кэшем, который переживает смены конфига в лоадере. Как только допилю и оформлю на гит - закину сюда ссылочку. Будет полайтовее популярный фреймворков
Аноним 22/12/16 Чтв 10:35:45  898598
>>898431
>>898570
Господа, имхо, в большинстве случаев это - код ради кода. Почему бы просто не кэшировать сами запросы во время выполнения, а потом сохранять отписываться от них в onPause/подписываться в onResume?
Аноним 22/12/16 Чтв 10:41:48  898607
>>898303
Я делаю так:
1) Из модели летит Exception
2) В презентере через instanceof определяю, что за экзепшн.
3) В зависимости от этого, во вью показывается то, или иное сообщение (в снэкбаре/в диалоге/в отдельном сообщении - это решает презентер)
Аноним 22/12/16 Чтв 14:22:56  898782
>>898598
При подписывании поддянется резульиат, который где-то лежит?
Аноним 22/12/16 Чтв 14:37:07  898789
>>898782
Тащемта, речь идет об rx-запросе и методе cache - так что да
Аноним 22/12/16 Чтв 14:43:17  898794
>>898440
Ты можешь его выкинуть опять throw e и обработать в любом месте
Аноним 22/12/16 Чтв 15:09:14  898810
>>898598
потому что иногда запросы дорогие, и если идет прерывание в процессе запроса до получения ответа, его придется еще раз делать
Аноним 22/12/16 Чтв 15:10:07  898811
>>898607
Отвратительно, делай всю логику исключений в презентере, за исключением редкостей типа ExpiredTokenException/UserUnauthorizedException и тд
Аноним 22/12/16 Чтв 15:59:48  898841
>>898811
Так он там и делает. Прочитай еще раз.
Аноним 22/12/16 Чтв 16:02:46  898842
>>898794
Я о том что ты не знаешь нормального типа, он потерялся, прийдется прибегать к instanceof, не красиво (не егорка, не бейте).
Аноним 22/12/16 Чтв 18:09:08  898896
Пиздец, как писать идеальный код, чтобы никто не доебался? Ни один учебник этому не учит.
Аноним 22/12/16 Чтв 18:13:32  898901
>>898896
Потому что идеал недостижим, чмонька.
Аноним 22/12/16 Чтв 18:24:55  898906
>>898901
Судя по всему околоидеал тоже. Иначе как объяснить тот факт, что какой бы код не написал, всегда найдется тот кто его отхуесосит.
Аноним 22/12/16 Чтв 21:43:58  899059
Пригласили на собеседование (джуном). Одна из топовых фирм города. Пригласила рекрутерша по джунам, думаю они набирают на обучение всяких бомжей типа меня.
К чему быть готовым? Что могут спрашивать? Как все выглядит?
Я просто впервые на собеседование иду, очень волнуюсь, что им рассказывать? Есть говеный курсач с бд и рестом, стоит показывать? Говеный в смысле дизайна, но я думаю за выходные исправить чтобы красиво выглядело. Короче расскажите к чему быть готовым, о чем почитать и мб какие советы будут.
Аноним 22/12/16 Чтв 21:50:45  899069
>>899059
Заходишь в фирму, тебе кидают полотенце под ноги. Ты должен его перешагнуть, но не наступить. Сразу же громко говоришь "Вечер в хату, мужики!". После этого к тебе должен подойти смотрящий и спросить, кто ты по жизни. Ответь, что простой мужик, рабочий. Если предложат в сесть в тазик, отвечай "я сяду, только если ты мне в хуй дунешь".
Аноним 22/12/16 Чтв 21:52:49  899071
>>899059
Выгляди как няша - стильный, опрятный.
Съешь валерьянки на пару с котом можешь наебнуть, заешь орбитом.
Аноним 22/12/16 Чтв 22:11:49  899084
>>899059
https://www.youtube.com/watch?v=nCpjBDCauhA
Аноним 22/12/16 Чтв 23:27:36  899160
Снимок.PNG (102Кб, 413x276)
Кто-то спер мои радиобаттоны. На скрине должны быть слева от каждого айтема, там щас обводка. Сам ее добавил что бы понять где они сука. Не выводятся бладж тупо. Причем в xml ничо не менял. Взаимодействие между адаптером и фрагментом менял, но блин, для вывода радиобаттонов нихрена же и не надо, только в getView адаптера возвращать layout с гребанным радиобаттоном. И текст-вьюхи работают же у айтема.

Причем если обводку не добавить - клик не проходит. Добавишь - работает, но где сука радиобатонны.

Мож кто подскажет? Код не выкладываю, ибо там все в говно выводами дебажными перемазано.
Аноним 22/12/16 Чтв 23:44:18  899179
>>899160
Выкладываю.
Методы адаптера:
https://codeshare.io/GqBPx2
XML описание радиокнопки:
https://codeshare.io/aYVL3G
Аноним 23/12/16 Птн 02:13:34  899278
>>899084
>>899069
>>899071
Благодарю, но я все же хотел узнать за техническую сторону вопроса, о чем обычно с джуном говорят?
Аноним 23/12/16 Птн 08:17:24  899335
>>899179
в импортах там все в поряде? radio button appCompatv7 импортируешь?
Аноним 23/12/16 Птн 09:24:47  899341
>>899335
Не, просто RadioButton был. Но замена результатов не принесла
Аноним 23/12/16 Птн 11:08:19  899369
>>899278
Задачу про два стула могут спросить. Или про море говна. Или про вилку в глаз.
Аноним 23/12/16 Птн 13:45:54  899440
>>899341
ну хуй знает, по любому в какой нибудь хуйне опиздаволосился очевидной. И вообще юзай ресайклер, листвью лагать начинает с большим количеством итемов
Аноним 23/12/16 Птн 13:55:22  899444
>>899440
Да тож понимаю, только третий день нихуя найти не могу. Как начал пытаться оптимизировать архитектуру, перелопачивая взаимодействие между презентером, фрагментом и адаптером так и вылезло это говно. В чем-то очевидном, но блять мы же даже никак радиобатон не добавлем, если он уже в xml-ине находится.

Взял чисто кусок xml с радиобатонном и вставил от балды в другой список. Все работает, хоть и логики никакой нет.

Вобщем походу это... Буду всем говорить что никаких радиобатоннов там и не было никогда. И вы, если чо, ничего не знаете.
Аноним 23/12/16 Птн 15:23:05  899496
>>899444
>никаких радиобатоннов
Сами уволились вчера?
А если дизайн посмотрят? Не пиши AppCompat<ClassName>, ClassName автоматом на него заменится при компиляции, только если конструктор вызываешь надо компатовский класс писать. Удали все элементы из вьюхи кроме радио. И потом добавляй
Аноним 23/12/16 Птн 15:40:49  899505
>>899496
Удалил - без изменений. Говорю ж. Не в xml-ине проблема. Ее я не трогал.

Скажу что они нарушали минималистичный дизайн стиль и их пришлось убрать. А вообще это мой соло проект, я его на показать в кампанию делаю и как диплом. Никто не контролирует особо.
Аноним 23/12/16 Птн 15:41:32  899506
Господа, стоит ли пилить в резюме проект без Butterknife? Или в 2016 я один пишу ебучие findViewById?
Аноним 23/12/16 Птн 15:59:05  899516
Как получить правильный enum по строке? Допустим у меня есть строка "oche_maliy_yoba" и есть enum типа

enum YobaType{
OCHE_MALIY_YOBA ("oche_maliy_yoba"),
MALIY_YOBA ("maliy_yoba"),
BOLSHOY_YOBA ("bolshoy_yoba"),
OCHE_BOLSHOY_YOBA ("oche_bolshoy_yoba_yoba";
}

Я хочу чтобы по строке получался нужный enum,
то есть
String yobaString = "oche_maliy_yoba"
YobaType currentYobaType = YobaType.valueOf(yobaString);
// В итоге сurrentYobaType должно стать YobaType.OCHE_MALIY_YOBA, но вместо этого я ловлю эксепшн, мол нет такой константы. Как это сделать правильно, а то хуярить кучу if else вообще не вариант
Аноним 23/12/16 Птн 15:59:53  899517
>>899506
Я тоже так пишу.
Аноним 23/12/16 Птн 16:00:43  899518
>>899506
> имплаинг Butterknife не делает то же самое.
Аноним 23/12/16 Птн 16:13:27  899521
>>899506
Я надеюсь, ты запилил себе дженерик обертку <T extends View> T findViewById(view, id) для этого? Иначе тогда да, как даун.
>>899518
Внутри BF еще и рефлекшон в довесок идет.
Аноним 23/12/16 Птн 17:14:36  899548
Котаны, где теперь брать халявную музыку?
У меня приложение было заточено под VK, но теперь через мобильный API нельзя получить список песен.

Есть ли какие-то похожие халявные базы?
Аноним 23/12/16 Птн 17:52:23  899558
>>899521
>Внутри BF еще и рефлекшон в довесок идет.
мм, найс истории, продолжай
Аноним 23/12/16 Птн 18:09:01  899564
>>899558
Дядь, ты когда вызываешь ButterKnife.bind(view, object) он через Class.forName ищет нужный сгенеренный заранее %ObjectClassName%_ViewBinder.
Аноним 23/12/16 Птн 18:14:37  899569
>>899564
прикольно, че ещё расскажешь?
Аноним 23/12/16 Птн 18:36:35  899578
>>899564
Еблан, исходники открой и посмотри. Нет там никакой reflection
Аноним 23/12/16 Птн 19:00:34  899595
Screen Shot 201[...].png (257Кб, 1316x998)
Screen Shot 201[...].png (251Кб, 1372x822)
>>899578
Это не рефлексия?
Аноним 23/12/16 Птн 19:02:32  899597
14597833425870.jpg (260Кб, 960x776)
Анон, посоветуй чтиво по алгоритмах.
Аноним 23/12/16 Птн 19:21:14  899609
Как научиться делать игры для андроид? Заканчиваю девятый класс, хорошо знаю c++ и немного java. Собираюсь после окончания стать работать фрилансером.
Аноним 23/12/16 Птн 19:29:00  899616
>>899609
> хорошо знаю c++
А теперь напиши это в плюсо-треде.
Аноним 23/12/16 Птн 19:31:21  899620
>>899609
Где-то я это уже видел...
Аноним 23/12/16 Птн 19:32:30  899621
>>899620
Я вам говорю, это один и тот же аутист тред бампает.
Аноним 23/12/16 Птн 23:43:55  899773
Гайс. Недавно вкатился в Андроид. Уровень ПРЕДжуниор. Данные храню в обычном SQLite, но недавно услышал, что все опытные погромисты юзают некие сторонние библиотеки или какие-то заменители стандартного SQlite. Поясните. И обязательно хорошо сначала разбираться в основах sqlite прежде чем переходить на некие заменители
Аноним 23/12/16 Птн 23:47:29  899776
>>899773
Зависит от того что хочешь, большинство ОРМ и библиотек работают все с тем же SQLite, есть Realm, можно тащить с приложением свой бинарник sqlite, но тогда нужно еще кучу кода тянуть, как телеграм.
Аноним 23/12/16 Птн 23:52:12  899780
>>899776
Но в любом случае надо знать и хорошо разбираться в sqlite, прежде чем переходить на такие штуки?
Аноним 23/12/16 Птн 23:55:23  899783
>>899780
Желательно, но не обязательно.
Аноним 24/12/16 Суб 00:12:38  899791
>>899773
Надо хорошо знать реляционную модель данных, нормализацию до 3 формы, понимать принципы построения запросов. Дрочить чистый sqlite, уже имея опыт с реляционными субд, не обязательно, можно хоть сразу орм использовать. Главное, просто не быть тупой макакой.
Аноним 24/12/16 Суб 09:36:46  899935
Поставил на visual studio 2015 community edition xamarin, создаю проект и пытаюсь запустить. Мне выдает сообщение There were deployment errors. Continue? Никаких ворнингов и ошибок не выводится. Что делать?
Аноним 24/12/16 Суб 11:21:55  899960
>>899597
кнута читай, искусство программирования
Аноним 24/12/16 Суб 11:22:13  899961
ab2860a4e[1].jpg (19Кб, 200x191)
ПИШЕШЬ ТАКОЙ КОД В ANDROID STUDIO
@
РАСКЛАДКА ПЕРЕСТАЛА ПЕРЕКЛЮЧАТЬСЯ С РУССКОГО НА АНГЛИЙСКИЙ
@
invalidate caches/restart
Аноним 24/12/16 Суб 11:24:05  899962
>>899548
у soundcloud вроде апи было
Аноним 24/12/16 Суб 11:35:52  899964
>>899961
Нехуй сидеть на нестальных версиях и вообще юзать АС когда есть IDEA CE
Аноним 24/12/16 Суб 11:51:34  899968
>>899964
Не понял. Что ты говоришь?
Нельзя юзать последнюю версию Android Studio?
Аноним 24/12/16 Суб 13:01:04  899989
>>899964
Кстати, а какой правда смысл использовать студию? Что она представляет такого, чего не может идея с андроид плагином?
Аноним 24/12/16 Суб 13:14:26  899998
>>899989
Андроид специфик штучки раньше обновятся.
Аноним 24/12/16 Суб 19:04:25  900168
Как сделать очередь запросов на RxJava?
Что-то типа fixedthreadpool с одним потоком.
Аноним 24/12/16 Суб 19:12:56  900182
>>900168
Schedulers.fromExecutor(Executors.newSingleThreadPool());
Аноним 24/12/16 Суб 19:15:09  900184
>>900182
Ага. Далее можно используя этот шедулер просто скармливать ему дохуя observable?
Аноним 24/12/16 Суб 19:48:40  900206
Сап, котаны, с вами снова больной на голову студентишка-разраб, который пилит SDK под полностью реактивную поддержку MS Graph API. С последнего поста (пару тредов назад) объем проектика увеличился в несколько раз, количество отработанных запросов теперь в районе 100-120, но это охватило где-то 8-10% графа. Пока что вроде как все идет нормально, но чувствую, что при росте в 10 то раз (до этого такие еба-проджекты не писал) могу обосраться от путаницы. Что посоветуете, чтобы максимально жестко и правильно структурировать и абстрагировать весь этот пиздец ? Есть ли какие-то паттерны проектирования сдк-шек или йоба-либ ?
Заранее спасибки, надеюсь, с вашей помощью отмучаюсь поскорее :)
Аноним 24/12/16 Суб 19:53:58  900208
>>900206
p.s. Сейчас придерживаюсь создания фабрики апишек с помощью ретрофита и надстройки в виде прокси над ней в виде синглтон-менеджера, который не позволяет говнишко всякое пихать в запросы.
И еще такой вопрос, стоит ли создавать DAO и проксю над локальной БД, в которую можно положить любые данные или же пусть пользователи сами ебстутся ? Пока что только база аккаунтов лежит под покровом прокси-менеджера
Аноним 24/12/16 Суб 23:36:05  900288
Сталкивался кто с проблемой, что если подключить к приложению сервисы гугл плей, то на девайсах с апи 16 при запуске приложения будет предлагать их обновить? Как это можно решить?
Аноним 24/12/16 Суб 23:47:37  900291
>>900288
обновить
Аноним 24/12/16 Суб 23:48:24  900293
>>900288
Это правильное поведение. Ну млжешь проверить не вызывается ли в твоем коде showErrorDialog. Если нет, то значит там в либе зашито так.
Аноним 25/12/16 Вск 00:54:07  900321
Можно ли где-то вклинится в RxCallAdapterFactory retrofit'a, что бы на каждый создаваемый Observable цеплять свой retryWhen?
Аноним 25/12/16 Вск 01:24:05  900340
Screen Shot 201[...].png (263Кб, 1458x1068)
>>900321
Вопрос снят, решение не красивое, но есть.
Аноним 25/12/16 Вск 14:07:51  900515
14825554372902.jpg (56Кб, 650x500)
Котаны, посоветуйте ORM с минимальным оверхедом по памяти и производительности. При этом с возможностью подписаться на изменение данных в таблице.
Аноним 25/12/16 Вск 14:10:32  900516
>>900515
Ой, не ту пикчу прикрепил :3
Аноним 25/12/16 Вск 14:49:01  900527
>>900515
GreenDAO
Аноним 25/12/16 Вск 15:43:48  900564
>>900515
>>899773
ORM на ведре — это для долбоёбов.
Научитесь уже готовить божественную StorIO.
Аноним 25/12/16 Вск 16:21:26  900590
>>900564
Почему же ? GreenDao крайне удобен, например, и по производительности весьма хорош
Аноним 25/12/16 Вск 16:37:17  900611
>>900564
>ORM на ведре — это для долбоёбов.
>Android == Dalvik ~~ JVM
Я тебя дополню: ORM который работает только на ведре - это хреновая орм

Ради чего мы пишем на котлинах и грувях?
Что бы у нас был кроссплатформенный код, максимум которого можно протестировать локально.

К сожалению единственная orm которая это позволяла это OrmLite, но она скорее мертва.
Аноним 25/12/16 Вск 16:41:12  900618
Screen Shot 201[...].png (298Кб, 1636x1062)
>>900564
Как ты пишешь джойны что бы они не были монструозными?
Аноним 25/12/16 Вск 16:42:29  900620
>>900611
Можно поизвращаться же с jdbc драйвером.
Аноним 25/12/16 Вск 16:49:19  900626
>>900620
еще к удаленной базе подключайся через драйвер блять с телефона
Аноним 25/12/16 Вск 17:08:44  900641
>>900626
Не к удаленной, а к локальной.
Аноним 25/12/16 Вск 17:12:42  900648
>>900641
я поржал :) Зачем, если есть готовые тулзы для удобной работы с бд ? Что ты там хранить собрался, что тебе не подходит ни зеленый, ни сах
арный ?
Аноним 25/12/16 Вск 17:13:45  900649
>>900620
>Можно поизвращаться же с jdbc драйвером.
Да, андроид поддерживает jdbc, только у него нет изкоробочного драйвера для его sqlite.
Сам не юзал правда, благо ormlite позволяет подключаться на прямую.
sage Аноним 25/12/16 Вск 17:25:42  900656
Перепись долбоёбов, блядь.
Аноним 25/12/16 Вск 17:42:19  900666
>>900656
Один представился.
Аноним 25/12/16 Вск 17:49:56  900671
>>900611
> Dalvik ~~ JVM
Уже давно ART, но нихуя они не эквивалентны.

> ORM который работает только на ведре - это хреновая орм
StorIO — не ORM.

> Ради чего мы пишем на котлинах и грувях?
Лично мы не пишем, ибо не долбоёбы.
> максимум которого можно протестировать локально
Наверное, ты имеешь в виду на JVM. Как в этом твои котлины/груви/скалы помогут?
Особого смысла писать юнит-тесты для БД так, чтобы они запускались на чистом JVM нету, ибо интеграционные без ведра всё равно написать не получится.

Ну или ебись с jdbc, хули. На SO были чуваки, которые даже Hibernate на ведре использовали.
Аноним 25/12/16 Вск 17:52:40  900674
>>900618
Примерно так и пишу. С небольшим количеством вспомогательных функций и precompiled statements.
Особого синтаксического сахара тут ожидать не стоит, ибо это не ORM.
Аноним 25/12/16 Вск 17:56:19  900676
А кто-то пробовал обновлять таблицы при смене схемы в greendao3, при использовании SQLCipher ? У меня идет крит с сообшением о том, что таблицы не найдены, но тащемта они есть :)
Аноним 25/12/16 Вск 18:30:13  900705
>>900671
>Уже давно ART, но нихуя они не эквивалентны.
Няшь, вот скажи мне, а что это меняет? Тем более сейчас, когда андроид укатился на open jdk.

>запускались на чистом JVM нету, ибо интеграционные без ведра всё равно написать не получится.
С ormlite как-то получалось. Просто логику надо абстрагировать от платформенного уровня.
Аноним 25/12/16 Вск 20:49:37  900827
Няши, подскажите мне вот такое:

Я делаю запрос к серверу в IntentService.
Получаю при помощи LocalBroadcast результат.
Но куда мне положить результат на случай, если юзер свернет приложение, чтобы показать ему его, когда он его развернет?
Мне нужно всего лишь показать и закрыть ProgressDialog.
Аноним 25/12/16 Вск 21:20:35  900867
>>900827
В базу или в SharedPreferences.
Аноним 25/12/16 Вск 21:26:44  900871
>>900867
Ок. В базу слишком жирно будет.
Аноним 26/12/16 Пнд 00:20:38  900995
>>899961
Самый известный баг, унаследованный от петушков из JetBrains. Вешай отдельные дополнительные, отдельные клавиши на русскую и английскую раскладки
Аноним 26/12/16 Пнд 00:33:39  901002
>>899773
God Tier
Realm. Большой и тяжеловесный - но быстрый, доделанный и простой в использовании.

Good tier
Native sqlite. Много кода для поддержки - но если нужно пилить нестандартную логику запросов, джоины, всякие нестандартные команды к базе и т.д.

Mid tier
StorIO. Если тебе не нужно чего-то нетривиального, в то же время не нужно огромной ORM - самое то. Убогая архитектура на ресолверах прилагается.

Shit tier
GreenDAO, ORMLite и им подобное говно. Тормоза, рефлексия и прочее не нужны
Аноним 26/12/16 Пнд 00:39:13  901006
14566803300210.jpg (56Кб, 491x500)
>>901002
> StorIO Убогая архитектура
> Native sqlite выше StorIO
> Realm выше всех

Какое авторитетное мнение.
Аноним 26/12/16 Пнд 04:21:01  901071
Glide или Picasso? И почему?
Аноним 26/12/16 Пнд 05:58:21  901074
>>899935
Бамп вопросу. Подсобите плиз. Хеллоуворлд написать хочу.
Аноним 26/12/16 Пнд 07:29:57  901079
Как можно сделать прокрутку пикчи на фоне, когда пользователь перемещается вбок между слайдинг табс? Типо как на рабочем столе андроида.
Аноним 26/12/16 Пнд 10:05:17  901111
>>901071
Picasso из-за связки с okhttp.
Аноним 26/12/16 Пнд 10:06:11  901112
>>901079
Гугли parallax view pager, когда-то такое делал.
Аноним 26/12/16 Пнд 11:47:54  901145
Стоит городить retrofit с сущностями и хуйней-малафьей, если в приложении используется один маленький параметр, который берется из одного единственного сетевого запроса к рест сервису?
Аноним 26/12/16 Пнд 12:30:25  901181
>>901145
>Стоит городить retrofit с сущностями
Стоит это кусок кода абстрагировать и вынести в отдельную сущность.
Дальше пишешь тривиальную реализацию и покрываешь ее тестами.

Потом уже, если логика запроса усложнится, то заменишь ее на ретрофит.
Аноним 26/12/16 Пнд 12:34:02  901186
Народ, подскажите плиз, нужно сохранить пароль и логин в приложении, чтобы потом достать их. Насколько я понял в SharedPreferences хранить не безопасно, что лучше всего использовать из андроидовских возможностей? Желательно без ебли с шифрованием и добавлением хуевой горы кустарных библиотек в gradle dependencies.
Аноним 26/12/16 Пнд 12:45:37  901193
>>901186
>сохранить пароль и логин в приложении
Это безопасно никак не делается. Все что есть на устройстве можно спизидть. Как вариант = AccountManager
Аноним 26/12/16 Пнд 12:50:03  901194
>>901193
Окей, спасибо.
Аноним 26/12/16 Пнд 13:04:36  901202
>>901186
можешь попробовать через жопу шифровать побитовыми сдвигами и прочей хуйней. Из-за того что это чистой воды ебланство ни кто не ломанет, базарю
Аноним 26/12/16 Пнд 13:51:29  901228
>>901202
Это слишком задрочно и не стоит того. Просто блять по ТЗ нужно впихивать логин и пароль в поля, если юзер логинился, а Гугл рекомендует хранить только токен и не сохранять credentials и пиздец.
Аноним 26/12/16 Пнд 15:06:21  901256
ебанный андроид
socket =(BluetoothSocket) device.getClass().getMethod("createRfcommSocket", new Class[] {int.class}).invoke(device,1);
Аноним 26/12/16 Пнд 16:03:30  901282
>>901256
Нехуй пользоваться приватным API.
В Apple тебя с такими извратами сразу бы нахуй послали.
Аноним 26/12/16 Пнд 17:23:42  901357
>>901282
>В Apple тебя с такими извратами сразу бы нахуй послали
Там было бы то же самое только с квадратными скобочками вместо точек.
Аноним 26/12/16 Пнд 17:24:16  901359
В андроиде есть какой-то аналог plist?
Аноним 26/12/16 Пнд 18:08:08  901380
>>901359
>В андроиде есть какой-то аналог plist?
Аналог в каком смысле?
Аноним 26/12/16 Пнд 18:12:14  901381
blob (783Кб, 675x1080)
blob (694Кб, 675x1080)
blob (794Кб, 675x1080)
blob (211Кб, 372x329)
>>885914 (OP)
Анончик, выручай.

Делаю что-то типо курсоуказателя, нужна помощь в выборе фигуры для отрисовки "пропаханного".

В общем, суть: нужно за двигающимся авто/трактором отрисовывать путь/маршрут заданной ширины (точность нужна побольше, чем просто ебануть polyline.width() в пикселях и смотреть как ширина меняется при зуме).

В начале реализовал так: делаю полигон, который перерисовывается, когда добавляется новая точка, получилось вроде как надо(пик 1).
Однако хуета в том, что когда "разворачиваешься" полигон пересекает сам себя и ломается нахуй! Просто в конченную ебалу, нихуя не похожую на няшный полигончик. (пик 2)

Пробовал строить полигон каждые новые две точки, получается крипотно и вообще хуета. (пик 3).

В общем хотелось получить стандартными средствами что-то по типу 4го пика, где полигон отрисовывается замкнутым и достаточно плавным.

Есть ли какие-то еще возможности? Думал еще через GroundOverlay ебануть, но там только прямоугольники, а в Polyline ширину только в пикселях задавать. (Собственно для полигона тоже, но я сам рассчитываю его координаты и влияю на точность)

Заранее дякую, если вопросы еще есть - задавайте.
Аноним 26/12/16 Пнд 18:18:22  901385
>>901380
В прямом. Вот в iOS проекте есть plist, как можно повторить его в Android проекте?
Аноним 26/12/16 Пнд 18:33:22  901390
>>901385
А мы ебем что у тебя там делает plist?
Аноним 26/12/16 Пнд 18:36:22  901393
>>901390
Если ты не знаешь то какого хуя ты отвечаешь?
Аноним 26/12/16 Пнд 18:39:29  901395
>>901393
Чел либо ты ведешь себя вежливо, либо идешь нахуй, а твои вскукареки скрывают

мимо
Аноним 26/12/16 Пнд 18:43:47  901401
>>901395
Я вполне вежливо задал вопрос, тут есть те кто перекатился с iOS на Android, следовательно могут на него ответить. Поэтому когда мне отвечают
> А мы ебем что у тебя там делает plist?
в таком духе, я отвечаю взаимностью.
Аноним 26/12/16 Пнд 20:15:21  901463
>>901401
Хуй соси, пидор.
Аноним 26/12/16 Пнд 21:25:51  901516
>>901401
plist это просто xml файл, так что у тебя два выбора
1) сгенерить java классы из твоего plist и сериализовать/десеризовать их
2) загружать сырой plist и работать с ним как с DOM и делать выборки через xpath

если ты хочешь просто хранить иерархические данные, лучше заюзать shared preferences
Аноним 26/12/16 Пнд 21:51:43  901535
Как справляетесь с блоком аудио апи в Vk? Авторизация путём замены айди приложения на айди официального до сих пор работает?
Аноним 26/12/16 Пнд 23:17:46  901596
>>901463
Cкрыл твой вскукарек.

>>901516
Ок, спасибо.
Аноним 27/12/16 Втр 06:14:32  901723
>>901111
Как будто в Глайде её нету.
https://github.com/bumptech/glide/wiki/Integration-Libraries#okhttp
Аноним 27/12/16 Втр 07:11:10  901728
>>901535
Где взять айди оф?
Аноним 27/12/16 Втр 08:09:54  901737
>>901728
Дуров в Твиттере присывлает, если попросить
Аноним 27/12/16 Втр 10:06:52  901779
Хуй знает где спросить, ананас, спрошу у тебя. Как на ведре заставить запускаться 2 приложения одним ярлыком ? Нужно чтобы они вмеесте запускались.
Аноним 27/12/16 Втр 10:10:44  901783
>>901779
Напиши сам приложение, запускающее 2 приложения через getLaunchIntentForPackage.
Хотя я не представляю, зачем это нужно.
Аноним 27/12/16 Втр 10:13:27  901786
>>901779
В onCreate первого приложения пишешь

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("имя.второго приложения","имя.второго.приложения.MainActivity"));
startActivity(intent);
Аноним 27/12/16 Втр 10:25:11  901797
>>901783
>>901786
Программаны, я здесь залетный. Не совсем вас понимаю, можно обьяснить для даунов? Нужно чтобы скроблер и аудио плеер вместе запускались, вот.
Аноним 27/12/16 Втр 10:27:52  901798
>>901797
Найди названия пакетов скроблера и аудиоплеера, там будет что-то типа com.yoballc.audioplayer или com.zaloopa.scrobler. А в своем приложении стартуешь их через интент, как я написал выше. Или ты спрашиваешь не как программист а как пользователь андроида?
Аноним 27/12/16 Втр 10:36:23  901802
>>901798
> Или ты спрашиваешь не как программист а как пользователь андроида?
2ое , скроблер перестал запускаться автоматически при старте воспроизведения . Теперь всегда нужно запускать сперва плеер, а затем скроблер, ну или в другом порядке, похуй. Но главное чтобы скроблер был запущен и висел в процессах. Можно конечно никогда его не отключать, но я хотел найти более эргономичный вариант.
Аноним 27/12/16 Втр 10:39:24  901804
>>901802
А, ну так тебе в другой раздел тогда https://2ch.hk/mobi/
Вот здесь тебе подскажут
Аноним 27/12/16 Втр 10:43:18  901806
>>901804
Да там не шарит никто. Эх, ладно.
Аноним 27/12/16 Втр 10:48:39  901810
>>901806
Ну сорян, чем мог тем помог. Как вариант, попробуй разобраться почем скроблер перестал запускаться как раньше.
Аноним 27/12/16 Втр 11:07:25  901825
>>901381
Ведраны, ну хоть подскажите куда копать.
Аноним 27/12/16 Втр 11:10:07  901829
>>901825
вниз
Аноним 27/12/16 Втр 11:16:51  901834
>>901825
Гугли сглаживание poliyne, вроде немало примеров было. Насколько я помню там нужно подшаманить с MitterCap или что-то в этом роде и тогда углы будут не острые а скругленные.
Аноним 27/12/16 Втр 11:43:04  901858
>>901834
>MitterCap
Этого гугл не знает, но, в любом случае, спасибо. Попиздовал искать.
Аноним 27/12/16 Втр 11:59:42  901874
Screenshot.png (19Кб, 1080x1920)
Обмазался анимированными переходами между активититеми, что из api 21, периодически выходит пикрелейтед экран после нажатия кнопки назад. При каких условиях он появляется - так и не понял, при равных условиях он может и появиться, а может и нет. В чем может быть дело?
Аноним 27/12/16 Втр 12:17:54  901885
>>901874
Ты там фрагментами не балуешься? Если ты первый фрагмент добавил в бекстек, то после нажатия на назад его выплюнет, а активити еще останется.
Аноним 27/12/16 Втр 13:34:09  901936
>>901885
Балуюсь, но в бэкстэк ничего не добавлял. по крайней мере осознано
Такая же проблема происходит и при возвращении из простеньких активити, не имеющих фрагментов.
Аноним 27/12/16 Втр 20:13:21  902129
Котаны, вопрос не столько по конкретной технической реализации, а концептуальный. Вот я услышал что (якобы) эти все мессенджеры используют TCP для связи с бекэндом. Есть какое-то годное чтиво на эту тему? Клиенты поддерживают постоянное соединение - тоесть бекэнд ебется с миллионами действующих подключений? Или там устанавливается соеденение только на время передачи сообщения? И тогда получается что клиент на телефоне должен работать как сервер - принимать подключение от бекэнда когда приходит сообщение. Как постоянно открытое соединение (если такое используют) влияет на батарею - при условии что оно не используется, просто поддержание соединения в ожидании сообщений от бекэнда?
Аноним 27/12/16 Втр 21:03:35  902148
Антуаны, кого рода приложение могут забанить? Хочу написать игру связанную с диктаторами, но боюсь что такое не пропустят, а аккаунт забанят. Игра на мой взгляд не пропагандирует ничего, а лишь "освящает" некоторые интересные аспекты политики этих людей.
Аноним 27/12/16 Втр 21:14:52  902160
>>902148
Подобную парашу не банят: https://play.google.com/store/apps/details?id=com.dextrit.trumpytheplumpy
С чего должны забанить тебя? Делай для стима, если не уверен, туда что угодно пропустят.
Аноним 27/12/16 Втр 21:26:55  902165
>>902160
Цель сделать именно на ведро, рискну все таки. Просто начитался про удаление приложений из за всякой хуеты, а потом еще про баны аккаунтов из за обращений в сапорт, чтобы эти приложение вернули. Складывается впечатление что гуглу вообще похую на людей, которым сервис обязан своей аудиторией.
Аноним 27/12/16 Втр 23:00:22  902220
Хочу сделать в своем приложении список некоей хрени и группы. Типа как в аське с контактами: группа друзей, группа коллег, группа родственников, а внизу - список оставшихся контактов, которые вне группы. Выпадающий список я уже написал. По идее, это будет ListView выпадающих списков, сразу под которыми ListView не попавших в группы. И так, чтобы первый список заполонял экран, а потом, когда долистается, вытягивался второй список. Ну ты понел, анон
Когда я запихнул LinearLayout с двумя списками в ScrollView, стали неадекватно вести себя адаптеры. Убрал ScrollView - стал отображаться только первый список, и тот до середины экрана.

Что мне делать, анон? Что-то вроде CoordinatorLayout осваивать?
Аноним 27/12/16 Втр 23:46:46  902235
>>902129
Кто как, ВКашка до сих пор на лонг полинге живет, другие на сокетах. Можешь телегу глянуть. Ну так себе влияет на батарею, но гугл заставляет всех пользоваться GCM, так что нормально.
Аноним 28/12/16 Срд 00:53:51  902258
На айтеме в списке - OnItemClick, на кнопке - OnClick. Кнопка в айтеме.
Походу щелчек на кнопку передается айтему. Как заблочить?
Аноним 28/12/16 Срд 00:55:01  902259
>>902220
Не до конца понял, что тебе нужно. Из того что понял могу сказать следующее: пили ресайклер в который клади итемы expandableRecycler(загугли это). Заполняй эти expandableRecycler'ы своими контактами. По умолчанию поставь, чтоб первый итем в корневом ресайлере был развернут, а когда до 2ого долистаешь(onBind поидее вызовется, ну или погугли, как определить, какой итем на экране) сворачивай первый и разворачивай 2ой
Аноним 28/12/16 Срд 03:09:05  902286
>>901071
Fresco
Аноним 28/12/16 Срд 03:29:01  902293
>>898047
>двустороннего binding-а на моей памяти еще не появилось
Android Databinding
Аноним 28/12/16 Срд 08:23:43  902348
>>901874
Бамп вопросу.
Опытным путем установил, что такое происходит только при переходах типа Slide и Explode. При переходе Fade все работает как надо. Фрагментов в бэкстэке нет, это тоже проверил.
Аноним 28/12/16 Срд 09:36:35  902371
>>902348
код
Аноним 28/12/16 Срд 10:32:03  902391
>>902371
http://pastebin.com/p2QRXhRk
Получается следующее - после нескольких заходов во вторую активити из первой, по возвращению в первую ловится пикрелейтед. Собственно пустой экран цвета android:windowBackground из темы приложения. Количество возвращений до пустого экрана в среднем от 2 до 5, от чего оно зависит, проследить не смог. При одинаковых условиях оно было разным.
При этом, основная активити таки продолжает работать, проверил onResume() - он выполняется несмотря на пустой экран. Если повернуть девайс или еще как-нибудь перезапустить активити - все отобразиться корректно.
Все запросы в гугле, какие смог придумать, в итоге ничем не помогли. Может, это какая-то проблема отрисовки или типо того, но я уже не знаю, как к ней подступиться.
Мин апи 21, тема приложения наследуется от Theme.AppCompat.Light.DarkActionBar
Аноним 28/12/16 Срд 11:04:36  902423
>>902391
К сожалению мало кода.
Аноним 28/12/16 Срд 11:23:25  902457
>>902423
Первая активити http://pastebin.com/ZR8PpbWi
Вторая активити http://pastebin.com/g4yACq5D
Фрагмент, вложенный в первую активити http://pastebin.com/4qwNGpSt
Аноним 28/12/16 Срд 11:32:05  902466
>>901874
Я ещё не дошёл до этого. Но могу посоветовать попробовать кастомную либу для переходов. Видел статью на медиуме, где описывались кучи багов в Transitions Api
Аноним 28/12/16 Срд 11:32:34  902467
>>902457
Ебаный говнокод. Тебе не стыдно?
А по теме, вангую у тебя батернайф чудит
Аноним 28/12/16 Срд 11:34:18  902468
>>902457
И у фрагментов есть такая штука как setRetainedInstance
Аноним 28/12/16 Срд 12:31:37  902487
>>902466
Нашел только кастомные либы для совместимости с api<15.
Пробовал, кстати, делать через overridePendingTransition, эффект такой же, как и через средства апи 21.

>>902467
>Ебаный говнокод. Тебе не стыдно?
Нет, я не погромист.
>А по теме, вангую у тебя батернайф чудит
Проверил сделанный до перехода на баттернайф коммит, такое же дерьмо.
Аноним 28/12/16 Срд 13:55:17  902523
>>902259
Мне нужно, чтобы половина списка была expandableRecycler, а половина - простые контакты. Я пока слабо знаком с RecyclerView, и не уверен, что можно справиться одним списком

Аноним 28/12/16 Срд 14:04:39  902529
>>902523
Можно справиться одним списком. Я делал свой exandablerecyclerview с двойной вложенностью (группы в группах). Сиди да пихай себе notifyItemRangeInserted, или еще на порядок проще через DiffUtil.
Аноним 28/12/16 Срд 14:15:20  902535
Такой вопрос, у меня есть динамическое количество вьюх, которые могут быть или унаследованны либо от LinearLayout либо от RelativeLayout, я их собираю в ArrayList, а затем перебираю
for(ViewGroup group : listOfViews)

В этом цикле я хочу запихнуть их все в один ViewGroup, который потом в свою очередь запихнуть в Activity, как это лучше всего сделать?
Аноним 28/12/16 Срд 14:45:31  902564
>>902535
Создаешь нужный тебе вьюгруп xml, инциализируешь в активити, затем пихаешь в него свои вьюхи во вьюхе.
Аноним 28/12/16 Срд 14:46:26  902565
14751663472250.png (55Кб, 873x762)
14751663472261.png (56Кб, 775x740)
Доставьте подобного, пожалуйста.
Аноним 28/12/16 Срд 14:51:27  902573
>>902565
>code-style от Google
Пошли они нахуй.
Аноним 28/12/16 Срд 14:52:24  902574
>>902573
А что не так?
Аноним 28/12/16 Срд 14:53:28  902575
>>902565
Весьма скучно такое делать.
Аноним 28/12/16 Срд 14:56:51  902577
>>902574
>m
Вот это не так.
Аноним 28/12/16 Срд 14:57:54  902581
>>902577
Именно.
Аноним 28/12/16 Срд 14:59:13  902585
>>902577
Хотя они возможно исправились
https://google.github.io/styleguide/javaguide.html#s5.2.5-non-constant-field-names
Аноним 28/12/16 Срд 15:02:28  902588
>>902577
А вообще нет.
http://source.android.com/source/code-style.html
Аноним 28/12/16 Срд 15:02:40  902589
>>902577
О, я помню N тредов назад аноны ругались.
Аноним 28/12/16 Срд 15:22:43  902607
Перекат https://2ch.hk/pr/res/902606.html

Перекат https://2ch.hk/pr/res/902606.html

Перекат https://2ch.hk/pr/res/902606.html

Перекат https://2ch.hk/pr/res/902606.html

Перекат https://2ch.hk/pr/res/902606.html
Аноним 28/12/16 Срд 15:54:58  902623
14380795710340.png (393Кб, 650x650)
>>902573
>code-style от Google
>Пошли они нахуй.

Ну так пили на Kotlin - что сложного-то?
Аноним 28/12/16 Срд 16:59:21  902658
>>902623
Съеби.
Аноним 28/12/16 Срд 18:58:29  902714
>>902565
Примерно такую приложуху видел на МООС, вроде от едХ, можешь сразу загуглить. АПИ точно то же.
Аноним 28/12/16 Срд 19:08:48  902718
>>902658
Анончик, не агрись - он уже почти год в как вышел и постоянно набирает обороты.

Пора бы уже смириться что знание Kotlin является плюсом на собеседованиях.
Аноним 30/12/16 Птн 14:10:45  903580
>>902718
Знание плюсов на собесе плюсом является, а котлина - минусом скорее
Аноним 31/12/16 Суб 11:44:41  904052
>>903580
Почему котлин минус? Если что то я к нему сам с подозрение отношусь.
Аноним 01/01/17 Вск 01:11:35  904265
>>904052
ну типа нахуй он кому нужен, синтаксический сахар над жабой + медленный билд - все, что он способен дать
Аноним 03/01/17 Втр 05:30:23  904953
Сап, аноны. Прочитал первую главу книги Шилдта (полное руководство) и решил вкатиться в андроид. Чекнул вакансии на hh и чет приохуел. 194 вакансии в дс2, часть из которых это шарпеи с ксамарином, а другая часть ебанные курьеры, которым пишут в требованиях андроид смартфон для gps. Реально ли вообще вкатиться во всю эту шнягу совсем без опыта в разработке офк перед этим написав приложеньку и выложить ее в гугл плей?
Аноним 12/01/17 Чтв 08:42:48  910288
>>904953
нет, процентов 90 вакансий - на мидлов и сеньоров
Аноним 13/01/17 Птн 12:39:38  911189
В связи с некорректной работой loader-ов внутри не-retain фрагментов при повороте (они, сука, персоздаются, гляди), решил подумать в сторону сохранения презентеров в сервисе. Насколько это ебнутая затея? Главное условие - презентер должен жить когда View претерпевает изменения конфигурации, уходит в бэкграунд и пр. пр.
Аноним 13/01/17 Птн 12:47:44  911192
>>904953
И глядя с текущей "высоты" вниз, на свой путь, настоятельно рекомендую сначала досконально изучить java core курс (Эккеля хватит с некоторыми небольшими урывками типа concurrency, references, jmm) дабы подходя в ведру заниматься не дрочем жабы, а непосредственно ведром
Аноним 13/01/17 Птн 15:34:46  911271
>>911189
> (они, сука, персоздаются, гляди)
Они так и должны работать.
Аноним 13/01/17 Птн 15:36:00  911272
>>911192
Не понимаю. Я вообще код писать не умел, когда начинал писать под андроид, но всё легко изучил. Можно делать так, как хочется, правильного варианта нет.
Аноним 13/01/17 Птн 16:58:21  911309
>>911271
Они должны переживать смену конфигурации (см доки)
Аноним 13/01/17 Птн 16:58:46  911310
>>911272
Что-нибудь сложнее простой клиент-серверки в жизни хоть раз на андроид написал ?
Аноним 13/01/17 Птн 20:12:26  911457
>>911310
Писал. И при чём тут это?
Аноним 13/01/17 Птн 22:16:39  911540
>>911309
Они переживают, сами лодеры. А вот таски к ним привязанные — перезапускаются. Это норма.
Аноним 14/01/17 Суб 14:06:46  911965
А может кто-то расписать, как организовывать работу с кэшированием, например, новостей, когда идет проверка по timeStamp-у наличия новых итемов ? То есть как, например, лимитировать количество записей в базе до определенного объема кэша, как правильнее организовать подгрузку только лишь нужных итемов, вымещение новыми старых из базы ? А то сделать нужно, да и хотелось бы, но вот прикинув так в уме количество аспектов, понял, что грабли выебут мой лоб, если не последует помощи со стороны
Аноним 15/01/17 Вск 09:06:26  912482
>>911965
>>911540
Зачем вы пишите в старый тред?
Аноним 25/01/17 Срд 23:48:54  919557
>>912482
В прикрепленном ньюфаг-треде ссылка именно на этот тред стоит, наверное поэтому.

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

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