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

Этого треда уже нет.
Это копия, сохраненная 30 января 2017 года.

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

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

104 Кб, 800x726

Android Development Thread 2.0.4 01 Дек, 21:15 #885914 В конец треда | Веб

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

Ответы885996886422888768888830890090893326896840897262901381

01 Дек, 21:26 #2 #885919

Как у андроида с фрилансом и удаленкой?

Ответы885945

01 Дек, 21:52 #3 #885934

Скажите must read книги.
Есть же явно какая-то литература.

Ответы885945

57 Кб, 460x604

01 Дек, 22:22 #4 #885945

>>885919
Индусы и студенты, тысячи их.
>>885934
Пик.

01 Дек, 23:15 #5 #885996

>>885914 (OP)
Мусорные вёдра, скажите, планируется ли поддержда джавы 8 в андроиде, и когда?

Ответы886008886024

01 Дек, 23:44 #6 #886008

>>885996
чего тебе не хватает?

02 Дек, 00:25 #7 #886024

>>885996
В 24-ом ведре завезли уже, раньше только ретролямбда/jack.

Ответы886031

02 Дек, 00:36 #8 #886031

>>886024
> В 24-ом ведре завезли уже, раньше только ретролямбда/jack.
На уровне виртуальной машины новые инструкции? Тогда хорошо, через 5 лет может будет пользоваться.
Впрочем, я о подобном не слышал. Так что только retrolambda остаётся. А джек, когда я им пользовался в последний раз, был вообще неюзабелен, не знаю точно, как сейчас.

30 Кб, 367x750

02 Дек, 02:27 #9 #886053

Андреи, такой вопрос. Почему при изменении базы данных при повторной компиляции нихуя не меняется. Помогает только удалить/установить приложение.

Ответы886055

02 Дек, 02:31 #10 #886055

>>886053
стандартная? в onUpgrade версию поднимал?

Ответы886057

146 Кб, 1080x1349

02 Дек, 02:42 #11 #886057

>>886055
да SQLite

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

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

Ответы886065886130886383

150 Кб, 1310x506

02 Дек, 03:18 #12 #886065

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

Ответы886180

02 Дек, 08:39 #13 #886130

>>886057
нужно базу с сервера потомучто грузить, как нормальные люди

Ответы886265886383

02 Дек, 10:46 #14 #886179

Сап, ананасы, долго и тщательно копал интернеты на тему того, как сделать dual-pane без костылей только на фрагментах (да-да, master/detail flow в оф гайдах считаю мерзким), сделал свой велосипед. Можете посоветовать, как бы обойти постоянные executePendingTransactions() ?
https://gitlab.com/i.komarov/multipane-fragmentmanager/tree/master

Ответы886187886247886268

02 Дек, 10:47 #15 #886180

>>886065
а смерджить ?)

02 Дек, 11:03 #16 #886187

>>886179
Да, сейчас сделаю простенький sample, пока что не уверен работает ли там сохранение состояния правильно, или нет. (состояния отдельных фрагментов соответственно)

02 Дек, 12:48 #17 #886247

>>886179
UPD: не работает, ибо я накосячил, сейчас допиливаю, отпишу когда запашет :) Если у кого есть желание помочь - буду рад.

02 Дек, 13:26 #18 #886265

>>886130
>грузить с сервера
И че при апдейте делать? Выкинуть пользователя из приложения и синкать все?

Ответы886267

02 Дек, 13:29 #19 #886267

>>886265
Нет жеж, диалог и мерджить

02 Дек, 13:31 #20 #886268

>>886179
Да, полностью рабочая версия готова, два дня, огромное тепловыделение сами-знаете-откуда, низкая производительность, но оно работает, и аналогов нет!
Если кто-то поможет прооптимизировать - буду очень признателен. Если найдете баги - тоже прошу написать :)

124 Кб, 865x1080

02 Дек, 16:19 #21 #886383

>>886130>>886057

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

https://codepaste.net/gaa5pp

Ответы886405

02 Дек, 16:51 #22 #886405

>>886383
Всё хуйня, переделывай.
Зачем ты хранишь SQLiteDatabase в хелпере? Зачем у тебя там методы чтения записи. Читай документацию, как с бд работают на ведре.

02 Дек, 17:06 #23 #886422

>>885914 (OP)
Аноны, у меня есть CollapsingToolbarLayout и NestedScrollView. Так вот, когда я докручиваю до конца, то нет всего содержимого, которое должно быть, оно как бы находится под navigation bar'ом, но когда я переворачиваю в ленд скейп (navigation bar становится сбоку, а не снизу), то происходит то же самое. Всё работает нормально если добавить layout_marginBottom="?actionBarSize". Но щас мне пришлость добавить в NestedScrollView TextView, которое надо раскрывать, и когда я вызываю textView.setMaxLines(...) появляется этот самый отступ снизу, как быть? А, ещё при вызове setMaxLines срабатывает OffsetChangedListener у AppBarLayout.

02 Дек, 18:21 #24 #886449

Антуаны суть такова, хочу сохранить проэкт. У меня есть неполный проэкт, как бы превью, хочу выложить его в маркет, а потом дополнить проэкт и выложить его уже в маркет за определенную сумму. Но старый проэкт который бесплатный, я бы тоже хотел обновлять когда и обновляю платный проэкт. Как бы это сделать? В студии нету же save as. По логике я бы его просто сохранил под другим именем. Но нет же, это мне придется создавать новый проэкт и всё переносить туда. Может есть способ полегче?

Ответы886456

sage 02 Дек, 18:35 #25 #886456

>>886449
build flavors

02 Дек, 22:34 #26 #886584

Котаны, где почитать как сделать авторизацию для REST api?
У меня регистрация на сайте через google Oauth2, но понадобилось еще сделать api для мобильного приложения.

Ответы886626886925

sage 02 Дек, 23:37 #27 #886626

>>886584
Google -> firebase Google oauth

Ответы886834

03 Дек, 12:44 #28 #886834

>>886626
Firebase мне не нужна.

03 Дек, 14:50 #29 #886925

>>886584
webview и отлавливай deep link в shouldOverrideUrlLoading WebViewClient-а

03 Дек, 18:21 #30 #887087

Есть программно создаваемые textview. Нужно чтобы удалялся вью "смахиванием". Гуглю уже тучу времени, но разобраться не могу. Можно ли сделать полный аналог Оnclick? То есть написать метод, который получал бы на вход вью и при действии "смахивание" выполнил бы удаление? В примерах, которые мне попадались, только что-то вроде "если смахнули вправо, печатаем "вправо", а действий над конкретным вью - нет.

Ответы887195

03 Дек, 21:03 #31 #887195

>>887087
RecyclerView + ItemTouchHelper + onSwiped

Ответы887440

04 Дек, 03:15 #32 #887401

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

04 Дек, 10:25 #33 #887440

>>887195
Спасибо!

336 Кб, 823x720

04 Дек, 10:47 #34 #887442

Как в андроиде реализуется аналог UITableView секции из iOS? Пока что вижу полный отсос андроида в этом плане. Допустим у меня есть куча динамических секций, с разным количеством колонок в каждой, как бы такое реализовали?

Ответы887449

04 Дек, 11:15 #35 #887449

>>887442
Берешь и без задней мысли реализовываешь в скролл вью с инфлейтом своих секций. Есть есть реюзабл ячейки - используешь RecyclerView.

Ответы887454

04 Дек, 11:25 #36 #887454

>>887449
То есть инфлейтить кучу recyclerview в scrollview? Это загнется уже на 3 recyclerview.

Ответы887465887478

04 Дек, 11:42 #37 #887465

>>887454
Либо инфлейты в скроллвью, либо ресайклервью.

04 Дек, 12:06 #38 #887478

>>887454
Дебил? Один ресайклервью и в нем разные секции.

Ответы887499

04 Дек, 12:56 #39 #887499

>>887478
Еще раз, в одной секции 2 колонки, в другой 3, в третьей 4 потом снова 1 итд, как ты в говноиде это запилишь? никак

Ответы887515887734

04 Дек, 13:22 #40 #887515

>>887499
Прочитай про отдельные итем ресайклера может поймешь, ебень.

Ответы887529

50 Кб, 200x195

04 Дек, 13:31 #41 #887529

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

Ответы887561891135

04 Дек, 13:56 #42 #887561

>>887529
Как хорошо что не все iosники такте инвалиды.
Разные итем он не знает как сделать лол.

Ответы887580

04 Дек, 14:07 #43 #887580

>>887561
Я знаю как сделать разные itemType, долбоебушка. Я спрашиваю как ты сделаешь разные СЕКЦИИ одних и тех же айтемов.

Ответы887606887616

04 Дек, 14:24 #44 #887606

>>887580
Укаждого view type своя специальная вьюха, и там рисуй секции-хуекции аллаха.

04 Дек, 14:29 #45 #887616

>>887580
Ios-дебил, тебя в гугле забанили? Вбиваешь sectioned recyclerview, а лучше сразу fast adapter, и смотришь код на гитабе. Ручками реализуется, Вася - списочком, или хэшмапиком, и его анализом. Количество генерируемых вьюх тоже регулируется.
Android - это программирование, а не кодинг (в отличии от ios, и всякой backend-web-параши), там можно и нужно придумывать свои решения

Ответы887740

04 Дек, 15:31 #46 #887734

>>887499
через GridLayoutManager и его SpanSizeLookup

04 Дек, 15:42 #47 #887740

>>887616
Кекнул с дауна, который не знает ничего кроме джавы и андройдапи и говорит, что Андройд - этопогромирование

Ответы887775

04 Дек, 16:51 #48 #887775

>>887740
Дебил, я говорю о сравнении с иос, рубями, питонами.Там никто не напрягается на тему КАК СДЕЛАТЬ ЕБАНЫЙ СПИСОК С СЕКЦИЯМИ.

04 Дек, 20:29 #49 #887947

Когда через glide пихаешь пикчу в imageview он ведь меняет подгоняет её размеры под размеры imageview? Ну то есть, не будет ли это сжирать память, если в маленький imageview пихать большую пикчу? Или может сам imageview это делает?

Ответы888106

04 Дек, 22:18 #50 #888019

Парни, кто-нибудь ловил интересности при сложении/вычитании ебанных чисел формата double/float?При нажатии на кнопку определенную число должно увеличиваться на 0.1. Но оно увеличивается на 0.100...052343 или вроде того.И спустя 5-6 кликов оно увеличится уже не на 0.1, а на 0.2, в связи с этими накоплениями. Несколько часов убил, так и не понял, в чем дело. В итоге организовал всё через костыли. К слову, проект не мой, дали доделать, но код весь прошерстил и ничего особенного не обнаружил.

Ответы888024888161888211

04 Дек, 22:22 #51 #888024

>>888019
0.1 - констаньа. Меняться не может.
Что-то ты делаешь не так.

Ответы888030

04 Дек, 22:26 #52 #888030

>>888024
Окей, распишу подробней. Есть объект, в нем есть поле double. Происходит нажатие на кнопку,я беру значение поля,прибавляю 0.1d и получившееся отображаю на экран

Ответы888038888040

04 Дек, 22:29 #53 #888035

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

Ответы888825888831889713889837

sage 04 Дек, 22:33 #54 #888038

>>888030
Прочитай уже про представление чисел с плавающей запятой в компьютере.

Ответы888051

sage 04 Дек, 22:36 #55 #888040

>>888030
Или съеби в js-тред.

04 Дек, 22:51 #56 #888051

>>888038
С плавающей точкой, умник.Почему при компиляции в одном проекте 0.2 + 0.1 = 0.3, а в другом 0.2 + 0.1 = 0.300...03453?Где тут это замешано?

Ответы888054

sage 04 Дек, 23:00 #57 #888054

>>888051
Потому, что мать твоя шлюха.

05 Дек, 00:10 #58 #888106

>>887947
ImageView сама сжимает/режет, но битмапка будет загружена вся. Если ты сам не скейланешь.

05 Дек, 02:00 #59 #888161

>>888019
Покажи сорец. Не может быть таких сильных отклонений в простом коде.

Если тебе нужны значения без ошибок округления, то используй java.math.BigDecimal

05 Дек, 06:12 #60 #888211

>>888019
Твоя проблема тут
>число должно увеличиваться на 0.1
Запомни, юный небесный странник, нецелочисленная арифметика крайне неточна, при каждой подобной операции происходит накопление ошибок, посему нельзя использовать результат подобного присваивания для последующих операций, погрешность нужно регулярно сбрасывать, разрывая такие замкнутые круги по переменным, как у тебя.
Тащемто это широкоизвестный прием работы с такой арифметикой.

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

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

05 Дек, 12:00 #61 #888293

Господа, а есть ли standalone UI пререндер, cpu/gpu/memory мониторы? Студия конечно хорошо и тд. Но мне она надоела, вот нахуя она качает к каждому проекту gradle, когда у меня он стоит в системе? Посему хочу ради эксперимента попробовать поработать не в студии, а в каком нибудь саблайме.

Ответы888306888367888390

05 Дек, 12:26 #62 #888306

>>888293
Бери vim, для него плагин есть

05 Дек, 13:27 #63 #888367

>>888293
> вот нахуя она качает к каждому проекту gradle
Так там кэширование есть библиотек и самого gradle

>Посему хочу ради эксперимента попробовать поработать не в студии, а в каком нибудь саблайме.
Тоже пытаюсь ради прикола работать в Atom.
Поставил плагин на gradle build + подсветка синтаксиса kotlin - работать можно, но сложно без авто ипортов

Ответы888390

05 Дек, 14:10 #64 #888390

>>888367
>>888293
А что эклипс не попробуете? Охуенная тема жи.

Ответы888430888439

05 Дек, 14:52 #65 #888430

>>888390
>Охуенная
На любителя, тем более он будет всю хуйню делать.

05 Дек, 15:07 #66 #888439

>>888390
>А что эклипс не попробуете? Охуенная тема жи.
На эклипсе ADT сидел пару лет до появления Android Studio.
С каждым релизом он становился тяжелее и глючнее, точно на него не вернусь.

Вообще чистой IDEA CE хватает за глаза, Atom так побаловаться пока не завезут автокомлит Kotlin.

05 Дек, 22:07 #67 #888768

>>885914 (OP)
Аноны, нахуй нужен JobScheduler? Правильно ли я понял, что это замена BroadcastReceiver, которые регаются в манифесте на системные интенты и потом стартуют сервис?

05 Дек, 23:54 #68 #888825

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

06 Дек, 00:00 #69 #888830

>>885914 (OP)
>И хотя бы оно готовое приложение.
А какого уровня приложение надо что бы ватиться? Парсер картинок? Работа с крупным Апи?

Ответы889060889067

06 Дек, 00:02 #70 #888831

>>888035
Они выкатили новый мап кит? Или там до сих пор он со времен андроид 2?

Ответы889178

06 Дек, 05:26 #71 #888917

Господа, кто юзал BackupAgent? У меня надо после автобекапа тереть токен, и пару таблиц в БД. В какой момент вообще вызываются методы бэкап агента относительно аппликейшена (до/после onCreate)?
Или вы вообще все вырубаете автобекап в манифесте?

Ответы888984

06 Дек, 09:43 #72 #888984

>>888917
Отключи бекап токена и бд, чё ты как не это. С другой стороны тебе тогда нечего бекапить, так что смело отключайте все.

Ответы889029

06 Дек, 11:03 #73 #889029

>>888984
В том то и дело. У меня надо бекапить несколько табличек бд, но в то же время стоит тереть другие таблички, где внешние ключи висят на первых (т.е., вынести в отдельную базку - неочень вариант).

Ответы889041

06 Дек, 11:22 #74 #889041

>>889029
Он только файлы и папки умеет бекапить, так что отдельные таблицы - не вариант.

06 Дек, 12:13 #75 #889060

>>888830
бамп вопросу

06 Дек, 12:21 #76 #889067

>>888830
Клиент для какого-нибудь REST API. Например, приложение которое предлагается сделать в курсе на юдасити.

Ответы889113889252

06 Дек, 13:14 #77 #889113

>>889067
Ссыль можно?

Ответы889125

sage 06 Дек, 13:30 #78 #889125

>>889113
>Ссыль можно?
Нельзя конечно, вдруг еще напишешь kek и потом работу у меня отберешь kek2.

И даже не пытайся гуглить.

Ответы889143

06 Дек, 13:54 #79 #889143

>>889125
Я про урок с рестом.

06 Дек, 14:47 #80 #889178

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

06 Дек, 17:13 #81 #889252

>>889067
Popular Movies?

06 Дек, 20:58 #82 #889420

Анон, доставьте проектов, с которыми возьмут на джуна.

И вообще, как вкатиться? Среди 10 вакансий только 1 не сениор а миддл.
Без 1+ года вообще нахуй никому не нужен.

06 Дек, 23:10 #83 #889528

Посоны, трудно вкатиться на upwork имея полгода опыта за плечами?Умею в английский,фрагменты,еблю с RecyclerView,карты,REST API... и так далее и тому подобное.Или же толпы индусов не оставят шанса?

Ответы889848

07 Дек, 00:05 #84 #889553

Как научиться делать игры для андроид? Заканчиваю девятый класс, хорошо знаю c++ и немного java. Собираюсь после окончания стать работать фрилансером.

Ответы889557889570

07 Дек, 00:07 #85 #889557

>>889553
Я наверн обдвачевался, потому что не могу поверить, что ты не зеленый.

07 Дек, 00:26 #86 #889570

>>889553
>для андроид
>хорошо знаю c++
>стать работать фрилансером

07 Дек, 10:35 #87 #889713

>>888035
мапбокс смотрел?

Ответы890141

22 Кб, 346x76

07 Дек, 14:10 #88 #889815

Андроны, есть проэкт с более 20-тью активи, хотел запилить разные версии с рекламой и без. Создал в проэкте две папки free, paid, прописал в градле флэворы. И начал переносить свой проэкт из мэина, путем копи паста в папку paid , и что я блять вижу, пакеты не находит, импортированные библиотеки тоже. Ебанная R ни один элемент не видит. Это блять надо 20 с хуем активити править ебанные названия пакетов, добавлять приставку .paid, .free. нахуй оно надо? Почему всё так хуево сделано?

Ответы889824889833889835

sage 07 Дек, 14:30 #89 #889824

>>889815
Butterknife

Ответы889847

07 Дек, 14:42 #90 #889833

>>889815
Запили уже себе хелпер класс с методом, который делает findViewById с приведением к дженерик типу.

Ответы889847

07 Дек, 14:46 #91 #889835

>>889815
find all and replace in dir юзни

Ответы889847

07 Дек, 14:47 #92 #889837

>>888035
google, ибо все наши проекты любезные ios-ники переводят на еблугл. Течет как сучка при виде меня (нет), дырявая что пиздец, оперативы жрет туевы хучи. Не используй никогда, анон, умоляю тебя

192 Кб, 933x1396

07 Дек, 15:04 #93 #889847

>>889824
>>889833
>>889835
Спасибо Ананасы, сейчас буду разбирать. И еще манифест должен быть в каждой папке, разной версии программы ? Я вот перенес с папки main всё в папку paid, и в free. Но при компиляции, выдает ошибку что нету манифеста в папке Main. Нахуя оно вообще туда лезет если в build variant я выбираю Paid ?

07 Дек, 15:06 #94 #889848

>>889528
Учитывая то, что ты сказал "Умею в фрагменты" - тебе бы выкатиться, а не вкатиться

Ответы889852

sage 07 Дек, 15:07 #95 #889852

>>889848
Даун?

Ответы890005

07 Дек, 16:40 #96 #889939

Как вылавливать ошибки в датабайндинге? В ошибках пишет только что пакет/символ не найден и если одна ошибка то все классы сгенерированные будут не найдены. Из предупреждений только просьба использовать метод референс, заменить "." на ":".

Ответы889950

07 Дек, 16:55 #97 #889950

>>889939
А зачем тебе датабиндинг?

Ответы889970889972

07 Дек, 17:16 #98 #889970

>>889950
Удобно, нет разрывающих пукан findViewById и необходимости хранить во фрагменте какую-нибудь хуйню типа адаптера доя ресайклера, просто setAdapter и все ну и тд.

Ответы889979890002

07 Дек, 17:18 #99 #889972

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

sage 07 Дек, 17:28 #100 #889979

>>889970
Вот и ебись теперь с отладкой и тестированием, раз так удобно.

07 Дек, 18:04 #101 #889999

Хм, такой вопрос, если использовать RxBinding, то в каком слое MVP ( ну понятное дело в данном случае View или Presenter ) и в каком виде нужно содержать Observer-ы. Тут в принципе понятно, что нужно как-то содержать их в презентере, но не мутить же овер дохуя анонимок, али мутить ?

Ответы890009

07 Дек, 18:06 #102 #890002

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

Ответы890040890060

07 Дек, 18:07 #103 #890005

>>889852
Ну типа нет, давай объясню так, чтобы ты понял: приходит человек на работу программистов и говорит о своих навыках: "Ну я печатать быстро умею, еще могу вам пинг-понг-бонг на жабе написать". Как думаешь, что скажут ? То, что человек знает азы и так понятно, если он работать идет

07 Дек, 18:10 #104 #890009

>>889999
>но не мутить же овер дохуя анонимок, али мутить ?
Юзай лямбды

Ответы890080

07 Дек, 18:43 #105 #890040

>>890002
>reflection
Нет спасибо.

sage 07 Дек, 19:17 #106 #890060

>>890002
> который может все
SRP? Не, не слышали.

Ответы890079

07 Дек, 19:59 #107 #890079

>>890060
Ой, смотрите, любитель бойлерплейта нашелся. Адаптер более чем соответствует SRP, он выполняет четко поставленную задачу. То, что он поддерживает доп фичи - уже дело разработчика, то, что он универсальный - тоже вопрос любви к бойлерплейту

07 Дек, 20:00 #108 #890080

>>890009
Ну ты монстр ответов, однако, вопрос был в другом. Но по факту я предполагаю что нужно что-нибудь с комбинацией Observable делать, ибо их уже 6 штук и это только первый день я посидел над проектом и это без сети и прочего, only view

Ответы890087

07 Дек, 20:19 #109 #890087

>>890080
Нахуй ты вьюхи через Observable делаешь? Ты что, ебанутый?

Ответы890100

07 Дек, 20:33 #110 #890090

>>885914 (OP)
где хранится фоновая картинка экрана блокировки андроида 5.0?
я до сих пор не могу найти

Ответы890143

07 Дек, 20:54 #111 #890100

>>890087
некоторые эвенты лучше обрабатывать именно так - это во-первых. Во-вторых, увидел такой подход у кое-каких ребят, стало интересно попробовать

Ответы890142

07 Дек, 21:05 #112 #890107

Аноны, в требованиях говорится
Понимание основных принципов программирования на Android

что имеется ввиду?
только вкатываюсь, вакансия стажера.

Ответы890109

07 Дек, 21:14 #113 #890109

>>890107
увидел в шапке, спасибо.

07 Дек, 22:09 #114 #890141

>>889713
Нет.
Выглядит вкусно, а как там с кастомизацией балунов?

07 Дек, 22:10 #115 #890142

>>890100
В том-то и дело, что только некоторые.
Ну ок, дрочи на Артемку, если хочется.

sage 07 Дек, 22:11 #116 #890143

>>890090
Возможно она хранится в пизде твоей мамаши шлюхи

Ответы892772

07 Дек, 23:44 #117 #890194

Блять, почему мой сервис киллится и не рестартится? START_STICKY и ACTION_BOOT_COMPLETED прописаны. Редми 3 если что.

Ответы890718890981

08 Дек, 21:05 #118 #890718

>>890194
> МИУИОПТИМИЗАЦИИ

Ответы892051

09 Дек, 08:34 #119 #890981

>>890194
Тестируй на nexus 5.

Ответы892051

09 Дек, 12:04 #120 #891040

Переписывал недавно старый проект, задался вопросом.
В проекте однотипные поля, но их количество и тип всегда разный.
На сраный экран с 4 et в til, ушло около 200 строк, с учетом валидаций, отображения ошибок сохранения состояний при пересоздании и тд.
Офк мвп\мввм и подобное не предлагать, там локики кот наплакал, и количество кода оно не уменьшит, так вот к чему я, задался вопросом, какого хуя?
Юзал bk, d2, support, ip. Соответственно, выходит либо пишешь на нативе + либы, либо пилишь собственный фреймворк. Но это всегда по боку выходит, кто-нибудь уже задумывался об этом?

09 Дек, 13:25 #121 #891070

Ребят, а какая сейчас версия минимальна для теста, 4.0 или уже выше?

Ответы891072

09 Дек, 13:27 #122 #891072

>>891070
Для какого теста?

Ответы891078

09 Дек, 13:31 #123 #891078

>>891072
Просто прилажухи на андройде.

15 Кб, 1120x268

12 Кб, 1129x233

15 Кб, 1130x438

9 Кб, 1133x262

09 Дек, 14:02 #124 #891094

Нужен человек который сможет завтра в 12-13 мск помочь с тестом по классам джава и немного андроид студии
telegram: @ozzmo
Насчет оплаты договоримся
Примеры заданий прилагаю
Тест рассчитан на 1.5 часа

Ответы891096891097891099

09 Дек, 14:07 #125 #891096

>>891094
А это вообще для студняка или школы?

Ответы891101

09 Дек, 14:08 #126 #891097

>>891094
Щас бы задачки уровня джавараш студентам решать.

sage 09 Дек, 14:10 #127 #891099

>>891094
Пошёл нахуй, говно. Зарепорил.

Ответы891149

09 Дек, 14:12 #128 #891101

>>891096
школы

на скале кто-то пишет тут? 09 Дек, 14:48 #129 #891114

есть?

Ответы891118

09 Дек, 14:51 #130 #891115

Прохожу курс на юдасити и там надо добавлять тесты для приложения, ну я добавил, все проходится нормально. Но обнаружил что если запускаю тесты на своем телефоне с 19 апи то прогоняются 10 тестов, а запускаю на эмуляторе с апи 25, то прогоняются 6 тестов. Откуда эта разница? Почему так? Поясните пожалуйста.

Ответы891326

09 Дек, 14:59 #131 #891118

>>891114
Пробовал немного, сам язык очень няшный, но я как-то не слышал, что под андроид он особо используется. Для градла находил плагин для поддержки скалы, но там официально поддерживаются только 22 и 23 версии апи и build tools соотвественно.

09 Дек, 15:42 #132 #891135

>>887529
iosголовного мозга

09 Дек, 16:21 #133 #891149

>>891099
Имеет право, это тематический тред в.т.ч. для подобной хуйни. Не кипятись, няш, у нас тут свободное общение.

09 Дек, 21:20 #134 #891326

>>891115
Когда ты прогоняешь тесты и какие-то не выполняются, в них пишется почему...

Ответы891712

10 Дек, 14:19 #135 #891645

доктор, у меня вечный gradle:build при создании или загрузке проекта. Что мне делать???

Ответы891700892285

sage 10 Дек, 15:16 #136 #891700

>>891645
Повеситься.

10 Дек, 15:33 #137 #891712

>>891326

Ты не понял. Написано, что успешно пройдены ВСЕ тесты и там и там. Но на моем девайсе их больше почему-то, чем на эмуляторе.

10 Дек, 22:23 #138 #892051

>>890718
>>890981
Таки-да, на HTC Explorer сервис жив после перезагрузки. Буду смотреть дальше.

11 Дек, 02:47 #139 #892172

Такая проблема с RecyclerView - если долго листать вниз, затем начать листать наверх, то айтемы, изображения из которых уже выгрузились из кэша, начинают резко "выскакивать" сверху, вместо плавной прокрутки. Это возможно как-то пофиксить?

Ответы892230

11 Дек, 08:42 #140 #892220

Делаю апкшник в AS - приложение весит чуть меньше, чем то, которое заливается при отладке.

Это норма?

Ответы892264892291

11 Дек, 09:14 #141 #892230

>>892172
Это такая фича у говноида, сам столкнулся недавно

11 Дек, 10:25 #142 #892264

>>892220
Да.

11 Дек, 11:26 #143 #892285

>>891645
бамп

Ответы892294

11 Дек, 11:39 #144 #892291

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

Ответы892297892321

11 Дек, 11:40 #145 #892294

>>892285
Сбили из консольки с verbose или профайлинном.

11 Дек, 11:47 #146 #892297

>>892291
>прогварда
Что это и для чего?

Ответы892413

11 Дек, 12:32 #147 #892321

>>892291
Он по умолчанию выключен, и судя по его вопросу он его не включал.
Релизная конфигурация же не содержит отладочных данных, поэтому она всегда немного меньше.

11 Дек, 13:23 #148 #892345

Что вообще можете сказать по поводу совместимости с разными устройствами?

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

Ответы892422

11 Дек, 14:30 #149 #892413

>>892297
https://developer.android.com/studio/build/shrink-code.html

11 Дек, 14:37 #150 #892422

>>892345
Проверять на разных устройствах. Google Test Lab. Встроить какую-нибудь аналитику и трекать действия.

android scala 11 Дек, 18:06 #151 #892549

блять, не могу никак создать проект на скала через IDE. Вроде как Android Studio не работает, а через Intellij я не могу. Есть какой-нибудь блять гайд, что бы это все запилить?

Ответы892556892579

11 Дек, 18:18 #152 #892556

>>892549
Зачем тебе скала, когда есть котлин?

Ответы892600892633

11 Дек, 18:43 #153 #892579

>>892549
> а через Intellij я не могу
Другие Я к примеру значит могут, а ты какой-то особенный?
Что ты там не можешь?

Ответы892709

11 Дек, 19:09 #154 #892600

>>892556
Вопрос уровня: "Зачем android, когда есть iOS?"

11 Дек, 20:05 #155 #892633

>>892556
Зачем котлин, когда есть скала?

Ответы892755

11 Дек, 22:30 #156 #892709

>>892579
кинь ссылку на гайд что ли..
Вот скачал я IntelliJ дальше что?

Ответы892931

11 Дек, 23:33 #157 #892755

>>892633
Зачем скала, когда есть Хаселль?

11 Дек, 23:57 #158 #892772

>>890143
ну и говно же вы

12 Дек, 00:02 #159 #892773

кто скажет мне где хранится эта ёбаная картинка в ётафоне2 с 134 прошивкой скину 100р

12 Дек, 00:06 #160 #892776

апну для трипла

12 Дек, 00:06 #161 #892777

если не скажете где картинка никому из вас не повезет. сила трипла

Ответы892795

12 Дек, 00:56 #162 #892795

>>892777
/sdcard/jёpa/huy

Ответы892801

12 Дек, 01:07 #163 #892801

>>892795
жаль тебя

12 Дек, 01:26 #164 #892810

блять пиздец неужели никто из вас не может просто подсказать? кроме этого козла, который меня постоянно посылает?
я весь бекап twrp прошерстил уже.

Ответы892868

12 Дек, 08:15 #165 #892868

>>892810
вопрос то какой?

Ответы892869

12 Дек, 08:16 #166 #892869

>>892868
картинка блокировки экрана? Спроси на xda - тут тебе не помогут с этим точно. Ну или на 4pda. тут мамкины программисты сидят, они телефон то прошить не могут

Ответы892881892895892933

12 Дек, 09:29 #167 #892881

>>892869
> они телефон то прошить не могут
А ты можешь? Блин, круто...

12 Дек, 10:09 #168 #892895

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

Ответы898180898193

12 Дек, 12:07 #169 #892931

>>892709
>кинь ссылку на гайд что ли.
Ты нормальный? Какой тебе еще гайд нужен?

Запустил -> Create New Project -> Android -> начал говнокодить
Там все +- тоже самое что и в AS

74 Кб, 405x350

sage 12 Дек, 12:09 #170 #892933

>>892869
Сук блять съеби уже в /mobi/, весь тред засрал я тебя репортить буду

12 Дек, 17:38 #171 #893120

Как можно сконвертировать динамичную XML в HashMap? Перепробовал кучу либ, но у них почему то примеры заточены под конкретные классы, я понятия не имею какие у меня поля будут, мне нужно вне зависимости от них упаковать их в Map. В данный момент остановился на xStream, но он тоже отказывается паковать мои xml.

Ответы893170

12 Дек, 18:32 #172 #893170

>>893120
http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php#map

Ответы893176

12 Дек, 18:42 #173 #893176

>>893170
Я читал это сегодня, там хардкод. Я например не знаю какой у меня будет root, а в примере его тупо затачивают под конкретный xml. C другим root парсер падает с эксепшном.

Ответы893184

12 Дек, 19:07 #174 #893184

>>893176
Что за хуйню ты парсишь? Раз такое дело, парси ручками: https://www.tutorialspoint.com/java_xml/java_dom_parse_document.htm

Ответы893221893225

12 Дек, 20:29 #175 #893221

>>893184
Делаю сериализатор XML для httpclientа. Бля с json все охуенно, вне зависимости от того что прийдет от серва, он отлично парсится в HashMap, а тут пиздец, уже вторые сутки с этим ебучим XML ебусь.

12 Дек, 20:34 #176 #893225

>>893184
>Что за хуйню ты парсишь?
А как бы ты сделал? Для каждого ответа от серва клепал бы класс-приемник?

Ответы893245893246893285

12 Дек, 21:13 #177 #893245

>>893225
Да

Ответы893255893259

12 Дек, 21:14 #178 #893246

>>893225
Ну так и делают ващет.

Ответы893255893259

12 Дек, 21:31 #179 #893255

>>893245
>>893246
То есть что, универсальный способ как с json не получится сделать?

Ответы893266

12 Дек, 21:35 #180 #893259

>>893245
>>893246
Можно какой-нибудь бест практисес пример? Просто я в дальнейшем хочу свой httpclient засунуть в отдельный package и использовать его в других проектах, у меня есть на данный момент клиент использующий okhttp. Я при создании запроса задаю сериализатор, который будет использоваться для парсинга ответа сервера, JSONSerializer и XMLSerializer, получается что если для XML нужно пилить объекты приемники, я не могу его унифицировать. Бля это пиздец какой-то.

Ответы893266

12 Дек, 21:51 #181 #893266

>>893255
Почему не получится, получится, только ты определись тебе Map<String, String> или что-то по сложней.
>>893259
POJO будут писаться в конкретном приложении и под него будут парсится данные, это норма. Никто в здравом уме не будет таскать с собой по приложению какой-нибудь JSONObject или JSONArray.

Ответы893280

12 Дек, 22:26 #182 #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 Дек, 22:26 #182 #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, это немного поломает общую схему?

Показать весь текст
Ответы893295

12 Дек, 22:43 #183 #893285

>>893225
> Для каждого ответа от серва клепал бы класс-приемник?
Интернет полон сайтов генероторов Java из JSON/XML

12 Дек, 23:05 #184 #893295

>>893280
Не поломает, а сделает лучше, сейчас клиенту прийдется разгребать всякое говно с Object, что же там такое интересное лежит. А так указываешь маппер при вызове, или вешаешь на целый класс маппер, короче нахуй ты придумываешь велосипед?

Ответы893298

12 Дек, 23:08 #185 #893297

Что за хуйню вы здесь обсуждаете?
Retrofit c GSON или SimpleXML адаптером используйте, а не изобретайте велосипеды с JSONObject и прочим говном, имбецилы необучаемые, блять

Ответы893302

12 Дек, 23:10 #186 #893298

>>893295
Я пытаюсь найти хорошее решение, просто опыта мало.

12 Дек, 23:16 #187 #893302

>>893297
Молодец, ты умный, хороший.

301 Кб, 811x1137

12 Дек, 23:21 #188 #893304

Привет, андроидо аноны, помогите решить следующую проблему: необходимо сделать вьюшку (не диалог) для выбора необходимой даты (datePicker / calendarView), но чтоб при этом выбирать можно было только из ОГРАНИЧЕННОГО списка дат, а остальные дизейблились. Ну и само собой возможные для выбора подсвечивались одним цветов, а остальные другим. Пересмотрел все, что есть в вышеуказанных datePicker и calendarView , там нужного не нашел, максимум что можно сделать - выбор даты ОТ одной и ДО другой, но это не то. Поискал несколько сторонних либ, там по функционалу тоже самое.
Что подскажите делать в такой ситуации? Наследника от calendarView? Какие методы тогда переопределять? Или может есть библиотека, где такой функционал присутствует? Чтоб для выбора давалось именно ограниченное кол-во дней а остальные нельзя было выбрать.

Ответы893306893307894190

12 Дек, 23:23 #189 #893306

>>893304
Напиши сам.

12 Дек, 23:24 #190 #893307

>>893304
По ходу тебе нужно писать кастомный дейтпикер. Есть сайтец, емнип называется android arsenal или что то в этом роде, там всякие кастомные контролы в свободном доступе, попробуй там поискать.

12 Дек, 23:55 #191 #893326

>>885914 (OP)
Анон, как дела на рынке труда для бездипломных тысячелетних вкатывальщиков? Устал байтики на повозке катать в Си, хочу к вам

13 Дек, 07:33 #192 #893443

Антон умеет в xamarin? Поможет?
Трабла в следующем: приложение должно дергать методы из библиотеки C, она откомпилирована отдельно. Dllimport и все такое.
Собираю, запускаю. При выполнении пишет, мол нету библы, что логично ибо в apk её нет. В проекте то же.
Пока проверял под винной - все работало, либу dll кидал рядом с экзешником а вот под ведром хз.
По каким путям нужно положить этот гребаный .so и куда, что б его увидело? Или как то в проект запихать, чтоб оно само?
Ньюфаг, кодинг - хобби.

Ответы893488893493893512

13 Дек, 08:15 #193 #893454

Господа, подскажите библиотеку с PreferenceCompat, где работает клик на вложенный PrefererenceScreen, и есть материал десигн?
Перепробовал несколько с первых ссылок в гугле, ни на одной не работает.

Ответы893579

13 Дек, 10:06 #194 #893488

>>893443
Бамп его!

Ответы893495

13 Дек, 10:18 #195 #893493

>>893443
Посоны, неужто такой сложный вопрос? Ответьте хот бы это делается силами vs/xamarin или мне самому нужно выходной apk править?

Ответы893495

13 Дек, 10:27 #196 #893495

>>893493
>>893488
Ты из бэ чтоли, что так переживаешь, что тебе аж за 3(!!!!) часа не ответили?
Придет котлиноеб, может ответит, у него есть опыт в этом говне.

13 Дек, 10:52 #197 #893512

>>893443
В папку libs, удивительно. Не ебу где она в ксамариновском проекте, но в обычном джавовском она в корне модуля. Почему бы тебе не погугли подключение наивных библиотек в ксамарине, ты явно не первый.

Ответы893532

13 Дек, 11:38 #198 #893532

>>893512
Это от раздражения, споткнулся на фигне. Пардоньте.
>>893512
В сети вся инфа на случай, если библа компилится из исходников тут же. Или я дурак.

Ответы893542

13 Дек, 11:40 #199 #893535

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

Ответы893542

13 Дек, 11:57 #200 #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:07 #201 #893548

https://developer.xamarin.com/guides/android/advanced_topics/using_native_libraries/ читал, но не вкурилось, видимо плохо пытался.

Спасибо анончики, уже вечером проверю только.
Но если што не так - знайте, я вернусь.

13 Дек, 12:36 #202 #893563

Тут кто-нибудь юзал XStream?

13 Дек, 13:11 #203 #893572

хранить презентер в конфиг персистент компоненте даггера. в активити/вью инжектится презентер, в базовой активити/вью в бандл сохраняется айди на onSaveInstanceState. по этому айди в статический мап слхраняется компонент даггера со всеми нужными зависимостями (презентер этц)

что думаете?

13 Дек, 13:27 #204 #893579

>>893454
Бамп

13 Дек, 14:30 #205 #893593

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

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

Что-то такое просто и интересное. Типа мобильного приложения сайта(уже делал а-ля медуза).

Ответы893601

13 Дек, 14:52 #206 #893601

>>893593
Клиент для двача

Ответы893603

13 Дек, 14:58 #207 #893603

>>893601
а разве его нет?

Ответы893733

13 Дек, 19:36 #208 #893733

>>893603
С таким подходом можно ничего не делать.

13 Дек, 21:54 #209 #893821

Какой BEST WAY узнать имя и фамилию гугловского аккаунта?

Ответы894367894395

339 Кб, 1934x910

13 Дек, 22:26 #210 #893848

Господь, жги!

Ответы893855893868893876894023

13 Дек, 22:42 #211 #893855

>>893848
Проиграл.

13 Дек, 23:01 #212 #893868

>>893848
тут ещё 300 строчек, и как я понимаю, это далеко не конец

Ответы893887

43 Кб, 960x845

13 Дек, 23:21 #213 #893876

>>893848
А у меня норм?

Ответы893885893888

13 Дек, 23:50 #214 #893885

>>893876
Ты уверен что у тебя правильный C?

13 Дек, 23:51 #215 #893887

>>893868
Мне кажется там весь проект такой, если жсон просто в Map перегоняют. Друг доедает говно за сирунами.

21 Кб, 798x400

13 Дек, 23:52 #216 #893888

>>893876
У меня пизже

12 Кб, 770x262

13 Дек, 23:59 #217 #893890

Раз такая пьянка... Только вкатываюсь в ведро, оцените.

Ответы893892893905

14 Дек, 00:02 #218 #893892

>>893890
Зачем тебе JNI?

Ответы893900

14 Дек, 00:08 #219 #893900

>>893892
Для остроты ощущений

14 Дек, 00:15 #220 #893905

>>893890
<- это что? последний раз делал lab2 на плюсах

Ответы893914

14 Дек, 00:19 #221 #893914

>>893905
Функцилональные выебоны.

14 Дек, 02:44 #222 #893985

Хей .дроиды. Шлю уведомление через notificationManager, отсрачиваю отправку Handler postDelayed. Эта ебань работает, но если перекатываюсь на рил девайс, то уведомление не отправляется (надо отправлять от пары часов до суток). Видимо срабатывает какое-то энергосбережение. Куда копать? Просить права(как?) или будить приложение через событие типа будильника(как?). Кто побеждал такое?

Ответы894021

14 Дек, 07:18 #223 #894021

>>893985
> postDelayed на несколько часов
Пиздец.
AlarmManager юзай.

14 Дек, 08:11 #224 #894023

>>893848
Господь должен заставлять таких людей писать юнит тесты.
Но вот чего я не понимаю - что сложного вынести константу? С ними же потом самим проще это говно редактировать?

Ответы894030894079

14 Дек, 08:33 #225 #894030

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

Ответы894041894079

45 Кб, 600x559

14 Дек, 09:15 #226 #894038

Анан, а скажи, есть в android sdk средства для безвозвратного и, желательно, достаточно низкоуровневого удаления файлов (вот прям совсем нахуй, но желательно на жабе)?
И насколько секурно их тереть с помощью file.delete()?
Просто у Ведра еще галлереи всякие и, насколько я понимаю, внутрисистемная БД для связи файлов с этими самыми галереями/плеерами и не хочется (из соображений секурности), чтобы файл заремувил, а линк на него повис где-то в системе.

Ответы894083

14 Дек, 09:37 #227 #894041

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

Ответы894080894084

14 Дек, 11:12 #228 #894079

>>894023
>>894030
Долбоебы просто они, там не только в константу, а в типизированный POJO выносить надо. И все будет норм, и текст явно не хардкодить нужно.

14 Дек, 11:13 #229 #894080

>>894041
Это СТАРТАП не волнуйся.

Ответы894086

14 Дек, 11:15 #230 #894083

>>894038
DocumentProvider, ContentResolver::delete, в зависимости от условий.

Ответы894121

14 Дек, 11:16 #231 #894084

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

14 Дек, 11:17 #232 #894086

>>894080
>СТАРТАП
То есть все тоже самое, только денег не платят.

Ответы894088

14 Дек, 11:19 #233 #894088

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

Ответы894219

14 Дек, 12:20 #234 #894121

>>894083
>>894083
Спасибки, попробую. Чет я подзабыл про них.

14 Дек, 14:14 #235 #894173

Котаны, а как по-максимуму разогнать скорость билда ?

Ответы894177894181894183

14 Дек, 14:20 #236 #894177

>>894173
https://getpocket.com/a/read/922415644

Ответы894181

14 Дек, 14:27 #237 #894181

>>894177
Блядь.
>>894173
https://medium.com/@cesarmcferreira/speeding-up-gradle-builds-619c442113cb#.pfqaswlbt

14 Дек, 14:28 #238 #894183

>>894173
https://zeroturnaround.com/software/jrebel-for-android/

Поюзал на десктопе пока триал не кончился было прикольно

14 Дек, 14:56 #239 #894190

Снова всем привет, я вот этот анон >>893304 .
После трех дней кодинга, поисков и матюков могу точно сказать, что для решения проблемы с календарем вот этот вот вариант https://github.com/prolificinteractive/material-calendarview однозначно самый лучший и удобный. Там при помощи DayViewDecorator можно просто чудеса с календарем творить) Так что для кастомизации календаря очень удобная штука!

14 Дек, 15:34 #240 #894214

Подскажите ньюфагу, как сделать, чтобы если TextView ограничен одной строкой, но текста в нем больше, чем на одну строку, в конце добавлялись три точки?

Ответы894216

14 Дек, 15:42 #241 #894216

>>894214
в xml свойство
android:ellipsize="end"
добавь

Ответы894351

14 Дек, 16:03 #242 #894219

>>894088
Но ведь в ваших стартапах платят 50-100, и это гораздо больше зп учителя

Ответы894241

14 Дек, 16:42 #243 #894241

>>894219
Хз как, у них 800 баксов. А может тем говноделам еще меньше платили.

Ответы894345

14 Дек, 19:13 #244 #894345

>>894241
Да, за такие бабки - достаточно вменяемый код.

14 Дек, 19:25 #245 #894351

>>894216
Премного благодарен.

358 Кб, 1024x683

14 Дек, 20:04 #246 #894367

>>893821
Котобамп вопросу.

Ответы894395

14 Дек, 20:42 #247 #894378

сап, котаны. Тут такая тема, либо я ебанутый, либо рантайм пермишены геолокации теперь закрывают приложение на 6ке. Тестил на самсунге и эмуляторе. Че за говно, раньше же такого не было

Ответы894387

14 Дек, 21:09 #248 #894387

>>894378
У меня все в порядке.

244 Кб, 963x3743

14 Дек, 21:19 #249 #894391

Бля. Это конструктор

Ответы894533

14 Дек, 21:29 #250 #894395

>>894367
>>893821
Делюсь решением!
https://gist.github.com/nightmare00/7b05528de7bdd5874056140678202452

Ответы894402

14 Дек, 21:44 #251 #894402

>>894395
Точнее вот: https://gist.github.com/nightmare00/2e36ef5301d2072967ca4605bbb80c0b

Ответы894490

15 Дек, 01:32 #252 #894490

>>894402
А GoogleAccountCredential как создать?

15 Дек, 07:10 #253 #894533

>>894391
ШТОЭТАБЛЯДЬ

1282 Кб, 249x206

15 Дек, 07:15 #254 #894534

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

Ответы894553

15 Дек, 10:00 #255 #894553

>>894534
Есть.

36 Кб, 1002x440

43 Кб, 987x586

21 Кб, 906x402

15 Дек, 13:21 #256 #894624

Памагити

Ответы894625894639895111

48 Кб, 997x362

15 Дек, 13:24 #257 #894625

>>894624

15 Дек, 13:47 #258 #894639

>>894624
Что за тест?

Ответы894640

15 Дек, 13:48 #259 #894640

>>894639
от самсунговской школы

Ответы894649

15 Дек, 13:59 #260 #894649

>>894640
И нахуй тебе помогать тогда? Ладно бы еще шаражная какая-нибудь, так тебя дауна еще и джуном потом возьмут небось.

Ответы894650

15 Дек, 14:00 #261 #894650

>>894649
Для школьников школа
каким джуном
мне корочка ток нужна

Ответы894684

sage 15 Дек, 15:07 #262 #894684

>>894650
Нахуй пошёл отсюда. Рака всем, кто ему поможет.

15 Дек, 15:27 #263 #894698

Что проще делать: shared element transition между fragment и activity, или между двумя fragment?

sage 16 Дек, 02:40 #264 #895111

>>894624
Свали отсюда, школьник, и иди учись.
ещё раз - и репорт

16 Дек, 03:41 #265 #895121

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

Ответы895184

16 Дек, 11:25 #266 #895184

>>895121
billing in app

16 Дек, 14:12 #267 #895262

MyService myService;
public ServiceConnection myConnection = new ServiceConnection() { бла бла };

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

Тогда что такое скобки?

Ответы895266895658

16 Дек, 14:15 #268 #895266

>>895262
Анонимный класс

17 Дек, 00:33 #269 #895658

>>895262
мандада

49 Кб, 1280x630

17 Дек, 05:38 #270 #895747

Аноны, подскажите по такому вопросу. Есть задача разработать приложение которое будет работать в 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);
}

Ответы895803

17 Дек, 11:48 #271 #895803

>>895747
http://www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/

17 Дек, 16:37 #272 #895943

У вас котлин плагин не отвалился после обновления?
> Kotlin threw an uncaught NoClassDefFoundError. Disable Plugin

Version: 1.0.5-release-IJ2016.1-3
Android Studio 2.2.3

Ответы895955896058

17 Дек, 16:57 #273 #895955

>>895943
У меня он уже около месяца так падает, не помню, начиная с какого обновления

17 Дек, 19:46 #274 #896058

>>895943
Сижу на чистой IDEA CE и не бед не знаю c Kotlin 1.1-EAP

61 Кб, 604x602

17 Дек, 21:29 #275 #896138

Ананасы, подскажите полному нубу что не так.

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, но не в эмуляторе ни на ведрофоне он даже запускаться не хочет. Ведь простая же программа с элементами, где обосрался?

61 Кб, 604x602

17 Дек, 21:29 #275 #896138

Ананасы, подскажите полному нубу что не так.

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, но не в эмуляторе ни на ведрофоне он даже запускаться не хочет. Ведь простая же программа с элементами, где обосрался?

Показать весь текст
Ответы896152896278

17 Дек, 21:46 #276 #896152

>>896138
Отбой, запустилось само как-то.

Ответы896167

74 Кб, 1231x500

17 Кб, 415x193

17 Дек, 22:05 #277 #896167

>>896152
Теперь эта напасть? Как переписать onclick, чтобы замена происходила успешно?

Ответы896212896249896427

17 Дек, 23:01 #278 #896212

>>896167
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
textView1.setText("Hi, " + editText1.getText().toString());
}
});

Ответы896248

17 Дек, 23:44 #279 #896248

>>896212
это же xamarin

Ответы896257

17 Дек, 23:45 #280 #896249

>>896167
кури туториалы
https://developer.xamarin.com/guides/android/getting_started/hello,android/hello,android_quickstart/

18 Дек, 00:00 #281 #896257

>>896248
Значит += onClick, че ты C# не знаешь?

sage 18 Дек, 00:55 #282 #896278

>>896138
> где обосрался?
Выбрал говнофреймворк вместо нативной разработки.

18 Дек, 11:39 #283 #896427

>>896167
1) Что там в логах (исключение какое и стектрейс)?
2) Как ты привязал метод Clicked() к кнопке?

18 Дек, 11:49 #284 #896435

Прощай, жаба!

http://mchav.github.io/frege-on-android/

Ответы896451896452

18 Дек, 12:24 #285 #896448

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

Ответы896452

18 Дек, 12:30 #286 #896451

>>896435
Они там совсем отбитые?

sage 18 Дек, 12:33 #287 #896452

>>896435
Не нужно, ведь есть Clojure и тот же Kotlin с его first-class функциями и лямбдами

>>896448
Тебе сюда >>827944 (OP) и сюда >>892500 (OP)
Тут не подтирают сопли вкатывальщикам

Ответы896475

18 Дек, 13:22 #288 #896475

>>896452
с чего ты взял что я вкатываюсь только?

18 Дек, 18:35 #289 #896659

Что сейчас модно использовать для многопоточки в больших с взрослых проектах? Вроде сейчас в тренде Rx, но он не имеет привязки к жизненному циклу, robospice вроде уже почти не используют, опять же из-за того что все переехали на Rx или по другой причине? Посмотрел небольшую библиотеку Chronos, она умеет и лайвцикл и кэш, у кого-то есть продолжительный опыт использования оной? В общем поделитесь опытом.

Ответы896701897157

18 Дек, 19:29 #290 #896701

>>896659
AsyncTask

Ответы896713

18 Дек, 19:37 #291 #896704

Каковы шансы того что переменная продолжает хранить ссылку на объект даже после выхода из приложения?
Из раза в раз ситуация повторяется. И инициализации не могу найти.

Ответы896715896720897156

18 Дек, 19:51 #292 #896713

>>896701
Я серьезно спросил

18 Дек, 19:52 #293 #896715

>>896704
Попробуй встроенным в AS мемори-профайлером воспользоваться

Ответы896717

18 Дек, 19:56 #294 #896717

>>896715
Вычислил уже. Она живет. Потому что статичная. Щас пошел гуглить как это исправить.

18 Дек, 19:58 #295 #896720

>>896704
Используй LeakCanary и проследи за интересующими тебя объектами.

18 Дек, 23:10 #296 #896840

>>885914 (OP)
Анон, помоги. Есть ли годные ресурсы/литература по бэкенду приложений? В частности, интересует клиент-серверная архитектура и прочее. Сам нашел только гайды а-ля СДЕЛАЙ МЫШКОЙ СЕРВЕР ДЛЯ ВЫВОДА ХЕЛЛОВОРЛД НА СВОЙ ГОВНОСАЙТ или невнятные статьи на хабре типа "Пишем бэкенд, сначала делаем так some code. а потом так some code" и так далее. Подскажи, а?

Ответы896992897154

19 Дек, 12:58 #297 #896992

>>896840
Причем здесь андроид?

Ответы897087

19 Дек, 16:14 #298 #897087

>>896992
Вопрос был о бэкенде мобильных приложений. В частности, под ведро.

Ответы897135

19 Дек, 17:38 #299 #897135

>>897087
Нормальному бекенду похуй на клиента. Гугли RESTfull. И для ведра он такой же как и для гейоси или хуеба.

Ответы897136897153

19 Дек, 17:41 #300 #897136

>>897135
двачую

19 Дек, 18:36 #301 #897153

>>897135
тут уж позволю себе немножко подкорректировать вас: если говорится о мобильном бэке, то идет большой акцент на то, что у мобилы оперативы то да и мощности проца поменьше, чем у компа, и инет может быть послабже, а потому максимум работы должно осуществляться на сервере

Ответы897155897167

19 Дек, 18:37 #302 #897154

>>896840
глянь гайд спринга, например, там примитивненько описано как собственные rest-сервисы создавать, дальше уже будет от чего плясать по крайней мере

19 Дек, 18:37 #303 #897155

>>897153
ну и пуши, конечно же в основном - по части мобильного бэка

Ответы897167

19 Дек, 18:37 #304 #897156

>>896704
в сервисе ?)

19 Дек, 18:38 #305 #897157

>>896659
rx2, свои кастомные concurrency-базированные лесипеды

19 Дек, 19:00 #306 #897167

>>897153
Не работал ни с чем где для мобилы делались послабления. Ничего особо тяжелого и не встречал, но считаю что если может сайт, то может и мобилка, решает кеширование.
>>897155
По пуш делать - раз плюнуть. Не знаю как с apns, но с fcm/gcm добавить токенов юзеру, удалить токен юзеру, а дальше ПРОСТЕЙШИЕ запросы к гуглу отправить json, ничего сверхвыделяющегося там нет.

264 Кб, 558x420

19 Дек, 20:06 #307 #897190

Котаны, кто-нибудь юзал API Google Sheets? (com.google.apis:google-api-services-sheets:v4-rev38-1.22.0)
Есть ли там методы для атомарного обновления значений в ячейках?
Вариант с несколькими запросами - не вариант. Один запрос не пройдет и пиши пропало.

19 Дек, 23:04 #308 #897262

>>885914 (OP)
кто-нибудь, подскажите, пожалуйста, как делать заметки. если у меня их фиксированное количество и все они изначально перед глазами, на фоне картинка.

35 Кб, 610x152

20 Дек, 20:50 #309 #897764

Сап, котаны, ебусь с траблой уже наверное часика три. Суть - есть дохуя жирный rx2-чейн. Но эта сука прерывает эмиттинг итемов где-то. Нашел-таки где (см пик). Схуяли такое может происходить ? все происходит на io.

Ответы897765897818897992

20 Дек, 20:50 #310 #897765

>>897764
Так чтобы стало понятно, в логи попадает только before map...

20 Дек, 21:46 #311 #897818

>>897764
p.p.s. ошибок нигде не кидает, просто пустой эфир

21 Дек, 10:10 #312 #897992

>>897764
Таки нашел ошибку, внутри анонимки в .map шло выкидывание NPE, который по каким-то неведомым мне причинам нихуя не отлавливался нигде. Таки даешь дебаг всего, путем оборачивания в try-catch :D

Ответы898005

sage 21 Дек, 11:32 #313 #898005

>>897992
> :D

21 Дек, 12:53 #314 #898038

Антуаны подскажите годные MVVM + DI фреймворки под разработку на андрюше.
Перекатываюсь с божественного WPF.

Ответы898041898047

21 Дек, 12:56 #315 #898041

>>898038
> mvvm фреимворки
Их полторы и всем похуй на твое mvvm.

Ответы898042

21 Дек, 12:58 #316 #898042

>>898041
Ну хз бро. Наебался я в свое время с подходом "Ебашим все в CodeBehind" и ну его нахуй.

Ответы898141

21 Дек, 13:22 #317 #898047

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

Ответы898049902293

21 Дек, 13:28 #318 #898049

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

Ответы898163

21 Дек, 16:10 #319 #898141

>>898042
Посоветуй материала по связке MVVM + WPF, а то в интернете миллион статей на заре 8.1 где упор идёт на мобилы и WinRT а нормального что почитать и нету.

21 Дек, 16:29 #320 #898163

>>898049
Это не .NET, здесь MVVM бал не правит. Пока попробуешь довести хоть одну клиент-серверку нормальную на MVVM до продакшна - сотню раз возненавидишь себя за такое решение

Ответы898194

21 Дек, 16:40 #321 #898180

>>892895
>>892895
Настоящий андроид девелопер - это не чайник и должен уметь кроме программирования много другое.

Ответы898275

21 Дек, 16:56 #322 #898193

>>892895
Не совсем согласен, иногда программирование на уровне системки может играть важную роль, но, конечно же, ох ебать как иногда

21 Дек, 16:57 #323 #898194

>>898163
Ну да, под нормальной подразумевается конечно же клиент-серверка на 80-100к+ строчек

21 Дек, 18:47 #324 #898275

>>898180
Настоящий андроид девелопер — макакер уровня ЖС треда, дрочащий фреймворки и материал десигн. Реально стоящих вещей мало.

248 Кб, 488x393

21 Дек, 19:40 #325 #898303

Котаны, у меня есть Observable, в которой некий запрос к API.
В случае провала вызывается subscriber.onError(Throwable e).
Как мне наиболее правильно доставить до UI сообщение об ошибке с учетом локализации?

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

да, пикучу обрезал

Ответы898329898349898374898607

21 Дек, 20:02 #326 #898329

>>898303
Про разделение логики и представления слышал?

Ответы898331

21 Дек, 20:04 #327 #898331

>>898329
Отвечай конкретно.
Конечно же слышал.

Ответы898336

sage 21 Дек, 20:11 #328 #898336

>>898331
Ответил тебе за щеку.

Ответы898338

21 Дек, 20:14 #329 #898338

>>898336
Я не удивлен, что ты не знаешь ответа.

21 Дек, 20:26 #330 #898349

>>898303
Вариант с несколькими классами исключений выглядит самый правильный.
Далее через instanceof определяешь какая ошибка произошла и подгружаешь сообщение откуда захочется.

Ответы898377

9 Кб, 100x100

21 Дек, 20:48 #331 #898374

>>898303
>Как мне наиболее правильно доставить до UI сообщение об ошибке с учетом локализации?
"Все есть объект"
Ты должен инкапсулировать всю логику преобразования ошибки в UI сообщение в отдельном объекте.

Если лень создавать кучу классов Throwable, можешь юзать один под каждый тип ошибок и параметризовать его enum'ами.

Ответы898440

21 Дек, 20:54 #332 #898377

>>898349
> через instanceof определяешь какая ошибка
Блядь, ты троллишь так или серьезно?

21 Дек, 21:04 #333 #898385

Имеет ли смысл в почти что 2017-ом изобретать свою MVP хуйню или стоит взять готовую?
акая MVP либа наиболее адекватна сейчас?

Ответы898445

21 Дек, 21:40 #334 #898412

Есть у меня Model, Presenter и View.
1. Запустил загрузку данных с сайта
2. Перевернул смартфон
3. View уничтожено, асинхронный запрос завершился, а результат негде отображать. Где мне его сохранить, чтобы отобразить как только будет создано View?
В презентере?

Ответы898431898570

21 Дек, 22:26 #335 #898431

>>898412
http://hannesdorfmann.com/mosby/viewstate/

Между презентером и вью должна быть прослойка для таких ситуаций.

Ответы898449898462898598

21 Дек, 22:29 #336 #898440

>>898374
Они все равно затираются и до тебя доходит Throwable, вместо чего-то вменяемого.

Ответы898794

sage 21 Дек, 22:37 #337 #898445

>>898385
Ёбнулся? Какая нахуй либа?

21 Дек, 22:44 #338 #898449

>>898431
У меня на этом сайте вся верстка прыгает, что за имбецил его писал?

Ответы898459

21 Дек, 23:13 #339 #898459

>>898449
Hannes Dorfmann

Ответы898461

21 Дек, 23:25 #340 #898461

>>898459
Если он такое говнище льет себе в бложек то не стоит такого "иксперта" воспринимать всерьез ясчитаю.

21 Дек, 23:28 #341 #898462

>>898431
>Между презентером и вью должна быть прослойка
в mosby это не прослойка, а в moxy - прослойка

Ответы898463

21 Дек, 23:32 #342 #898463

>>898462
В mosby это скрыто при помощи наследования.
По сути да, view и viewstate там в итоге одно и тоже.

22 Дек, 09:21 #343 #898570

>>898412
Я решаю проблему с помощью презентера с кэшем, который переживает смены конфига в лоадере. Как только допилю и оформлю на гит - закину сюда ссылочку. Будет полайтовее популярный фреймворков

Ответы898598

22 Дек, 10:35 #344 #898598

>>898431
>>898570
Господа, имхо, в большинстве случаев это - код ради кода. Почему бы просто не кэшировать сами запросы во время выполнения, а потом сохранять отписываться от них в onPause/подписываться в onResume?

Ответы898782898810

22 Дек, 10:41 #345 #898607

>>898303
Я делаю так:
1) Из модели летит Exception
2) В презентере через instanceof определяю, что за экзепшн.
3) В зависимости от этого, во вью показывается то, или иное сообщение (в снэкбаре/в диалоге/в отдельном сообщении - это решает презентер)

Ответы898811

22 Дек, 14:22 #346 #898782

>>898598
При подписывании поддянется резульиат, который где-то лежит?

Ответы898789

22 Дек, 14:37 #347 #898789

>>898782
Тащемта, речь идет об rx-запросе и методе cache - так что да

22 Дек, 14:43 #348 #898794

>>898440
Ты можешь его выкинуть опять throw e и обработать в любом месте

Ответы898842

22 Дек, 15:09 #349 #898810

>>898598
потому что иногда запросы дорогие, и если идет прерывание в процессе запроса до получения ответа, его придется еще раз делать

22 Дек, 15:10 #350 #898811

>>898607
Отвратительно, делай всю логику исключений в презентере, за исключением редкостей типа ExpiredTokenException/UserUnauthorizedException и тд

Ответы898841

22 Дек, 15:59 #351 #898841

>>898811
Так он там и делает. Прочитай еще раз.

22 Дек, 16:02 #352 #898842

>>898794
Я о том что ты не знаешь нормального типа, он потерялся, прийдется прибегать к instanceof, не красиво (не егорка, не бейте).

22 Дек, 18:09 #353 #898896

Пиздец, как писать идеальный код, чтобы никто не доебался? Ни один учебник этому не учит.

Ответы898901

22 Дек, 18:13 #354 #898901

>>898896
Потому что идеал недостижим, чмонька.

Ответы898906

22 Дек, 18:24 #355 #898906

>>898901
Судя по всему околоидеал тоже. Иначе как объяснить тот факт, что какой бы код не написал, всегда найдется тот кто его отхуесосит.

22 Дек, 21:43 #356 #899059

Пригласили на собеседование (джуном). Одна из топовых фирм города. Пригласила рекрутерша по джунам, думаю они набирают на обучение всяких бомжей типа меня.
К чему быть готовым? Что могут спрашивать? Как все выглядит?
Я просто впервые на собеседование иду, очень волнуюсь, что им рассказывать? Есть говеный курсач с бд и рестом, стоит показывать? Говеный в смысле дизайна, но я думаю за выходные исправить чтобы красиво выглядело. Короче расскажите к чему быть готовым, о чем почитать и мб какие советы будут.

Ответы899069899071899084

sage 22 Дек, 21:50 #357 #899069

>>899059
Заходишь в фирму, тебе кидают полотенце под ноги. Ты должен его перешагнуть, но не наступить. Сразу же громко говоришь "Вечер в хату, мужики!". После этого к тебе должен подойти смотрящий и спросить, кто ты по жизни. Ответь, что простой мужик, рабочий. Если предложат в сесть в тазик, отвечай "я сяду, только если ты мне в хуй дунешь".

Ответы899278

22 Дек, 21:52 #358 #899071

>>899059
Выгляди как няша - стильный, опрятный.
Съешь валерьянки на пару с котом можешь наебнуть, заешь орбитом.

Ответы899278

22 Дек, 22:11 #359 #899084

>>899059
https://www.youtube.com/watch?v=nCpjBDCauhA

Ответы899278

102 Кб, 413x276

22 Дек, 23:27 #360 #899160

Кто-то спер мои радиобаттоны. На скрине должны быть слева от каждого айтема, там щас обводка. Сам ее добавил что бы понять где они сука. Не выводятся бладж тупо. Причем в xml ничо не менял. Взаимодействие между адаптером и фрагментом менял, но блин, для вывода радиобаттонов нихрена же и не надо, только в getView адаптера возвращать layout с гребанным радиобаттоном. И текст-вьюхи работают же у айтема.

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

Мож кто подскажет? Код не выкладываю, ибо там все в говно выводами дебажными перемазано.

Ответы899179

22 Дек, 23:44 #361 #899179

>>899160
Выкладываю.
Методы адаптера:
https://codeshare.io/GqBPx2
XML описание радиокнопки:
https://codeshare.io/aYVL3G

Ответы899335

23 Дек, 02:13 #362 #899278

>>899084
>>899069
>>899071
Благодарю, но я все же хотел узнать за техническую сторону вопроса, о чем обычно с джуном говорят?

Ответы899369

23 Дек, 08:17 #363 #899335

>>899179
в импортах там все в поряде? radio button appCompatv7 импортируешь?

Ответы899341

23 Дек, 09:24 #364 #899341

>>899335
Не, просто RadioButton был. Но замена результатов не принесла

Ответы899440

sage 23 Дек, 11:08 #365 #899369

>>899278
Задачу про два стула могут спросить. Или про море говна. Или про вилку в глаз.

23 Дек, 13:45 #366 #899440

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

Ответы899444

23 Дек, 13:55 #367 #899444

>>899440
Да тож понимаю, только третий день нихуя найти не могу. Как начал пытаться оптимизировать архитектуру, перелопачивая взаимодействие между презентером, фрагментом и адаптером так и вылезло это говно. В чем-то очевидном, но блять мы же даже никак радиобатон не добавлем, если он уже в xml-ине находится.

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

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

Ответы899496

23 Дек, 15:23 #368 #899496

>>899444
>никаких радиобатоннов
Сами уволились вчера?
А если дизайн посмотрят? Не пиши AppCompat<ClassName>, ClassName автоматом на него заменится при компиляции, только если конструктор вызываешь надо компатовский класс писать. Удали все элементы из вьюхи кроме радио. И потом добавляй

Ответы899505

23 Дек, 15:40 #369 #899505

>>899496
Удалил - без изменений. Говорю ж. Не в xml-ине проблема. Ее я не трогал.

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

23 Дек, 15:41 #370 #899506

Господа, стоит ли пилить в резюме проект без Butterknife? Или в 2016 я один пишу ебучие findViewById?

Ответы899517899518899521

23 Дек, 15:59 #371 #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 Дек, 15:59 #372 #899517

>>899506
Я тоже так пишу.

23 Дек, 16:00 #373 #899518

>>899506
> имплаинг Butterknife не делает то же самое.

Ответы899521

23 Дек, 16:13 #374 #899521

>>899506
Я надеюсь, ты запилил себе дженерик обертку <T extends View> T findViewById(view, id) для этого? Иначе тогда да, как даун.
>>899518
Внутри BF еще и рефлекшон в довесок идет.

Ответы899558

23 Дек, 17:14 #375 #899548

Котаны, где теперь брать халявную музыку?
У меня приложение было заточено под VK, но теперь через мобильный API нельзя получить список песен.

Есть ли какие-то похожие халявные базы?

Ответы899962

23 Дек, 17:52 #376 #899558

>>899521
>Внутри BF еще и рефлекшон в довесок идет.
мм, найс истории, продолжай

Ответы899564

23 Дек, 18:09 #377 #899564

>>899558
Дядь, ты когда вызываешь ButterKnife.bind(view, object) он через Class.forName ищет нужный сгенеренный заранее %ObjectClassName%_ViewBinder.

Ответы899569899578

23 Дек, 18:14 #378 #899569

>>899564
прикольно, че ещё расскажешь?

sage 23 Дек, 18:36 #379 #899578

>>899564
Еблан, исходники открой и посмотри. Нет там никакой reflection

Ответы899595

257 Кб, 1316x998

251 Кб, 1372x822

23 Дек, 19:00 #380 #899595

>>899578
Это не рефлексия?

260 Кб, 960x776

23 Дек, 19:02 #381 #899597

Анон, посоветуй чтиво по алгоритмах.

Ответы899960

23 Дек, 19:21 #382 #899609

Как научиться делать игры для андроид? Заканчиваю девятый класс, хорошо знаю c++ и немного java. Собираюсь после окончания стать работать фрилансером.

Ответы899616899620

23 Дек, 19:29 #383 #899616

>>899609
> хорошо знаю c++
А теперь напиши это в плюсо-треде.

23 Дек, 19:31 #384 #899620

>>899609
Где-то я это уже видел...

Ответы899621

23 Дек, 19:32 #385 #899621

>>899620
Я вам говорю, это один и тот же аутист тред бампает.

23 Дек, 23:43 #386 #899773

Гайс. Недавно вкатился в Андроид. Уровень ПРЕДжуниор. Данные храню в обычном SQLite, но недавно услышал, что все опытные погромисты юзают некие сторонние библиотеки или какие-то заменители стандартного SQlite. Поясните. И обязательно хорошо сначала разбираться в основах sqlite прежде чем переходить на некие заменители

Ответы899776899791900564901002

23 Дек, 23:47 #387 #899776

>>899773
Зависит от того что хочешь, большинство ОРМ и библиотек работают все с тем же SQLite, есть Realm, можно тащить с приложением свой бинарник sqlite, но тогда нужно еще кучу кода тянуть, как телеграм.

Ответы899780

23 Дек, 23:52 #388 #899780

>>899776
Но в любом случае надо знать и хорошо разбираться в sqlite, прежде чем переходить на такие штуки?

Ответы899783

23 Дек, 23:55 #389 #899783

>>899780
Желательно, но не обязательно.

24 Дек, 00:12 #390 #899791

>>899773
Надо хорошо знать реляционную модель данных, нормализацию до 3 формы, понимать принципы построения запросов. Дрочить чистый sqlite, уже имея опыт с реляционными субд, не обязательно, можно хоть сразу орм использовать. Главное, просто не быть тупой макакой.

24 Дек, 09:36 #391 #899935

Поставил на visual studio 2015 community edition xamarin, создаю проект и пытаюсь запустить. Мне выдает сообщение There were deployment errors. Continue? Никаких ворнингов и ошибок не выводится. Что делать?

Ответы901074

24 Дек, 11:21 #392 #899960

>>899597
кнута читай, искусство программирования

19 Кб, 200x191

24 Дек, 11:22 #393 #899961

ПИШЕШЬ ТАКОЙ КОД В ANDROID STUDIO
@
РАСКЛАДКА ПЕРЕСТАЛА ПЕРЕКЛЮЧАТЬСЯ С РУССКОГО НА АНГЛИЙСКИЙ
@
invalidate caches/restart

Ответы899964900995

24 Дек, 11:24 #394 #899962

>>899548
у soundcloud вроде апи было

24 Дек, 11:35 #395 #899964

>>899961
Нехуй сидеть на нестальных версиях и вообще юзать АС когда есть IDEA CE

Ответы899968899989

24 Дек, 11:51 #396 #899968

>>899964
Не понял. Что ты говоришь?
Нельзя юзать последнюю версию Android Studio?

24 Дек, 13:01 #397 #899989

>>899964
Кстати, а какой правда смысл использовать студию? Что она представляет такого, чего не может идея с андроид плагином?

Ответы899998

24 Дек, 13:14 #398 #899998

>>899989
Андроид специфик штучки раньше обновятся.

24 Дек, 19:04 #399 #900168

Как сделать очередь запросов на RxJava?
Что-то типа fixedthreadpool с одним потоком.

Ответы900182

24 Дек, 19:12 #400 #900182

>>900168
Schedulers.fromExecutor(Executors.newSingleThreadPool());

Ответы900184

24 Дек, 19:15 #401 #900184

>>900182
Ага. Далее можно используя этот шедулер просто скармливать ему дохуя observable?

24 Дек, 19:48 #402 #900206

Сап, котаны, с вами снова больной на голову студентишка-разраб, который пилит SDK под полностью реактивную поддержку MS Graph API. С последнего поста (пару тредов назад) объем проектика увеличился в несколько раз, количество отработанных запросов теперь в районе 100-120, но это охватило где-то 8-10% графа. Пока что вроде как все идет нормально, но чувствую, что при росте в 10 то раз (до этого такие еба-проджекты не писал) могу обосраться от путаницы. Что посоветуете, чтобы максимально жестко и правильно структурировать и абстрагировать весь этот пиздец ? Есть ли какие-то паттерны проектирования сдк-шек или йоба-либ ?
Заранее спасибки, надеюсь, с вашей помощью отмучаюсь поскорее :)

Ответы900208

24 Дек, 19:53 #403 #900208

>>900206
p.s. Сейчас придерживаюсь создания фабрики апишек с помощью ретрофита и надстройки в виде прокси над ней в виде синглтон-менеджера, который не позволяет говнишко всякое пихать в запросы.
И еще такой вопрос, стоит ли создавать DAO и проксю над локальной БД, в которую можно положить любые данные или же пусть пользователи сами ебстутся ? Пока что только база аккаунтов лежит под покровом прокси-менеджера

24 Дек, 23:36 #404 #900288

Сталкивался кто с проблемой, что если подключить к приложению сервисы гугл плей, то на девайсах с апи 16 при запуске приложения будет предлагать их обновить? Как это можно решить?

Ответы900291900293

24 Дек, 23:47 #405 #900291

>>900288
обновить

24 Дек, 23:48 #406 #900293

>>900288
Это правильное поведение. Ну млжешь проверить не вызывается ли в твоем коде showErrorDialog. Если нет, то значит там в либе зашито так.

25 Дек, 00:54 #407 #900321

Можно ли где-то вклинится в RxCallAdapterFactory retrofit'a, что бы на каждый создаваемый Observable цеплять свой retryWhen?

Ответы900340

263 Кб, 1458x1068

25 Дек, 01:24 #408 #900340

>>900321
Вопрос снят, решение не красивое, но есть.

56 Кб, 650x500

25 Дек, 14:07 #409 #900515

Котаны, посоветуйте ORM с минимальным оверхедом по памяти и производительности. При этом с возможностью подписаться на изменение данных в таблице.

Ответы900516900527900564

25 Дек, 14:10 #410 #900516

>>900515
Ой, не ту пикчу прикрепил :3

25 Дек, 14:49 #411 #900527

>>900515
GreenDAO

25 Дек, 15:43 #412 #900564

>>900515
>>899773
ORM на ведре — это для долбоёбов.
Научитесь уже готовить божественную StorIO.

Ответы900590900611900618

25 Дек, 16:21 #413 #900590

>>900564
Почему же ? GreenDao крайне удобен, например, и по производительности весьма хорош

25 Дек, 16:37 #414 #900611

>>900564
>ORM на ведре — это для долбоёбов.
>Android == Dalvik ~~ JVM
Я тебя дополню: ORM который работает только на ведре - это хреновая орм

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

К сожалению единственная orm которая это позволяла это OrmLite, но она скорее мертва.

Ответы900620900671

298 Кб, 1636x1062

25 Дек, 16:41 #415 #900618

>>900564
Как ты пишешь джойны что бы они не были монструозными?

Ответы900674

25 Дек, 16:42 #416 #900620

>>900611
Можно поизвращаться же с jdbc драйвером.

Ответы900626900649

25 Дек, 16:49 #417 #900626

>>900620
еще к удаленной базе подключайся через драйвер блять с телефона

Ответы900641

25 Дек, 17:08 #418 #900641

>>900626
Не к удаленной, а к локальной.

Ответы900648

25 Дек, 17:12 #419 #900648

>>900641
я поржал :) Зачем, если есть готовые тулзы для удобной работы с бд ? Что ты там хранить собрался, что тебе не подходит ни зеленый, ни сах
арный ?

25 Дек, 17:13 #420 #900649

>>900620
>Можно поизвращаться же с jdbc драйвером.
Да, андроид поддерживает jdbc, только у него нет изкоробочного драйвера для его sqlite.
Сам не юзал правда, благо ormlite позволяет подключаться на прямую.

sage 25 Дек, 17:25 #421 #900656

Перепись долбоёбов, блядь.

Ответы900666

25 Дек, 17:42 #422 #900666

>>900656
Один представился.

25 Дек, 17:49 #423 #900671

>>900611
> Dalvik ~~ JVM
Уже давно ART, но нихуя они не эквивалентны.

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

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

Ну или ебись с jdbc, хули. На SO были чуваки, которые даже Hibernate на ведре использовали.

Ответы900705

25 Дек, 17:52 #424 #900674

>>900618
Примерно так и пишу. С небольшим количеством вспомогательных функций и precompiled statements.
Особого синтаксического сахара тут ожидать не стоит, ибо это не ORM.

25 Дек, 17:56 #425 #900676

А кто-то пробовал обновлять таблицы при смене схемы в greendao3, при использовании SQLCipher ? У меня идет крит с сообшением о том, что таблицы не найдены, но тащемта они есть :)

25 Дек, 18:30 #426 #900705

>>900671
>Уже давно ART, но нихуя они не эквивалентны.
Няшь, вот скажи мне, а что это меняет? Тем более сейчас, когда андроид укатился на open jdk.

>запускались на чистом JVM нету, ибо интеграционные без ведра всё равно написать не получится.
С ormlite как-то получалось. Просто логику надо абстрагировать от платформенного уровня.

25 Дек, 20:49 #427 #900827

Няши, подскажите мне вот такое:

Я делаю запрос к серверу в IntentService.
Получаю при помощи LocalBroadcast результат.
Но куда мне положить результат на случай, если юзер свернет приложение, чтобы показать ему его, когда он его развернет?
Мне нужно всего лишь показать и закрыть ProgressDialog.

Ответы900867

25 Дек, 21:20 #428 #900867

>>900827
В базу или в SharedPreferences.

Ответы900871

25 Дек, 21:26 #429 #900871

>>900867
Ок. В базу слишком жирно будет.

26 Дек, 00:20 #430 #900995

>>899961
Самый известный баг, унаследованный от петушков из JetBrains. Вешай отдельные дополнительные, отдельные клавиши на русскую и английскую раскладки

26 Дек, 00:33 #431 #901002

>>899773
God Tier
Realm. Большой и тяжеловесный - но быстрый, доделанный и простой в использовании.

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

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

Shit tier
GreenDAO, ORMLite и им подобное говно. Тормоза, рефлексия и прочее не нужны

Ответы901006

56 Кб, 491x500

sage 26 Дек, 00:39 #432 #901006

>>901002
> StorIO Убогая архитектура
> Native sqlite выше StorIO
> Realm выше всех

Какое авторитетное мнение.

26 Дек, 04:21 #433 #901071

Glide или Picasso? И почему?

Ответы901111902286

26 Дек, 05:58 #434 #901074

>>899935
Бамп вопросу. Подсобите плиз. Хеллоуворлд написать хочу.

26 Дек, 07:29 #435 #901079

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

Ответы901112

26 Дек, 10:05 #436 #901111

>>901071
Picasso из-за связки с okhttp.

Ответы901723

26 Дек, 10:06 #437 #901112

>>901079
Гугли parallax view pager, когда-то такое делал.

26 Дек, 11:47 #438 #901145

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

Ответы901181

26 Дек, 12:30 #439 #901181

>>901145
>Стоит городить retrofit с сущностями
Стоит это кусок кода абстрагировать и вынести в отдельную сущность.
Дальше пишешь тривиальную реализацию и покрываешь ее тестами.

Потом уже, если логика запроса усложнится, то заменишь ее на ретрофит.

26 Дек, 12:34 #440 #901186

Народ, подскажите плиз, нужно сохранить пароль и логин в приложении, чтобы потом достать их. Насколько я понял в SharedPreferences хранить не безопасно, что лучше всего использовать из андроидовских возможностей? Желательно без ебли с шифрованием и добавлением хуевой горы кустарных библиотек в gradle dependencies.

Ответы901193901202

26 Дек, 12:45 #441 #901193

>>901186
>сохранить пароль и логин в приложении
Это безопасно никак не делается. Все что есть на устройстве можно спизидть. Как вариант = AccountManager

Ответы901194

26 Дек, 12:50 #442 #901194

>>901193
Окей, спасибо.

26 Дек, 13:04 #443 #901202

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

Ответы901228

26 Дек, 13:51 #444 #901228

>>901202
Это слишком задрочно и не стоит того. Просто блять по ТЗ нужно впихивать логин и пароль в поля, если юзер логинился, а Гугл рекомендует хранить только токен и не сохранять credentials и пиздец.

26 Дек, 15:06 #445 #901256

ебанный андроид
socket =(BluetoothSocket) device.getClass().getMethod("createRfcommSocket", new Class[] {int.class}).invoke(device,1);

Ответы901282

26 Дек, 16:03 #446 #901282

>>901256
Нехуй пользоваться приватным API.
В Apple тебя с такими извратами сразу бы нахуй послали.

Ответы901357

26 Дек, 17:23 #447 #901357

>>901282
>В Apple тебя с такими извратами сразу бы нахуй послали
Там было бы то же самое только с квадратными скобочками вместо точек.

26 Дек, 17:24 #448 #901359

В андроиде есть какой-то аналог plist?

Ответы901380

26 Дек, 18:08 #449 #901380

>>901359
>В андроиде есть какой-то аналог plist?
Аналог в каком смысле?

Ответы901385

783 Кб, 675x1080

694 Кб, 675x1080

794 Кб, 675x1080

211 Кб, 372x329

26 Дек, 18:12 #450 #901381

>>885914 (OP)
Анончик, выручай.

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

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

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

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

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

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

Заранее дякую, если вопросы еще есть - задавайте.

Ответы901825

26 Дек, 18:18 #451 #901385

>>901380
В прямом. Вот в iOS проекте есть plist, как можно повторить его в Android проекте?

Ответы901390

26 Дек, 18:33 #452 #901390

>>901385
А мы ебем что у тебя там делает plist?

Ответы901393

26 Дек, 18:36 #453 #901393

>>901390
Если ты не знаешь то какого хуя ты отвечаешь?

Ответы901395

sage 26 Дек, 18:39 #454 #901395

>>901393
Чел либо ты ведешь себя вежливо, либо идешь нахуй, а твои вскукареки скрывают

мимо

Ответы901401

26 Дек, 18:43 #455 #901401

>>901395
Я вполне вежливо задал вопрос, тут есть те кто перекатился с iOS на Android, следовательно могут на него ответить. Поэтому когда мне отвечают
> А мы ебем что у тебя там делает plist?
в таком духе, я отвечаю взаимностью.

Ответы901463901516

sage 26 Дек, 20:15 #456 #901463

>>901401
Хуй соси, пидор.

Ответы901596

26 Дек, 21:25 #457 #901516

>>901401
plist это просто xml файл, так что у тебя два выбора
1) сгенерить java классы из твоего plist и сериализовать/десеризовать их
2) загружать сырой plist и работать с ним как с DOM и делать выборки через xpath

если ты хочешь просто хранить иерархические данные, лучше заюзать shared preferences

Ответы901596

26 Дек, 21:51 #458 #901535

Как справляетесь с блоком аудио апи в Vk? Авторизация путём замены айди приложения на айди официального до сих пор работает?

Ответы901728

26 Дек, 23:17 #459 #901596

>>901463
Cкрыл твой вскукарек.

>>901516
Ок, спасибо.

27 Дек, 06:14 #460 #901723

>>901111
Как будто в Глайде её нету.
https://github.com/bumptech/glide/wiki/Integration-Libraries#okhttp

27 Дек, 07:11 #461 #901728

>>901535
Где взять айди оф?

Ответы901737

sage 27 Дек, 08:09 #462 #901737

>>901728
Дуров в Твиттере присывлает, если попросить

27 Дек, 10:06 #463 #901779

Хуй знает где спросить, ананас, спрошу у тебя. Как на ведре заставить запускаться 2 приложения одним ярлыком ? Нужно чтобы они вмеесте запускались.

Ответы901783901786

27 Дек, 10:10 #464 #901783

>>901779
Напиши сам приложение, запускающее 2 приложения через getLaunchIntentForPackage.
Хотя я не представляю, зачем это нужно.

Ответы901797

27 Дек, 10:13 #465 #901786

>>901779
В onCreate первого приложения пишешь

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("имя.второго приложения","имя.второго.приложения.MainActivity"));
startActivity(intent);

Ответы901797

27 Дек, 10:25 #466 #901797

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

Ответы901798

27 Дек, 10:27 #467 #901798

>>901797
Найди названия пакетов скроблера и аудиоплеера, там будет что-то типа com.yoballc.audioplayer или com.zaloopa.scrobler. А в своем приложении стартуешь их через интент, как я написал выше. Или ты спрашиваешь не как программист а как пользователь андроида?

Ответы901802

27 Дек, 10:36 #468 #901802

>>901798
> Или ты спрашиваешь не как программист а как пользователь андроида?
2ое , скроблер перестал запускаться автоматически при старте воспроизведения . Теперь всегда нужно запускать сперва плеер, а затем скроблер, ну или в другом порядке, похуй. Но главное чтобы скроблер был запущен и висел в процессах. Можно конечно никогда его не отключать, но я хотел найти более эргономичный вариант.

Ответы901804

27 Дек, 10:39 #469 #901804

>>901802
А, ну так тебе в другой раздел тогда https://2ch.hk/mobi/ (М)
Вот здесь тебе подскажут

Ответы901806

27 Дек, 10:43 #470 #901806

>>901804
Да там не шарит никто. Эх, ладно.

Ответы901810

27 Дек, 10:48 #471 #901810

>>901806
Ну сорян, чем мог тем помог. Как вариант, попробуй разобраться почем скроблер перестал запускаться как раньше.

27 Дек, 11:07 #472 #901825

>>901381
Ведраны, ну хоть подскажите куда копать.

Ответы901829901834

sage 27 Дек, 11:10 #473 #901829

>>901825
вниз

27 Дек, 11:16 #474 #901834

>>901825
Гугли сглаживание poliyne, вроде немало примеров было. Насколько я помню там нужно подшаманить с MitterCap или что-то в этом роде и тогда углы будут не острые а скругленные.

Ответы901858

27 Дек, 11:43 #475 #901858

>>901834
>MitterCap
Этого гугл не знает, но, в любом случае, спасибо. Попиздовал искать.

19 Кб, 1080x1920

27 Дек, 11:59 #476 #901874

Обмазался анимированными переходами между активититеми, что из api 21, периодически выходит пикрелейтед экран после нажатия кнопки назад. При каких условиях он появляется - так и не понял, при равных условиях он может и появиться, а может и нет. В чем может быть дело?

Ответы901885902348902466

27 Дек, 12:17 #477 #901885

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

Ответы901936

27 Дек, 13:34 #478 #901936

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

27 Дек, 20:13 #479 #902129

Котаны, вопрос не столько по конкретной технической реализации, а концептуальный. Вот я услышал что (якобы) эти все мессенджеры используют TCP для связи с бекэндом. Есть какое-то годное чтиво на эту тему? Клиенты поддерживают постоянное соединение - тоесть бекэнд ебется с миллионами действующих подключений? Или там устанавливается соеденение только на время передачи сообщения? И тогда получается что клиент на телефоне должен работать как сервер - принимать подключение от бекэнда когда приходит сообщение. Как постоянно открытое соединение (если такое используют) влияет на батарею - при условии что оно не используется, просто поддержание соединения в ожидании сообщений от бекэнда?

Ответы902235

27 Дек, 21:03 #480 #902148

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

Ответы902160

27 Дек, 21:14 #481 #902160

>>902148
Подобную парашу не банят: https://play.google.com/store/apps/details?id=com.dextrit.trumpytheplumpy
С чего должны забанить тебя? Делай для стима, если не уверен, туда что угодно пропустят.

Ответы902165

27 Дек, 21:26 #482 #902165

>>902160
Цель сделать именно на ведро, рискну все таки. Просто начитался про удаление приложений из за всякой хуеты, а потом еще про баны аккаунтов из за обращений в сапорт, чтобы эти приложение вернули. Складывается впечатление что гуглу вообще похую на людей, которым сервис обязан своей аудиторией.

27 Дек, 23:00 #483 #902220

Хочу сделать в своем приложении список некоей хрени и группы. Типа как в аське с контактами: группа друзей, группа коллег, группа родственников, а внизу - список оставшихся контактов, которые вне группы. Выпадающий список я уже написал. По идее, это будет ListView выпадающих списков, сразу под которыми ListView не попавших в группы. И так, чтобы первый список заполонял экран, а потом, когда долистается, вытягивался второй список. Ну ты понел, анон
Когда я запихнул LinearLayout с двумя списками в ScrollView, стали неадекватно вести себя адаптеры. Убрал ScrollView - стал отображаться только первый список, и тот до середины экрана.

Что мне делать, анон? Что-то вроде CoordinatorLayout осваивать?

Ответы902259

27 Дек, 23:46 #484 #902235

>>902129
Кто как, ВКашка до сих пор на лонг полинге живет, другие на сокетах. Можешь телегу глянуть. Ну так себе влияет на батарею, но гугл заставляет всех пользоваться GCM, так что нормально.

28 Дек, 00:53 #485 #902258

На айтеме в списке - OnItemClick, на кнопке - OnClick. Кнопка в айтеме.
Походу щелчек на кнопку передается айтему. Как заблочить?

28 Дек, 00:55 #486 #902259

>>902220
Не до конца понял, что тебе нужно. Из того что понял могу сказать следующее: пили ресайклер в который клади итемы expandableRecycler(загугли это). Заполняй эти expandableRecycler'ы своими контактами. По умолчанию поставь, чтоб первый итем в корневом ресайлере был развернут, а когда до 2ого долистаешь(onBind поидее вызовется, ну или погугли, как определить, какой итем на экране) сворачивай первый и разворачивай 2ой

Ответы902523

28 Дек, 03:09 #487 #902286

>>901071
Fresco

28 Дек, 03:29 #488 #902293

>>898047
>двустороннего binding-а на моей памяти еще не появилось
Android Databinding

28 Дек, 08:23 #489 #902348

>>901874
Бамп вопросу.
Опытным путем установил, что такое происходит только при переходах типа Slide и Explode. При переходе Fade все работает как надо. Фрагментов в бэкстэке нет, это тоже проверил.

Ответы902371

28 Дек, 09:36 #490 #902371

>>902348
код

Ответы902391

2 Кб, 270x480

28 Дек, 10:32 #491 #902391

>>902371
http://pastebin.com/p2QRXhRk
Получается следующее - после нескольких заходов во вторую активити из первой, по возвращению в первую ловится пикрелейтед. Собственно пустой экран цвета android:windowBackground из темы приложения. Количество возвращений до пустого экрана в среднем от 2 до 5, от чего оно зависит, проследить не смог. При одинаковых условиях оно было разным.
При этом, основная активити таки продолжает работать, проверил onResume() - он выполняется несмотря на пустой экран. Если повернуть девайс или еще как-нибудь перезапустить активити - все отобразиться корректно.
Все запросы в гугле, какие смог придумать, в итоге ничем не помогли. Может, это какая-то проблема отрисовки или типо того, но я уже не знаю, как к ней подступиться.
Мин апи 21, тема приложения наследуется от Theme.AppCompat.Light.DarkActionBar

Ответы902423

28 Дек, 11:04 #492 #902423

>>902391
К сожалению мало кода.

Ответы902457

28 Дек, 11:23 #493 #902457

>>902423
Первая активити http://pastebin.com/ZR8PpbWi
Вторая активити http://pastebin.com/g4yACq5D
Фрагмент, вложенный в первую активити http://pastebin.com/4qwNGpSt

Ответы902467902468

28 Дек, 11:32 #494 #902466

>>901874
Я ещё не дошёл до этого. Но могу посоветовать попробовать кастомную либу для переходов. Видел статью на медиуме, где описывались кучи багов в Transitions Api

Ответы902487

28 Дек, 11:32 #495 #902467

>>902457
Ебаный говнокод. Тебе не стыдно?
А по теме, вангую у тебя батернайф чудит

Ответы902487

28 Дек, 11:34 #496 #902468

>>902457
И у фрагментов есть такая штука как setRetainedInstance

28 Дек, 12:31 #497 #902487

>>902466
Нашел только кастомные либы для совместимости с api<15.
Пробовал, кстати, делать через overridePendingTransition, эффект такой же, как и через средства апи 21.

>>902467
>Ебаный говнокод. Тебе не стыдно?
Нет, я не погромист.
>А по теме, вангую у тебя батернайф чудит
Проверил сделанный до перехода на баттернайф коммит, такое же дерьмо.

28 Дек, 13:55 #498 #902523

>>902259
Мне нужно, чтобы половина списка была expandableRecycler, а половина - простые контакты. Я пока слабо знаком с RecyclerView, и не уверен, что можно справиться одним списком

Ответы902529

28 Дек, 14:04 #499 #902529

>>902523
Можно справиться одним списком. Я делал свой exandablerecyclerview с двойной вложенностью (группы в группах). Сиди да пихай себе notifyItemRangeInserted, или еще на порядок проще через DiffUtil.

28 Дек, 14:15 #500 #902535

Такой вопрос, у меня есть динамическое количество вьюх, которые могут быть или унаследованны либо от LinearLayout либо от RelativeLayout, я их собираю в ArrayList, а затем перебираю
for(ViewGroup group : listOfViews)

В этом цикле я хочу запихнуть их все в один ViewGroup, который потом в свою очередь запихнуть в Activity, как это лучше всего сделать?

Ответы902564

28 Дек, 14:45 #501 #902564

>>902535
Создаешь нужный тебе вьюгруп xml, инциализируешь в активити, затем пихаешь в него свои вьюхи во вьюхе.

55 Кб, 873x762

56 Кб, 775x740

28 Дек, 14:46 #502 #902565

Доставьте подобного, пожалуйста.

Ответы902573902575902714

28 Дек, 14:51 #503 #902573

>>902565
>code-style от Google
Пошли они нахуй.

Ответы902574902623

28 Дек, 14:52 #504 #902574

>>902573
А что не так?

Ответы902577

28 Дек, 14:53 #505 #902575

>>902565
Весьма скучно такое делать.

28 Дек, 14:56 #506 #902577

>>902574
>m
Вот это не так.

Ответы902581902585902588902589

28 Дек, 14:57 #507 #902581

>>902577
Именно.

28 Дек, 14:59 #508 #902585

>>902577
Хотя они возможно исправились
https://google.github.io/styleguide/javaguide.html#s5.2.5-non-constant-field-names

28 Дек, 15:02 #509 #902588

>>902577
А вообще нет.
http://source.android.com/source/code-style.html

28 Дек, 15:02 #510 #902589

>>902577
О, я помню N тредов назад аноны ругались.

28 Дек, 15:22 #511 #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 (М)

393 Кб, 650x650

28 Дек, 15:54 #512 #902623

>>902573
>code-style от Google
>Пошли они нахуй.

Ну так пили на Kotlin - что сложного-то?

Ответы902658

sage 28 Дек, 16:59 #513 #902658

>>902623
Съеби.

Ответы902718

28 Дек, 18:58 #514 #902714

>>902565
Примерно такую приложуху видел на МООС, вроде от едХ, можешь сразу загуглить. АПИ точно то же.

28 Дек, 19:08 #515 #902718

>>902658
Анончик, не агрись - он уже почти год в как вышел и постоянно набирает обороты.

Пора бы уже смириться что знание Kotlin является плюсом на собеседованиях.

Ответы903580

30 Дек, 14:10 #516 #903580

>>902718
Знание плюсов на собесе плюсом является, а котлина - минусом скорее

Ответы904052

31 Дек, 11:44 #517 #904052

>>903580
Почему котлин минус? Если что то я к нему сам с подозрение отношусь.

Ответы904265

01 Янв, 01:11 #518 #904265

>>904052
ну типа нахуй он кому нужен, синтаксический сахар над жабой + медленный билд - все, что он способен дать

03 Янв, 05:30 #519 #904953

Сап, аноны. Прочитал первую главу книги Шилдта (полное руководство) и решил вкатиться в андроид. Чекнул вакансии на hh и чет приохуел. 194 вакансии в дс2, часть из которых это шарпеи с ксамарином, а другая часть ебанные курьеры, которым пишут в требованиях андроид смартфон для gps. Реально ли вообще вкатиться во всю эту шнягу совсем без опыта в разработке офк перед этим написав приложеньку и выложить ее в гугл плей?

Ответы910288911192

12 Янв, 08:42 #520 #910288

>>904953
нет, процентов 90 вакансий - на мидлов и сеньоров

13 Янв, 12:39 #521 #911189

В связи с некорректной работой loader-ов внутри не-retain фрагментов при повороте (они, сука, персоздаются, гляди), решил подумать в сторону сохранения презентеров в сервисе. Насколько это ебнутая затея? Главное условие - презентер должен жить когда View претерпевает изменения конфигурации, уходит в бэкграунд и пр. пр.

Ответы911271

13 Янв, 12:47 #522 #911192

>>904953
И глядя с текущей "высоты" вниз, на свой путь, настоятельно рекомендую сначала досконально изучить java core курс (Эккеля хватит с некоторыми небольшими урывками типа concurrency, references, jmm) дабы подходя в ведру заниматься не дрочем жабы, а непосредственно ведром

Ответы911272

13 Янв, 15:34 #523 #911271

>>911189
> (они, сука, персоздаются, гляди)
Они так и должны работать.

Ответы911309

13 Янв, 15:36 #524 #911272

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

Ответы911310

13 Янв, 16:58 #525 #911309

>>911271
Они должны переживать смену конфигурации (см доки)

Ответы911540

13 Янв, 16:58 #526 #911310

>>911272
Что-нибудь сложнее простой клиент-серверки в жизни хоть раз на андроид написал ?

Ответы911457

13 Янв, 20:12 #527 #911457

>>911310
Писал. И при чём тут это?

13 Янв, 22:16 #528 #911540

>>911309
Они переживают, сами лодеры. А вот таски к ним привязанные — перезапускаются. Это норма.

Ответы912482

14 Янв, 14:06 #529 #911965

А может кто-то расписать, как организовывать работу с кэшированием, например, новостей, когда идет проверка по timeStamp-у наличия новых итемов ? То есть как, например, лимитировать количество записей в базе до определенного объема кэша, как правильнее организовать подгрузку только лишь нужных итемов, вымещение новыми старых из базы ? А то сделать нужно, да и хотелось бы, но вот прикинув так в уме количество аспектов, понял, что грабли выебут мой лоб, если не последует помощи со стороны

Ответы912482

15 Янв, 09:06 #530 #912482

>>911965
>>911540
Зачем вы пишите в старый тред?

Ответы919557

25 Янв, 23:48 #531 #919557

>>912482
В прикрепленном ньюфаг-треде ссылка именно на этот тред стоит, наверное поэтому.

Тред утонул или удален.
Это копия, сохраненная 30 января 2017 года.

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

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

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion