Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


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

Check this out!


<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
514 | 52 | 143

Android Development Thread Аноним 23/03/18 Птн 18:33:17  1161404  
lib-color.png (509Кб, 1000x970)
Android Development Thread 2.3.4

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

> Мануалы?
- Официальная документация: 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. Есть лямбды, стримы и делегаты. С 17 мая поддерживается официально.

> Есть что-то кроме нативных приложений на Java/Kotlin?
- Qt — кросс-платформенный фреймворк на C++. Используется в основном для игры и для приложений с высокими требованиями к производительности (обработка изображений, звука, ГИС-системы). Спрашивать в C++ треде.
- Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Спрашивать в C#-треде.
- 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://arhivach.org/thread/349354/
Аноним 23/03/18 Птн 18:34:28  1161406
Cап програмач, кто работал с socket.io на ведре?

Использую либу с гитхаба socket.io, https://github.com/socketio/socket.io-client-java
Мне нужно подключиться к серверу на сокетайо по определенному урлу, включающему querystring с юзертокеном. Ридми говорит, что нужно делать так:
IO.Options opts = new IO.Options();
opts.forceNew = true;
opts.query = "auth_token=" + authToken;
Socket socket = IO.socket(hostURL, opts);

Однако когда я в opts кладу query, вся конструкция наебывается к херам. Не валит эксепшн, нихуя, просто перестает коннектиться, даже не срабатывает событие connect. Без query всё окей.
Судя по тому что ни в issues репы, ни на стаковерфлоу, никто не поднимал данный вопрос - проблема это персонально моя. Может кто скинет пример реально рабочего кода с подключением к сокетайо-серверу с передачей параметров?

репост с тонущего
Аноним 23/03/18 Птн 18:55:52  1161419
Пукнул в треде
Аноним 23/03/18 Птн 20:14:49  1161457
>>1161406
Я работал с этим дерьмом.
Абсолютно не прозрачное плохо документирвоанное говно. От Object... меня вообще блевать тянет. Бер и копайся бля есть там что или нет, JSONObject или Exception какой-нибудь нахуй.

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

https://pastebin.com/GFvZDrx6
Аноним 23/03/18 Птн 20:16:32  1161459
>>1161320
Охуенно обрезал самый важный кусок.
Подозреваю что ты где-то передаешь null по цепочке, RxJava2 за такое убивает нахуй.
Аноним 23/03/18 Птн 20:23:03  1161465
>>1161406
Ах да, еще проверь своего бекендщика на вшивость, а то мой слал/принимал голый jsовский json, из ебаного веба в ебаную ноду же.
Аноним 23/03/18 Птн 20:47:56  1161474
>>1161465
> мой слал/принимал голый jsовский json, из ебаного веба в ебаную ноду же.
Что?
Аноним 23/03/18 Птн 20:56:11  1161479
>>1161474
Поскольку js не типизирован, то отправить через socket.io можно было все что угодно, в итоге слались не сериализованные объекты. И когда я слал нормальный тектсовый жсон, то получал фигу.
Аноним 23/03/18 Птн 20:59:45  1161481
>>1161479
> Поскольку js не типизирован
Уверен, что понимаешь слова, которые пишешь?
Аноним 23/03/18 Птн 23:31:49  1161543
>>1161481
Я непривльно выразился.
Аноним 24/03/18 Суб 00:08:20  1161564
>>1161404 (OP)
Ведро-тян к вашим услугам.
Аноним 24/03/18 Суб 01:04:19  1161586
Изучить android программирование на яве, а затем вкатиться в реакт native. Слишком ебануто?
Аноним 24/03/18 Суб 05:32:17  1161620
>>1161459
Если этот код обратно вернуть в фрагмент, то все работает.
Возможно у меня дебильно сделано обращение к методу, который вызываю из фрагмента, так называемый setWebmData.
Аноним 24/03/18 Суб 05:50:03  1161621
>>1161459
>pastebin
Спасибо, покопаюсь

>проверь своего бекендщика на вшивость
Да веб-клиент без проблем заработал, не в этом дело
Аноним 24/03/18 Суб 05:50:32  1161622
>>1161621 -> >>1161457
Аноним 24/03/18 Суб 11:33:56  1161687
Screenshot15218[...].png (588Кб, 1080x1920)
Есть один быдлокод https://pastebin.com/q6mmuJap
Цель: вынести методы которые отвечают за запросы из сети например, fetchWebmDetails()
Нет, я не прошу сделать все за меня, прошу совета о реализации. Сам пробовал создать отдельный класс, в который переносил вышеупомянутый метод, но столкнулся с рядом проблем.
Проблемы такого плана. Не могу правильно обратиться к методам setWebmData и setTagsAdapter, соответственно и в обратную сторону, не мог правильно вызвать метод fetchWebmDetails из RandomFragment.
В общем, как сделать или что изучить дабы разобраться с этим. У меня постоянно с этой темой проблемы и поэтому все писал в одном классе активности или фрагмента, что не есть хорошо в плане ООП и SOLID.
Аноним 24/03/18 Суб 13:49:22  1161757
>>1161621
Так в том то и дело, что в моей ситуации тоже с вебом все было ок, а то что я слал сервер не понимал. Когда я указал на проблему и бекендщик поправил как надо - в вебе тоже немного правок внесли (просто слали не прямо объект, а stringify'цированое представление)
Аноним 24/03/18 Суб 14:45:45  1161812
Ведраны, кто-нибудь юзал protobuf-плагин к gradle?
Эта хуйня по дефолту тащит все .proto в jar. Как это говно отключить?
Аноним 24/03/18 Суб 14:56:18  1161824
>>1161539
>СГТУ?
А это уже деанон. Так что не буду отвечать.
Аноним 24/03/18 Суб 16:12:35  1161872
>>1161812
Ты уверен что хочешь это отключить? Не просто ж так наверняка.
Ну вот вроде https://github.com/google/protobuf-gradle-plugin/issues/108
Аноним 24/03/18 Суб 20:35:07  1162000
>>1161872
>Ты уверен что хочешь это отключить? Не просто ж так наверняка.
Да, хочу. Честно говоря я не ебу нахуя оно вообще сделано, ибо generated кода более чем достаточно.

>Ну вот вроде https://github.com/google/protobuf-gradle-plugin/issues/108
Да, оно. Спасибо, анончик.
Аноним 25/03/18 Вск 00:21:25  1162119
Сап двач, помоги. Есть ресайклер ,данные в его адаптер загружаю чере асинк такс из сервака. При нажатии на айтем ресайклера открывается фрагмент с подробной инфой об айтеме, фрагмент открываю через транзакшин эд. Через этот фрагмент я могу удалить айтем из сервака и после удаления через popbackstack возвращается фрагмент с ресайлером, но айтемы в нём остаются прежними . Так вот как мне зарефрешить данные ресайклера автоматически после удаления айтема без свайпов и т.д. ведь в фрагменте ресайлера не запускаются заново онстарт, онресум.
Аноним 25/03/18 Вск 02:27:38  1162143
Скиньте уже пак тни с оп пика.
Аноним 25/03/18 Вск 09:03:53  1162185
>>1162119
Думой.
Первое, что пришло за секунду, так это можешь ебнуть пагинацию со спинером обновления.
Аноним 25/03/18 Вск 11:50:39  1162233
Аноны. Есть один дипломник и его заставили делать приложение под ведро. Вопрос: что нужно знать для того чтобы знать/сделать для создания "приложение по учёту клиентской базы предприятия"?
Аноним 25/03/18 Вск 12:25:50  1162244
>>1162119
В сторону FastAdapter копни.
Аноним 25/03/18 Вск 13:49:04  1162333
>>1161687
Продолжение. Поскольку все промолчали (70 раз просмотрели ссылку с кодом) пришлось делать по своему.
Создал интерфейс и отдельный класс WebmDetailsFetcher чтобы в нем написать метод fetchWebmDetails(). Для инициализации интерфейса создал конструктор в классе WebmDetailsFetcher. Затем в onCreate методе инициализирую тот самый конструктор. Передаю аргументы в setWebmDetails и получаю ожидаемый результат. Пока все работает без проблем, но не является ли это изъебством и можно было сделать куда проще и красивее? Ссылка: https://pastebin.com/bkcrD83M
Аноним 25/03/18 Вск 15:12:46  1162377
Нужно было отображать в RecyclerView HashMap с привязкой - ключа User и его ArrayList заказов - value из другого класса. Я нанес на них общего предка и в тот же Recycler пихнул простой лист, где я преждевременно рассчитал количество value в каждом key и у меня получилось следующий массив:
User, Order, Order, User, Order, Order, Order и так далее. т.е. первый юзер имеет два заказа, второй - три заказа и т.д.
Теперь я запихнул иконку searchView, но проблема в том, что у меня ArrayList содержит в себе их общего родителя, который не имеет метода getUser и getOrder. Как мне запилить этот поиск?
Аноним 25/03/18 Вск 17:05:29  1162492
>>1162233
Какой у тебя уровень знаний? Если коротко то нужно знать все что нужно для шлепания CRUDов.
Аноним 25/03/18 Вск 17:05:48  1162493
234234.png (31Кб, 1056x475)
Хмм. Пиздец, чё не так с этими сраными вкладками. Хули они мне 14 инстансов фрагмента нахуярили.
Васян 25/03/18 Вск 17:06:52  1162494
1.png (12Кб, 813x150)
2.png (10Кб, 429x224)
Йоу, всем привет. Начал использовать realtime database от firebase, хочу получать записи имеющие в поле `Ингридиенты` значение которое включает в себя `Морковь` Использовал такой код(1ый скрин) для такой бд(2ой скрин). В итоге у меня нихуя не получается, как фиксить?
Васян 25/03/18 Вск 17:10:04  1162496
>>1162494
Только что узнал, что equalTo() ищет строку полностью включающую строку указанную в аргументе. Получается это не альтернатива like из sql
В таком случае я в полной растерянности и не знаю как поступить
Аноним 25/03/18 Вск 17:18:18  1162503
>>1162496
Ха-ха, лох. Тебе говорили, бери SQL и не выебывайся, нет, хочу жрать зависимость от гугла.
Васян 25/03/18 Вск 17:23:23  1162507
>>1162503
Ты ебанутый? Там будет большая бд. Я что буду подгружать всю бд пользователю?
Аноним 25/03/18 Вск 17:55:37  1162532
>>1162507
Ну, теперь ты вообще ничего подгружать пользователю не будешь.
Аноним 25/03/18 Вск 18:23:19  1162557
Кто-нибудь делал instant apps , какие подводные?
Аноним 25/03/18 Вск 19:00:00  1162588
>>1162492
Всего понемногу. Если вкратце то чуть больше чем нихуя.
Аноним 25/03/18 Вск 19:57:53  1162621
>>1162185
Пагинацию на стороне сервера делатьна спринге написал или на стороне клиента?
Аноним 25/03/18 Вск 20:47:12  1162652
>>1162588
Тогда хватит. Верстка + нетворкинг это если по бомжацки. Что бы норм надо еще db, но не сильно, с SQLite не разгонишься.
Аноним 25/03/18 Вск 21:13:36  1162667
>>1162621
Both.
Аноним 25/03/18 Вск 21:41:17  1162683
>>1162621
Так если ты со сервака удаляешь, просто обнови инфу ресуклера. Т.е. можно присобачить спинер как при обновлении новостей впараше.
Аноним 26/03/18 Пнд 15:05:28  1162969
Как же заебал это имбицил с вебмками
Аноним 26/03/18 Пнд 17:36:00  1163033
>>1162969
Все ж мы люди!
Аноним 26/03/18 Пнд 18:58:20  1163073
>>1162969
Имбицил с вебмками молодец и изучает разработку работая над интересным ему проектом, а не над очередным тудулистом и веазер апп из онлайн курсов.
Аноним 26/03/18 Пнд 19:40:12  1163089
>>1163073
Спс))
Аноним 26/03/18 Пнд 20:01:42  1163096
>>1163073
> а не над очередным тудулистом и веазер апп из онлайн курсов.
Жиза. Как себя бы не заставлял тогда, все равно блевать хотелось от просмотра кода из туду.
Аноним 27/03/18 Втр 17:21:32  1163534
1.png (4Кб, 507x61)
2.png (12Кб, 646x78)
3.png (10Кб, 480x146)
Уважаемые господа, обновил студию до последней версии и повылезала какая-то шляпа. При этом все вроде как работает (как дебаг, так и релиз). Подосбите решением, если знаете. Из того, что могло повлиять - поменял compile на implementation. Из того, что пробовал из гугла и не помогло - синхронизация градл файлов, invalidate/restart, добавление google() в repositories. Хуй знает че, короче. Вроде работает, но глаза мазолит
Аноним 27/03/18 Втр 18:22:17  1163580
>>1163534
>вроде как работает
Ну и не трогай тогда.
кек.
Аноним 28/03/18 Срд 02:52:35  1163837
>>1161812
Юзай https://github.com/square/wire
Аноним 28/03/18 Срд 09:36:58  1163884
Как можно сделать так, чтобы пользователь мог залогиниться в одном моем приложении и потом автозалогиниться в другом, не вводя логин и пароль во второй раз?
Аноним 28/03/18 Срд 09:38:18  1163887
>>1163884
Account manager
Аноним 28/03/18 Срд 09:51:30  1163889
>>1163887
Спасибо, анон. Насколько я понял, приложение, через которое пользователь в первый раз аутентифицировался, просто пихает логин+пароль в Account Manager и потом остальные приложения вытаскивают логин+пароль из Account Manager'а?
Есть ли такая штука, чтобы я отправлял логин+пароль сервису аутентификации, который бы выдавал какой-нибудь подписанный пропуск, который я буду показывать при обращении к своим сервисам?
Аноним 28/03/18 Срд 09:59:03  1163895
>>1161404 (OP)
какая на пике кобыла бе.
с виду конечно не оч встратая, но по мне не оч, КОБЫЛА одним словом
Аноним 28/03/18 Срд 14:43:18  1163998
>>1163895
это трап же ну
Аноним 28/03/18 Срд 16:09:48  1164048
Как правильно скачать и распарсить xml?
Передавать парсеру на вход огромную строку?
Аноним 28/03/18 Срд 18:14:29  1164111
>>1164048
>распарсить xml
учись парсить json
Аноним 28/03/18 Срд 19:04:57  1164121
>>1164111
Ну вот мне надо rss ленту как бы, и один хер это не влияет на суть вопроса.

Мне либо коннекшон передавать вместе с инпут стримом в парсер, либо сначала всё прочитать из стрима куда-нибудь, и передать это в парсер. Второе явно лучше, но я не знаю как принято делать.
Аноним 28/03/18 Срд 19:08:35  1164123
>>1164121
> Второе явно лучше, но я не знаю как принято делать.
Почему ты так думаешь?
Аноним 28/03/18 Срд 19:21:32  1164131
>>1164123
Ощущение будто я на приёме у психотерапевта
Аноним 28/03/18 Срд 19:48:45  1164152
Программировать под андройд в 2136, вы серьезно? Зачем вы себя унижаете?
мимо сижу полгода на реакт нейтиве
Аноним 28/03/18 Срд 20:14:35  1164172
Анончики, при отправке коммитов в репозиторий гитхаб, вылезло окошко с кнопками merge и rebase, я нажал на вторую кнопку и все распидорасило в моем локальном проекте. Пропали все папки с джава классами и прочее. Иконки изменились на другие.
Аноним 28/03/18 Срд 20:58:15  1164210
>>1164172
>нопками merge и rebase, я нажал на вторую кнопку и все распидорасило в моем локальном проекте. Пропали все папки с джава классами и прочее. Иконки изменились на другие.
АХХААХАХХАХАх
Сук) Проиграл.
Я тоже так делал. В общем, по методу тыка нашел следующий рецепт для себя: Есть девелоп, создаю ветку новую, хуярю код там, потом переключаюсь опять на девелом, нажимаем волшебную кнопку MERGE, сливаем наши изменения в девелоп и мерджим конфликты.
Хз, может поможет.
А вообще, тебе лучше опять скачать проект, чтобы хуйней не страдать и применять мои рецепты.
Аноним 29/03/18 Чтв 00:09:12  1164362
Анончик, как провести аутентификацию по LDAP?
Аноним 29/03/18 Чтв 03:14:58  1164412
CcutX9sUYAAGgLn.jpg (72Кб, 600x788)
>>1164172
Тоже проиграл, тоже так познавал, только не кнопками, а в консоли, копируя команды со stackoverflow.
Аноним 29/03/18 Чтв 03:51:21  1164414
>>1164210
>>1164412
Прикол в том, что они сука так и лежат в папке с проектом. До них можно спокойно добраться и вносить изменения. Но по большому счету, это все хуйня.
Аноним 29/03/18 Чтв 07:55:17  1164435
IMG201803290754[...].jpg (45Кб, 512x500)
>>1164131
>когда даже психотерапевт кодит лучше тебя
Аноним 29/03/18 Чтв 10:49:07  1164476
image.png (79Кб, 1012x598)
Нуб в андроиде. Делаю урок по сайту Климова (Светофор, день 4ый)

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




Аноним 29/03/18 Чтв 13:02:13  1164534
>>1164362
Через Oauth
Аноним 29/03/18 Чтв 15:01:30  1164577
>>1164476
Нет, меняется фон только у лейаута. Смотри в сторону бекграунда кнопок.
Аноним 29/03/18 Чтв 17:37:11  1164649
>>1164476
>Нуб в андроиде.
Это непоправимо.

>Делаю урок по сайту Климова (Светофор, день 4ый)
Нахуй Климова, хоть котики у него есть, но все равно нахуй. Ебашь юдасити, я знаю, что я говорю. Ты получешь невъебенные 6-7 курсов суммарностью 200 видосов.
А на вопрос отвечать не буду, пока юдасити не пройдешь. Троль.
Аноним 29/03/18 Чтв 18:14:09  1164672
>>1164172
Выключил включил студию все вернулось на места свои.
Аноним 29/03/18 Чтв 20:53:17  1164752
Блять, я не понимаю. На работе логи не работают, дома логи не работают. В Run их тоже нет. Тупо ошибки как эти

E/RecyclerView: No adapter attached; skipping layout
E/MultiWindowProxy: getServiceInstance failed!

Просто пиздец. Сука. Отлаживаю через тосты. Дожил.
Аноним 29/03/18 Чтв 21:20:28  1164776
image.png (20Кб, 732x387)
>>1164752
Если у тебя показываются только ошибки, значит Log level у тебя стоит Error. Если ты свои логи через Log.d() пишешь, значит тебе нужно поставить Log level: Debug. И убедись, что строка поиска и фильтры у тебя пустые.
Аноним 29/03/18 Чтв 22:04:03  1164818
image.png (94Кб, 1861x554)
>>1164776
Нет, у меня что-то вроде этого.
Подозреваю, что пиздец в самом проекте. Но это только у меня, у другого чела работает.
Но у меня и дома не работает. Загадка.
К слову, здесь должно быть 100 строчек от логов. Раньше было, сейчас же нет.
Аноним 29/03/18 Чтв 23:03:10  1164853
>>1164649
Спасибо за совет про Удасити, как раз собирался смотреть. А с такой рекомендацией уж тем более побегу.
Аноним 30/03/18 Птн 00:26:57  1164901
>>1159988
Bump
Аноним 30/03/18 Птн 12:23:46  1165019
>>1164818
хз, попробуй все заглушки отключить: debug -> verbose, filter -> no filters, а в строке поиска, если надо, можно просто прописать имя пакета
орнул с тостов
Аноним 30/03/18 Птн 14:27:18  1165098
Короче смотрите, ведроны.

У меня есть три ресайклера, которые должны наполняться тремя парсерами (у них различаются только ссылки).

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

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

Как это делается?
Аноним 30/03/18 Птн 16:16:37  1165175
Хэлп! решил попробывать вк апи
создал public class Application extends android.app.Application , манифесте <meta-data
android:name="com.vk.sdk.AppId"
android:value="000000" />вроде все как надо, но все ровно ругается >String <integer name="com_vk_sdk_AppId">your_app_id</integer> did not find in your resources.xml
Аноним 30/03/18 Птн 17:40:50  1165223
>>1165175
все решил
Аноним 30/03/18 Птн 19:17:38  1165279
>>1165019
Проблема была в том что нужно было перезагрузить девайс.
Я сам сидел и орал)
Аноним 30/03/18 Птн 19:18:38  1165281
>>1165098
Непонятно. Если хочешь данные с сервера получать по разным ссылкам - сделай три метода от ретрофита и дальше пляши от этого.
Аноним 30/03/18 Птн 20:09:08  1165326
Решил на выходных тыкать слегка натив фреймворки. Что лучше, брать реакт нейтив или все-таки попробовать флаттер?
Кто игрался с ними? Расскажите как ощущения.
Аноним 30/03/18 Птн 20:17:45  1165329
>>1165326
Он реакта чот блеванул. Тулинг какой-то пиздец ебанутый для меня. Какие-то пляски с нпмом старой версии, подкачивания какой-то хуйни и тд. А ну и жс, может с каким-то врапером типа тайпскрипта оно лучше, но не зашло. Флаттер не тыкал.
Аноним 30/03/18 Птн 20:48:56  1165347
>>1165329
Бля, отзыв конечно пиздецовый.
Хотя инстаграммы всякие и написаны на нем.
Аноним 30/03/18 Птн 20:56:25  1165351
>>1165347
Ну ты бы еще фейсбучными либами на полном серьезе пользовался типа фреско и литсо.
Аноним 30/03/18 Птн 20:58:41  1165355
>>1165351
Ну я фреско только юзал на минималках, без углублений в детали.
Хотя мне почему-то дарт получше читать, в отличии от того же жс, чего у последнего 60к звезд на гитхабе. Сложно все-таки натив выбирать, все-таки продолжу писать на джаве и буду ждать книжку от хед фест про котлин.
Аноним 30/03/18 Птн 21:41:06  1165389
Все-таки мне понравился дарт. Если че, здесь есть анон, который потихоньку копает дарт. Земля мне пухом в свободное моё время.
Аноним 31/03/18 Суб 08:29:45  1165559
>>1161404 (OP)
Анон, посоветуй плез годный демо по Clean Architecture + MVP

Сейчас ковыряю это
https://github.com/android10/Android-CleanArchitecture
Но эта демка говно - state презентера не сохраняется нихуя и при определенном сценарии вообще с NPE падает все нахуй.
Аноним 31/03/18 Суб 09:25:26  1165575
>>1165559
Это ты говно.
Аноним 31/03/18 Суб 10:19:33  1165609
>>1165575
Почему?
Аноним 31/03/18 Суб 10:42:11  1165616
>>1165559
https://github.com/googlesamples/android-architecture
Аноним 31/03/18 Суб 12:15:47  1165651
>>1165616
Благодарю.
Аноним 01/04/18 Вск 21:29:34  1166524
Анон, использую в проекте RxBinding и ButterKnife. И понял, что в разных местах использую разные обработчики нажатия на кнопку, а это хуево ИМХО. Что выбрать в итоге?
Аноним 02/04/18 Пнд 04:23:24  1166623
Анон, что спрашивают на собеседовании на джуна?
Аноним 02/04/18 Пнд 05:29:23  1166625
>>1166623
Загадку про два стула.
Аноним 02/04/18 Пнд 09:17:20  1166651
>>1166524
Если у тебя две библиотеки со схожим функционалом, то ты дурачок.
Убирай все вообще нахуй, либо оставляй рхбиндинг.
Аноним 02/04/18 Пнд 10:59:06  1166666
Как в андроиде проиграть видео и byte buffer'а (никак)?
Аноним 02/04/18 Пнд 11:21:49  1166673
>>1166666
Кто нибудь использовал ExoPlayer? Можно ему буфер с данными отдать?
Аноним 02/04/18 Пнд 12:10:41  1166698
>>1166524
Выкидывай баттеркнайф нахуй.
Аноним 02/04/18 Пнд 13:57:34  1166743
>>1166698
Но мне лень прописывать ебучую инициализацию
Аноним 02/04/18 Пнд 14:12:26  1166759
>>1166743
https://antonioleiva.com/kotlin-android-extensions/

Тем более ты можешь это делать постепенно.
Аноним 02/04/18 Пнд 18:46:55  1166898
>>1166673
ExoPlayer'у можно скормить вообще все, главное напиши реализацию DataSource из трех методов.
Пет проекты для резюмешки вкатальшика Аноним 02/04/18 Пнд 20:10:22  1166935
Читаю доки. Пилю проги.
Забиваю гитхаб хуетой. (Такой хуетой что аж стыдно себе) но активность капает 1000+ коммитов уже захуярил дебил.
Купил гугл плей. Залил туда одно говнище. Находятся дебилы которые даже устанавливают.
Собственно вопрос сколько по хорошему нужно запилить прог на гугл плей чтоб вкатываться в джуниор и было не стыдно за себя??
Есть ли смысл гнаться за количеством? Сделать 10-ток толковых (блокнотик, to-do шечка, таймер будильник, читалка твитеров и т.д.)
Или прям хуярить и хуярить чтоб штук 50-100 всяких крестиков ноликов, пятнашек, змеек, хуеек и прочего.
Аноним 02/04/18 Пнд 21:00:00  1166955
>>1166935
Вася, опять ты что ли?
Тебе же говорили, что аутистам не дают работу.
Аноним 02/04/18 Пнд 21:42:46  1166980
>>1166935
Учи Flutter. Слышал, что про него стали очень часто спрашивать на собесах.
Аноним 02/04/18 Пнд 21:48:51  1166987
>>1166955
Нет я другой аутист
Аноним 02/04/18 Пнд 22:37:30  1167030
>>1166980
Ты рофлишь что ли?
Они еще даже переворот экрана не пофиксили, КАРЛ.
Идет уже 2137 год, даже сами разрабы флаттера хуй забивают на дискуссии молодых людей в issues на гитхабе.
Хотя было бы интересно почитать краткий экскурс и по другому нативному говну, но мало кто интересуется этим.
Да и еще альфа версия.
Если сделают как на иосе, только с дартом, было бы замечательно. Наверное.
Аноним 03/04/18 Втр 01:22:23  1167193
>>1167030
> Они еще даже переворот экрана не пофиксили
Так это и в Андроиде не пофиксили и не пофиксят уже никогда.
Аноним 03/04/18 Втр 09:28:16  1167247
>>1167030
>>1167193
А что не так с поворотом экрана?
ну кроме того что активити пересоздается
Ну так с этим уже вроде каждая собака умеет бороться.
Аноним 03/04/18 Втр 11:24:41  1167270
>>1166524
я бы второе оставил хотя на самом деле разницы большой прям нет
Аноним 03/04/18 Втр 11:37:48  1167276
Задача такая - хочу сделать асинхронную загрузку данных через Rx, но все примеры предполагают, что управление подписками прикрепляется к жизненным циклам активностей. Я бы хотел сделать загрузку, не зависящую от этих циклов (чтобы работала даже в свернутом виде, не зависела от переключений активностей). Но управлять подписками как-то надо (по крайней мере желательно). Гугл предлагает ставить на паузу при уходе в бэкграунд приложения и потом просто возобновлять. Но это как то не очень. Если у кого-то есть что-либо, то достаточно ссылки на ресурс
Аноним 03/04/18 Втр 11:45:52  1167278
>>1167247
>Ну так с этим уже вроде каждая собака умеет бороться.
Ой блять, не начинай. Я не хочу даже думать об этом.
А если еще вспомнить фрагменты и ТО, как ГУГЛ КАЖДЫЙ МАЙ говорит, что ФРАГМЕНТЫ ЗАЕБИСЬ - да идите вы нахуй.
Аноним 03/04/18 Втр 12:43:48  1167304
>>1167278
>фрагменты
:)
Да ну нахуй. Нове гугловские архитектурыне компоненты меня тоже не впечатляют. Я ебашу single activity с кондуктором.
Аноним 03/04/18 Втр 12:46:38  1167308
>>1167276
Зачем ставить на паузу? Можешь глянуть https://github.com/NYTimes/Store. У них ConcurrentHashMap держит некоторое время твои обсервэблы и дедуплицирует одинаковые запросы.
И можешь оставлять свои подписки как есть, можно share на обсервблы просто хуйнуть перед тем как они попадают в лайфцайкловые компоненты. (стор так и делает собственно)
Аноним 03/04/18 Втр 13:17:00  1167317
>>1167276
А что ты вообще планируешь грузить таким образом, что тебе требуется управление подписками в фоне?
Аноним 03/04/18 Втр 16:34:53  1167412
>>1167308
Вот про тему со стором я как раз и думал, просто писать не стал. Посмотрю уже завтра как NYT реализовано (плюс у них там схемки какие то). Спасибо.
>>1167317
Полу-текстовые данные в JSON, в средних объемах (~10 мб) и растянутые по времени в рамках одного получения (5-10 сек, мб чуть больше)
Аноним 03/04/18 Втр 20:59:38  1167579
82V1pwehHm0.jpg (132Кб, 1265x273)
блять что за хуйня7 перерыл все что мог, нигде не нашел описания такой хуйни, поясните плес , хуле не пашет?
Аноним 03/04/18 Втр 21:20:51  1167588
>>1167579
Чувак, тебе в юнити тред.
Здесь такой парашей не занимаются.
Аноним 03/04/18 Втр 21:35:38  1167597
>>1167579
Там все четко и ясно описано.
Аноним 04/04/18 Срд 06:06:03  1167766
>>1167276
Сервисы для кого?
Аноним 04/04/18 Срд 18:04:32  1167979
screenshot.png (60Кб, 600x1067)
Какие могут быть варианты написания приложения без использования фрагментов для организации работы с табами?
Аноним 04/04/18 Срд 18:33:47  1167991
>>1167979
А можно не выебываться и сделать на фрагментах. А варианты такие же, что и в принципе без фрагментов обходиться - кондукторы и мотары всякие.
Аноним 04/04/18 Срд 18:56:39  1168003
>>1167979
>кондукторы и мотары всякие
Ну согласен, да. Иди что-то вроде таких. Одна либа полностью укомплектована и валяется на гитхабе.
Но в основном нужно было ебаться с бек стеком, а здесь особо и ебаться незачем.
Сначала подумой, прежде чем хуярить в свой проект очередную либу.
Аноним 04/04/18 Срд 20:46:32  1168053
>>1168003
> Но в основном нужно было ебаться с бек стеком
Сколько раз слышу это как аргумент против фрагментов, но так и не могу понять, что в этом сложного. Ну ладно там кривые api у камеры или Bluetooth, но тут-то что не так? Что в этом такого сложного?
Аноним 04/04/18 Срд 21:00:29  1168060
>>1168053
> Что в этом такого сложного?
Абсолютно уебанская асинхронная ссанина, которая даже с проверками на isPaused умудряется падать в
> Can not perform this action after onSaveInstanceState
Аноним 04/04/18 Срд 21:17:02  1168066
Анон, что используешь для внедрения зависимостей? Фабрику или какой-нибудь Dagger2?
Аноним 05/04/18 Чтв 06:31:44  1168249
>>1168053
Да взять хотя бы тот факт, что фрагменты будут выпилены из фреймворка и останутся только в саппорт либе.
Аноним 05/04/18 Чтв 08:18:08  1168261
>>1168249
Так хорошо же. Почему это должно быть причиной отказа от них?
Аноним 05/04/18 Чтв 09:49:40  1168292
>>1168066
Ничего. Это анти-паттерн.
Аноним 05/04/18 Чтв 11:10:38  1168322
>>1167979
А как реализовано в последней версии приложения YouTube плеера? Разве там фрагменты используются?
Аноним 05/04/18 Чтв 19:36:21  1168598
>>1168249
>что фрагменты будут выпилены из фреймворка
Вот тоже когда пишу иногда задаюсь вопросом. Всякие action bar, toolbar, постоянно приходится на v4 вниз стрелочкой жмякать.
Это будет чудо, если гугл выпилит все говно и оставит важное в супорт либе. Такому не бывать.
Аноним 05/04/18 Чтв 20:18:39  1168623
>>1168066
Использую даггер и фабрики где нужно динамические параметры передать.
Аноним 06/04/18 Птн 14:16:57  1169081
>>1167979
ViewPager с разными лэйаутами.

https://www.bignerdranch.com/blog/viewpager-without-fragments/
Аноним 07/04/18 Суб 13:59:40  1169599
>>1161404 (OP)
Анон, посоветуй стэк.
Кароче: у меня есть на PC крутится сервачек на python, который парсит сайты и дампит инфу с разных API в db SQLLite. Другой процесс обрабатывает данные из этой db.

Требуется пересылать результаты аналитики на android app. Какой стек технологий подобрать? Направь анон, ато уже несклько дней не могу подобрать. Поглядел firebase, но так и не понял, подойдет ли это для моих нужд?

Сейчас настроил сокет соединение, которое обслуживается через ddns и сервер получает сообщение от andoid app через интернет, но не наоборот (android app получает дату только находясь в локальной сети).

Короче, на прилажухе должны быть поля, в которые постоянно приходят данные. ПОСТОЯННО. и при условии выбрасывать notification.
Аноним 07/04/18 Суб 14:45:54  1169623
60f3b07aa33b82b[...].jpg (65Кб, 550x412)
>>1169599
Сейчас прибежит вуефорсер и будет советовать всё переписать на node.js и vue, мол, через месяц 300кк/нс будешь получать
Аноним 07/04/18 Суб 14:52:33  1169627
>>1169623
а что рили так удобно? дело не в мифических 300ММ/нс, но если будет работать, я уже на все согласен. с js давно знаком, но тесноый дружбы не завязывал, может быть время?
Аноним 07/04/18 Суб 14:58:53  1169631
>>1169627
> js
> удобно
Ты же это не серьезно?
Аноним 07/04/18 Суб 15:01:05  1169633
>>1169623
>300кк
300m
Аноним 07/04/18 Суб 15:02:21  1169634
>>1169631
по счет бэкенда не знаю, однажды по дурости поучавствовал в холиваре и понял, что это иррациональная риторика. Но если поможет для моего случая и я не огребу еще большего геморроя, то почему нет
Аноним 07/04/18 Суб 16:04:52  1169658
>>1169599
Да, бери firebase push api, смотри, на каких языках для неё есть готовые библиотеки. На джаве точно есть. При обновлении данных отправляй информацию на сервер firebase. На телефоне лови эти пуши, проверяй и делай с ними что хочешь.

Даже если ты раньше ничего такого не делал, но умеешь программировать, то тут работы на пару вечеров. Сервер пиши на чем хочешь из поддерживаемых языков, клиент наивный на Java/Kotlin.
Аноним 07/04/18 Суб 20:56:07  1169827
Аноны, помогите нубу разобраться. Хочу написать приложение, суть такова: есть RecyclerView, внутри него карточки CardView. Каждая карточка - это какая-то категория. По тапу на карточку открывается такой же вид, где каждая карточка - это подкатегория, при нажатии на подкатегорию открывается список всех предметов, относяшихся к этой подкатегории. Как можно это реализовать используя один и тот же RecyclerView, просто меняя его содержимое, а не открывая новый activity каждый раз? Проблем еще в том, что список предметов это тоже карточки, но они отличаются от карточек категории, поэтому нужно будет писать какой-то хитрый адаптер, который сможет обрабатывать оба типа. И да, естественно, оно должно быть масштабируемым, т.е. может быть любой уровень вложенности категорий друг в друга.
Аноним 07/04/18 Суб 21:27:16  1169842
Каким образом провести проверку на null???


String likedJsonPrefs = prefs.getString(LIKED_ID, null);
String[] likedArrPrefs = gson.fromJson(likedJsonPrefs, String[].class);
???
likedWebmList.addAll(Arrays.asList(likedArrPrefs));
А то при NPE при обращении к методу addAll возникает, пока не сохраню в преференсах строку. Пробовал проверить длину массива (length), то аналогичная проблема. Спасибо.
Аноним 07/04/18 Суб 21:35:58  1169851
>>1169827
> а не открывая новый activity
Слишком замудренные предложения. Если по нажатию на кардВью тебе нужно отобразить то, что нужно без активити - юзай фрагменты.

>>1169842
> А то при NPE при обращении к методу addAll возникает, пока не сохраню в преференсах строку.
А как ты хочешь? Сразу в гсон.фром в первый параметр пихнуть преференс гет стринг?
Аноним 07/04/18 Суб 21:40:56  1169854
>>1169851
То есть, мне все таки придеться открывать новый activity по нажатию на карточку, даже если единственное, что поменялось - это список карточек?
Аноним 07/04/18 Суб 21:41:56  1169855
>>1169854
Просто передавай новый data source в свой адаптер.
Аноним 07/04/18 Суб 21:44:56  1169857
>>1169855
При смене с категории на подкатегорию я могу просто поменять данные и вызвать nortifyDataSetChanged и он перестроится. Но при смене с категории на предметы мне нужно по-другому их отрисовывать.
Аноним 07/04/18 Суб 21:45:30  1169858
>>1169854
А, так суть в адаптерах. Нахуй тебе нужен загромажденный адаптер?
Можешь юзать getItemByType или как-то так, в общем, примеров много.
Если только менять вьюшки, то это легко в принципе. но при тапе ты можешь открывать новый фрагмент, где получишь данные и хуйнешь это в свой базисный адаптер, где он и определит эти данные в соответствующий леяут.
Аноним 07/04/18 Суб 21:46:31  1169859
>>1169857
> Но при смене с категории на предметы мне нужно по-другому их отрисовывать.
Ну так отрисовывай, хули.
Аноним 08/04/18 Вск 02:07:37  1169928
>>1169851
Делаешь интерфейс, в нём вложенные классы. Один класс - один уровень категории. Дальше просто забиваешь свой ресайклер элементами в нужном порядке. Некоторые скрываешь, некоторые нет. Мне кажется, что это может сработать.
Аноним 08/04/18 Вск 02:08:44  1169929
Бля, промазал.
>>1169928 вот сюда >>1169827
Аноним 08/04/18 Вск 02:09:32  1169931
>>1169842
Оберни в Optional из Java8.
Аноним 08/04/18 Вск 11:33:28  1170020
>>1169827
Пилишь несколько разных вьюхолдеров, оверрайдишь getItemViewType и в методах onCreateViewHolder и onBindViewHolder делаешь свич-кейс when, если ты белый человек и там уже расписываешь свои карточки. И да, никогда не делай notifyDataSetChanged, если изменилось менее 90% датасета, а сам он меньше ~200 элементов. Лучше используй notifyItemRangeChanged, или просто notifyItemChanged.
Вот тебе ответ со стека, там как раз то, что я описал: https://stackoverflow.com/questions/26245139/how-to-create-recyclerview-with-multiple-view-type/26245463#26245463
Аноним 08/04/18 Вск 11:51:17  1170029
>>1170020
Блять, ему это уже 3 раза расписали, и ты еще 4 раз пишешь одно и тоже.
Аноним 08/04/18 Вск 13:34:12  1170087
>>1169658
Что лучше выбрать между django и firebase? Чтобы с заделом на будущее?

вообще стал копать джанго, потому что хочу поднять на домашнем компе, тем более весь бэкенд критится на питоне. С другой стороны, firebase тема годная и, думаю, понадобится.
Аноним 08/04/18 Вск 13:41:05  1170094
>>1170087
> django и firebase
Firebase это весело, когда им пользуешься только ты и твой кот. Потом начинает приходить счет на пару сотен долларов в месяц в там, где можно было обойтись впской за 10 бачей.
Аноним 08/04/18 Вск 13:54:31  1170107
>>1170094
хм, тогда может поднять джанго на амазоновском хосте?
Аноним 08/04/18 Вск 17:40:58  1170194
Как организовывать структуру проекта с dagger и rxjava?
Хотел MVP использовать, но во всех примерах структура разная, и я хз какой придерживаться.
Алсо, приложение планируется не маленьким - апи, бд, карты и прочее
Аноним 08/04/18 Вск 17:47:04  1170199
>>1170194
Чем тебя MVP не устраивает? Дополни её каким-нибудь интерактором и репозиторием, где распишешь общую бизнес-логику и работу с данными. В презентер вынесешь только логику представления и частную бизнес-логику.

Вообще структуру ты выбираешь сам и строишь её таким образом, чтобы было удобно тебе/твоей команде. Самое главное, чтобы ты не запутался в ней, и было понятно почему и зачем что-то сделано именно так.
Аноним 08/04/18 Вск 17:49:33  1170203
Анон, где можно почитать про реализацию Material Motion без сторонних либ. Сам искал и не нашел норм инфы.
Аноним 08/04/18 Вск 18:19:07  1170223
>>1170194
>Хотел MVP использовать, но во всех примерах структура разная, и я хз какой придерживаться.
>Алсо, приложение планируется не маленьким - апи, бд, карты и прочее
Нахуй вообще тебе всякие ЭМ ВИ ПИ и тому подобное?
Бери пример с меня, ебашь все сразу. А потом и образуется как-нибудь.
Аноним 09/04/18 Пнд 02:23:10  1170528
>>1170020
Т.е. ты хочешь сказать, что если меняется весь датасет, то лучше сделать сделать notifyItemChanged для каждого элемента, я правильно понимаю?
Аноним 09/04/18 Пнд 02:50:08  1170533
Открыл я тут недавно диспетчер задач, а там висят штук 15 неубитых adb, каждый из которых по ~100Кб. Какого черта эта хрень не убивается сама при закрытии эмулятора/студии?
Аноним 09/04/18 Пнд 08:02:55  1170569
>>1170528
Лучше уж notifyItemRangeChanged, раз у тебя вообще все меняется.
Аноним 09/04/18 Пнд 08:08:31  1170570
>>1170020
Вместо нотифаев лучше вообще юзать DiffUtil, особенно с разными типами итема
Аноним 09/04/18 Пнд 15:07:52  1170728
>>1170569
А он будет работать, если итемов стало больше/меньше? Мне тогда после обновления датасета делать notifyItemRangeChanged(0, items.size())?
Аноним 09/04/18 Пнд 16:20:28  1170748
LifeCycle.jpg (73Кб, 607x846)
К вопросу про фрагменты. Не успел я остудить свою жопу от доёбов гугла к моему приложению по поводу авторских прав в API одного сайта, как он подкидывает другой повод.

Дано: NavigationDrawerActivity c TabFragment в нём, в котором грузятся фрагменты. Начало моё приложение падать с NPE при попытке изменения TextView после возврата к нему. Ну подумал, что это из-за того, что асинктаск завершается быстрее, чем происходит findviewbyid для вьюхи в onCreateView (он запускается из onCreate - я понимал, что из-за этого могут возникнуть проблемы, но забил). Тем более, что данных приходило меньше на этой неделе чем обычно. Вкратце перекинул старт этого таска в onStart.

NPE перестало появляться, но сломалась пагинация, поэтому я продолжил копать дальше. Раскидал по жизненным событиям логирование, по своим функциям тоже. Вижу, что после возврата в foreground приложения вроде создаются две копии одного и того же фрагмента. Ну копаю дальше, дописываю события, логирую их. Смотрю лог, и что я вижу - эта сука действительно создаёт один инстанс и стартует таск в onCreate, а после стартует ещё один инстанс в onStart, хотя по пикрилу да и по логике такого не должно быть. Андроид благополучно забывает об этом и вспоминает об этом только после того как асинктаск завершается, конечно же вьюха под эти даннеы не создана и вылетает NPE https://pastebin.com/M46qteUA . Сука, ну как можно было ТАК ОБОСРАТЬСЯ!!!

А вообще из-за чего это начало происходить. После возврата в приложение показывался StartFragment, то есть происходил onCreate Activity. Но сука бэкстэк при этом всегда был не пустой!!! И если нажать "Назад", то возвращало к реально последнему состоянию последнего фрагмента перед остановкой приложения. Я сделал проверку на состояние бэкстэка и чтобы этот последний фрагмент грузился после рестарта (через onCreate естественно, с проёбом состояния). После этого начал вылетать NPE.

Блять, ну какие жу всё-таки пидарасы в гугле!
Аноним 09/04/18 Пнд 18:46:37  1170827
>>1170748
Интересная картинка. теперь я понял как онБекПрессед работает.
Аноним 10/04/18 Втр 07:14:37  1171064
анон, тыкни, куда идти? Нужен стэк для клиент-серверного прилажения, которое юзать будем только мы с котом.
Что нужно: чтобы прилажуха отображала цыферки с бекенда на питоне. На примете: django, firebase, пушить файл на ftp и с него забирать. Как проще всего сделать?
и кстати, правда, что сокет не работает через инет вовсе? настроил только с андроида на сервер, но не наоборот.
Аноним 10/04/18 Втр 09:01:44  1171090
>>1171064
Ты бы уже написать всё успел, за что время, пока сидишь стек выбираешь.
Аноним 10/04/18 Втр 09:06:17  1171091
>>1171090
да пишу. хотелось бы посмотреть на другие варианты. ато не очень хочется побеждать в велотуре
Аноним 10/04/18 Втр 11:23:30  1171159
>>1171064
1. Подключаешься по сокету на свой сервер и получаешь данные, показываешь их. Держишь либо это соединение всегда, либо только пока открыто приложение.
2. Получаешь данные по требованию через http и отображаешь их. Добавляешь новые записи через GCM/FCM постепенно.
Аноним 10/04/18 Втр 11:26:48  1171161
>>1171159
так сокет только в локальной сети работает же?
Аноним 10/04/18 Втр 11:42:37  1171172
>>1171161
Сделай себе белый айпи, в чём проблема?
Аноним 10/04/18 Втр 11:52:16  1171179
>>1171172
>Сделай себе белый айпи, в чём проблема?
белый - это статичный? Если да, то я настроил статичный IP через no-ip, ddns, port forwarding. Но это на PC. Андроид все равно не получает данные на сокет. Говорят, что за натом. Плохо понимаю что это и как обойти.
>Получаешь данные по требованию через http и отображаешь их. Добавляешь новые записи через GCM/FCM постепенно.

какие тут endpoints? не знаком с технологией и плохо шарю в сетях. Что начать читать? Ато не представляю как происходит обмен данными. было бы готовое решение - было бы замечательно
Аноним 10/04/18 Втр 11:58:42  1171184
>>1171179
Проще, покажи что ты уже сделал. Кто тебе говорит что твой андроид за натом. У тебя андроид уже слушает какой-то сокет и пытается через него получать данные?
Аноним 10/04/18 Втр 12:10:44  1171193
>>1171184
на android:
public class MainActivity extends AppCompatActivity {

EditText e1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
e1 = (EditText)findViewById(R.id.editText);

Thread myThread = new Thread(new MyServerThread());
myThread.start();
}

class MyServerThread implements Runnable
{
Socket s;
ServerSocket ss;
InputStreamReader isr;
BufferedReader bufferedReader;
Handler h = new Handler();
String message;

@Override
public void run() {
try
{
ss = new ServerSocket(7801);
while(true)
{
s = ss.accept();
isr = new InputStreamReader(s.getInputStream());
bufferedReader = new BufferedReader(isr);
message = bufferedReader.readLine();

h.post(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();

}
});
}
}catch(IOException e)
{
e.printStackTrace();
}
}
}

public void send(View v)
{
MessageSender messageSender = new MessageSender();
messageSender.execute(e1.getText().toString());

}
}

тут пытаюсь послать на IP телефона:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('myIP', 7801))
s.send(b'Oi you sent something to me \n')
data = s.recv(64)

но ничего не приходит. Еще есть класс MessageSender, который отлично пересылает на сервер через адресс no-ip. Но вот с сервера на androir не приходит. Может myIp (ip смартфона) как-то тоже нужно настроить через no-ip?
Аноним 10/04/18 Втр 12:18:22  1171202
>>1171193
Так, абажжи. У тебя в роли сервера выступает телефон, а в роли клиента домашний сервер?
Аноним 10/04/18 Втр 12:20:39  1171203
>>1171202
Ну как я понял, сокет-сокет, это пир то пир. Нужно же и там и там сервер?
Аноним 10/04/18 Втр 12:22:56  1171206
>>1171203
вообще решения этой проблемы передачи на сокет смартфона так и не нашел. Восновном говорят, что телефону это не позволяется не из под рута и провайдеры НАТят Ip смарта
Аноним 10/04/18 Втр 12:30:42  1171208
>>1171203
ты уж определись, тебе нужен пир-ту-пир или клиент-сервер
Аноним 10/04/18 Втр 12:32:25  1171210
>>1171208
да что проще то и лучше) пока пишу бэкенд на питоне и пушу нотификейшены на андроид через сервис. Но в было бы отлично с помощью несложной технологии прямо с питона слать дату в прилажуху.
Аноним 10/04/18 Втр 13:42:17  1171225
Сап, анунасы, тут кто-то занимался сборкой андроида под свой смуртфон (AOSP или Lineage OS)?

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

https://source.android.com/setup/build/building

Есть у кого-то более детальное объяснение?
Аноним 10/04/18 Втр 14:56:37  1171253
>>1171210
>и пушу нотификейшены на андроид через сервис
Аноним 10/04/18 Втр 14:57:55  1171254
>>1171210
>и пушу нотификейшены на андроид через сервис
я так понимаю, речь как раз о GCM/FCM. Это нормально на самом деле.

Просто с клиента (приложение под абдроед) подключайся по сокету к серверу своему. Данные можно слать в обе стороны если что через это подключение. Всё.
Аноним 10/04/18 Втр 17:16:55  1171301
сап, андроидасы, ебашу ваще адовую приложуху. В ней есть один ViewPager. Как правильно обрабатывать повороты экрана в нем? Записываю в onSaveInstanceState номер фрагмента, и при повороте выводится нужный, но при этом "за секунду до" происходит анимация пролистывания и виден кусок фрагмента идущего перед нужным. Как это вылечить?
Аноним 10/04/18 Втр 18:35:00  1171331
>>1171225
> застрял на шаге сборки проприетарных блобов и не могу понять что мне делать
Тебе нужно накатить оригинальную прошивку, подрубить по усб и запустить скрипт, который вытащит из нее все блобы.
Аноним 10/04/18 Втр 19:59:18  1171370
sisyphus1631715.jpg (91Кб, 500x353)
Несколько раз в год меня одолевает уныние от существующих языков и желание создать новый, лучше всех имеющихся. Чаще всего это желание улетучивается почти сразу, изредка приводит к созданию очередного диалекта лиспа, с каждым разом все меньше похожего на лисп.

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

Итак, какова основная цель этого языка, что должно быть основой его философии? Продуктивность. С этого и начну.
Аноним 10/04/18 Втр 20:12:40  1171372
>>1171370
> Несколько раз в год меня одолевает уныние от существующих языков и желание создать новый, лучше всех имеющихся
Лучше андроид сдк перепиши, у меня от него уныния еще больше.
Аноним 10/04/18 Втр 20:15:40  1171375
>>1171370
Что влияет на продуктивность? На что разработчик тратит время?
1. Написание кода;
2. Написание тестов;
3. Прогон тестов;
4. Ручное тестирование;
5. Дебаг;
6. Рефакторинг;
7. Поиск библиотек;
8. Поиск документации;
9. Чтение кода и документации.
Вероятно, я забыл еще столько же пунктов, но надеюсь, что самые важные я не забыл.

>>1171372
Как только придумаю идеальный язык — так сразу же создам идеальный сдк под все платформы, под небо и под аллаха.
Аноним 10/04/18 Втр 20:43:04  1171381
>>1171301
Потому что ты говоришь так и говоришь ему.
Ищи ответы на стековерфлоу.
Типичная ситуация.
Аноним 10/04/18 Втр 20:45:13  1171383
>>1171370
Уже есть такой язык, и это котлин.
Но я пока его не буду учить, жду от Head First книжечки.
Аноним 10/04/18 Втр 20:50:20  1171385
>>1171383
> жду от Head First книжечки.
Блять, прочекал, она 25 октября выходит.
Пиздец.
Аноним 10/04/18 Втр 20:54:10  1171391
>>1171375
1. Написание кода.
Что мешает писать код легко и быстро? Я вижу три проблемы: бойлерплейт, ритуалы и парадокс выбора.
С бойлерплейтом все понятно — если языку не хватает выразительности, то приходится писать много повторяющегося кода. Нужны метаинтструменты хотя бы в виде ФВП.
Ритуалы — например, излишне строгая система типов заставляет переписывать код, который мог бы и работать. Больше всего с такой проблемой я успел столкнуться в PureScript — ошибка "Skolem type variable bound by temp has escaped" во всех тех случаях являлась серьезной с точки зрения системы эффектов, но не имела никакого значения для рантайма. Видеть такую ошибку в языке, ориентированном на корректность, вполне нормально, но для продуктивности этого лучше избегать.
Парадокс выбора — при возможности писать слишком умный и слишком разный код теряется время на размышления о лучшем подходе. Лучше, чтобы язык склонял к написанию как можно более тупого кода, оставляя кривые лазейки для умных решений.

>>1171383
Котлин хорош, но для меня он ощущается как нечто слишком знакомое, а потому не восхищающее.
Аноним 10/04/18 Втр 20:58:39  1171393
>>1171391
>Котлин хорош, но для меня он ощущается как нечто слишком знакомое, а потому не восхищающее.
Если и ебашить язык, то поверх котлина.
Ты все равно не осилишь.
Аноним 10/04/18 Втр 21:08:05  1171395
>>1171375
2. Написание тестов;
Тестирование обычно является епархией библиотек, а не самого языка. Но я-то вижу в своих влажных мечтах идеальный инструментарий, а для идеальности дизайн самого языка должен учитывать потребность в тестировании.
Как упростить написание тестов? Например, можно ввести поддержку докстрингов с примерами вызова функции, как это сделано в эликсире. Полноценным тестированием это не является, но иметь пару гарантированно рабочих примеров будет полезно.
Дополнительно, нужны метаинструменты для создания моков и стабов.

3. Прогон тестов;
Пожалуй, к дизайну языка это отношения не имеет, но реализация должна делать доступной граф зависимостей, чтобы тестовая система знала, какие тесты нужно запускать и не тратила лишнего времени.
Аноним 10/04/18 Втр 21:29:54  1171405
>>1171375
4. Ручное тестирование
Как можно тестировать вручную? Один из вариантов — запускать все приложение и смотреть на результат. Другой вариант — запускать репл, импортировать функцию и играться с ней.
В обоих случаях желательно минимизировать время компиляции/интерпретации и количество пересобираемых компонентов. Нужна простая грамматика, подобная паскалю, чтобы токенизация и построение AST происходили за миллисекунды даже на больших приложениях. Нужна быстрая на старте VM — монстры вроде JVM и V8 слишком медленные, куда лучше ориентироваться на LuaVM (и может быть MoarVM).
Более того, вместо традиционного компилятора лучше иметь компилирующий сервер, который будет отслеживать все изменения и пересобирать нужные части без лишних указаний. Этот же сервер может реализовать LSP для поддержки языка редакторами.

>>1171393
>Если и ебашить язык, то поверх котлина.
Я пытаюсь задизайнить язык, преследующий определенную цель, а не просто склонировать чей-то синтаксис и идеи. Зачем мне брать за основу котлин?
>Ты все равно не осилишь.
К чему такой негатив?
Аноним 10/04/18 Втр 21:36:30  1171413
>>1171405
>К чему такой негатив?
А что ты можешь? Ты тратишь свое время на непонятные ответы. Если бы ты хотел, ты бы начал делать. И тем более, одному это пиздец как долго.

>Зачем мне брать за основу котлин?
Котлин как пример людей, которые ебашили его с 11-го года. А что можешь ты, один человек, предложить андройду? Нихуя. Влажные мечты и только.
Аноним 10/04/18 Втр 21:47:06  1171416
>>1171375
5. Дебаг;
6. Рефакторинг;

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

Однако, этого мало. Лучше минимизировать потребность в дебаге как таковом. Как это сделать? Многие проблемы отлавливаются подходящими системами типов. Но проверка и вывод типов — операция дорогая, а это противоречит замыслу сделать компилятор быстрым. Как быть?
Очень просто: исходный прогон компилятора должен относиться к языку, как к динамически-типизированному. Всякая синтаксически-верная программа должна запускаться. И лишь затем, когда первичный прогон завершен, в фоновом режиме можно продолжить заниматься тайпчеком, попутно оптимизируя и заменяя динамические части статически-проверенными. Раз у нас уже есть языковой сервер — надо использовать его по полной. Более того, подобный фоновый режим тайпчека и оптимизации позволит использовать плагины-тайпчекеры и плагины-оптизиматоры, сохраняя при этом все прелести быстрой компиляции. Выходит как JIT, но на пару шагов дальше.


>>1171413
Вопрос не в том, могу я или нет, стану я или нет. Вопрос был в другом: зачем нужен этот негатив?
Аноним 10/04/18 Втр 21:59:47  1171423
Перекатился из закрепа
Аноним 10/04/18 Втр 22:00:19  1171425
4.png (5Кб, 385x203)
Господа, как мне запилить распознавание текста в формочках(пикрелейтед)?
Мне нужно по фотке распознавать что записано в каждом прямоугольнике( всё будет рисоваться от руки)
Порядок действий такой:
1.Я программно задаю формы-разметку. Определяю что там должно быть записано внутри.
2.Потом пользователь рисует такую-же разметку, вписывает свои данные.
3.Я сравниваю то, что должно быть, и что нарисовал пользователь.
Аноним 10/04/18 Втр 22:01:30  1171427
>>1171425
Причем здесь вообще андройд? Больной ублюдок.
Аноним 10/04/18 Втр 22:02:34  1171429
>>1171427
Потому, что буду пилить на Андроиде.
Аноним 10/04/18 Втр 22:05:04  1171430
>>1171425
android vision
Аноним 10/04/18 Втр 22:05:10  1171431
>>1171429
Хорошо. А теперь научись писать более понятно.
Первое, что тебе нужно сделать, это найти библиотеку распознавания говна.
Аноним 11/04/18 Срд 00:25:02  1171476
>>1171381
часа три просидел там, ничего подходящего не нашел. Сюда уже от безысходности решил написать.
Аноним 11/04/18 Срд 00:53:23  1171484
>>1171476
господи, как все просто то было. метод setCurrentItem view pager'a может принимать 2 параметра viewPager.setCurrentItem(position, false) где false как раз таки запрещает прокрутку.
Аноним 11/04/18 Срд 02:33:37  1171505
>>1171331
А каким скриптом вытаскивать блобы?
Аноним 11/04/18 Срд 16:49:33  1171763
Все привет, кто-то занимался такой херней, как написанием кастомных ромов (под один конкретный девайс), чтоб при включении телефона было всего 1 какое-то приложение и при этом не было бы вообще системных
Аноним 12/04/18 Чтв 06:36:10  1172061
Ананасы, сколько в часах займет небольшой мвп проект с дерганьем информации из интернета и отображением этой информации в нескольких ресайклерах для воннаби джуна, который не работал с интернетом в андроиде алсо поясните за окХттп, ретрофит и воллей, что из них самое быстрое/простое относительно изучения и имплментинга?
Аноним 12/04/18 Чтв 10:44:46  1172127
>>1172061
часов 30 максимум.

> окХттп, ретрофит и воллей, что из них самое быстрое/простое относительно изучения и имплментинга
связка okhttp+retrofit , применяй ее, про воллей смело забывай и забивай. Ретрофит быстр в работе и элементарен в использовании, ты за час по сути полностью освоишь работу с ним. Во всех конторах котируется именно он
Аноним 12/04/18 Чтв 11:49:44  1172158
>>1172127
Спасибо за ответ, анон, пойду гуглить мануалы по ретрофиту. Хорошей тебе жизни.
Аноним 12/04/18 Чтв 13:41:30  1172226
Анонасы. Наверное платина, но подскажите, что нужно чтобы поднять: python backend (на PC) и посылать данные в android?

inb4: socket, django (пока такой размах не нужен), firebase (не охта связываться с гуглом).
Аноним 12/04/18 Чтв 18:43:20  1172455
>>1172226
Хуй его знает. Берешь и поднимаешь. Я вот тоже думаю в бэк как-нибудь углубляться, но только в руби.
Аноним 12/04/18 Чтв 20:44:14  1172545
Ребят, есть клиент-серверка, если отсутствует инторнет, то вылезает много скрытых багов и не только. Хочу сделать проверки начиная с начала запуска приложения и во время работы. Нагуглить удалось только конкретную реализацию проверки на isOnline, но чтобы на все уровни программы относилось - нет. Кто что практикует в своих проектах?
Аноним 12/04/18 Чтв 21:16:50  1172564
>>1172545
Cмотря что у тебя там.
Если что-то вроде вк, так ебни ис онлайн - фалсе, тащить ласт данные с бд.
Расписывай конкретней.
Аноним 12/04/18 Чтв 23:07:34  1172624
>>1172545
На экспешн с отсутствием интернета выводи соответствующую ошибку на весь экран и всё. Посмотри 3 статью Ханнеса Дорфмана про MVI, он там как раз обрабатывает ошибки.
Аноним 14/04/18 Суб 16:15:23  1173617
Помогите разобраться с okHttp3. Клиент сбилдил, реквест сбилдил, запрос отправил. Вроде бы все работает, но очень медленно. Отправил второй запрос - пришло быстро. В вики написано про коннекшнПул, создание и кеширование коннекшнов, но я не понимаю, как задать использование одного коннешкна, чтобы не тормозить реквест.
Аноним 14/04/18 Суб 17:20:21  1173669
>>1173617
> как задать использование одного коннешкна, чтобы не тормозить реквест.
Используется Persistent HTTP или нет решает сервер, а не клиент.
Аноним 14/04/18 Суб 21:04:30  1173795
>>1173669
Спасибо за разъяснение. В любом случае, какие параметры обычно используют для okHttp коннекшна? Это ведь одна из самых распространенных либ для интернета, но при этом другие приложения не тормозят при соединении с сервером.
Аноним 15/04/18 Вск 01:56:48  1173936
>>1171430
>Как же хочется тянучку
>android vision
...
Аноним 15/04/18 Вск 19:33:57  1174371
Посоветуйте погодные апишки с нормальной документацией
Аноним 15/04/18 Вск 20:51:38  1174436
>>1174371
https://2ch.hk/abu/res/42375.html
Аноним 15/04/18 Вск 21:10:50  1174459
>>1174371
Зачем?
Аноним 15/04/18 Вск 21:12:09  1174462
>>1174459
Лабу делаю
Аноним 15/04/18 Вск 21:28:29  1174487
>>1174462
Можешь по чему угодно делать.
У меня курсовая по этой параше будет
https://www.themoviedb.org/documentation/api
Аноним 15/04/18 Вск 21:34:00  1174498
>>1174487
> У меня курсовая по этой параше будет
А потом они на собеседовании своим дипломом хвастаться будут...
Аноним 15/04/18 Вск 21:46:46  1174514
>>1174487
Я поздно взял тему и там из нормальных только погодка осталась, опенвезереапи нагуглил, там доки ебнутые, еще даркскай есть, но там нету возможности город выбрать (надо через левый сервис переводить координаты в город и наоборот)

>>1174498
Я миддл
Аноним 15/04/18 Вск 22:33:35  1174545
>>1174498
>А потом они на собеседовании своим дипломом хвастаться будут...
Это курсовая. Диплом у меня на следующий год. Кек.
Аноним 16/04/18 Пнд 08:07:40  1174745
Писал проги для яблока, и вообще в целом на обжектив с, с# и с++, внезапно они понадобились на андроиде. И у меня сразу куча вопросов:
Как я могу конвертировать кучу больших баз данных .plist в базы данных андроид студио? У андроида вообще есть что-то удобное, быстрое и визуальное?
Хули я должен постоянно импортировать используемые вещи и они не подключены по дефолту? Нет, ну серьезно, даже чтобы нажать на кнопку надо что-то импортировать. И мне кажется, или я в процессе кучу лишнего пишу, в си такой хуйни не было.
А вот сторибоард с констрантами охуенны, но я еще учусь - хули хедер и футер кажутся неизменяемыми какими-то, лайк навигейшн контроллеры из хкода. Почему они не едины как-то с центральной частью. Я туда даже кнопки кинуть не могу свои.
Вообще есть какие-нибудь хорошие видеогайды? Да, я шапку смотрел. Мне бы что-нибудь на русском без смс и регистрации. Чтобы прям шли и поясняли, зачем эту хуйню пишут и почему и какие полезные фичи есть.
Аноним 16/04/18 Пнд 10:23:14  1174797
Аноны, нужна консультация. Суть такова. Учусь в андроид методом погружения. Стоит следующая задача:

Нужно мониторить курьеров и накладывать маркеры на карту с их местоположением.

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

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

Какие подводные камни?
Аноним 16/04/18 Пнд 10:36:49  1174799
>>1174797
Получать с бэкенда сразу всех 30 курьеров JSON-массивом.
Аноним 16/04/18 Пнд 17:37:44  1174994
>>1174797
>Какие подводные камни?
Да никаких. Похуй на эту архитектуру, ты сначала так попробуй реализовать.
Сразу скажу, тебе нужно ебнуть сервисы. Если они передвигаются и отправляют свое расположение в бек - значит тебе тупо придется дергать этот бег через 3-4 минуты - это и будет у тебя в главном сервисе.
Потом ебнишь мап, захуяришь туда координаты и дело пошло.
Аноним 16/04/18 Пнд 21:51:41  1175121
Кто как учил рхДжаву? Я понял что такое observable и onSubscribe, понял несколько операторов. Но не понятны такие вещи как CompositeDisposable например, или еще отписки эти. Как и что. Столько много инфы дается что пиздец
Аноним 17/04/18 Втр 09:19:40  1175261
>>1174745
>сторибоард
Забудь это говно, господи как же я бомблю от сторибордов в хуйкоде (от ебанутого передвигания мышкой).
Каких нахуй базы данных ты держишь в плисте? Это ж тупо ключ-значение, никаких простых средств нет, можешь написать свой конвертер. Строки/стрингдикты относительно легко перевести, находится они должны будут res/values/*.xml. Аналог Info.plist это AndroidManifest.xml, там должны быть декларации компонент ведра (с картинками для приложухи), пермишены и можно держать ключики для сторонних апи. Удобное-визуальное? Ну разве что для локализации строк. Массивы строк/картинок в arrays.xml, вообще конечно зеркального отображения не будет, но оно и не нужно.

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

>хули хедер и футер кажутся неизменяемыми какими-то, лайк навигейшн контроллеры из хкода. Почему они не едины как-то с центральной частью.
А это уже как ты сделаешь (можно же не только фрагментами хуярить, в отличии от айоси, где от навконтроллера неуютно), на самом деле ты можешь пихать туда свои вьюхи, но лучше так не делать, для тулбара можно делать кастомные actionView, это по сути будет UIBarButtonItem с кастомной вьюхой.

>Мне бы что-нибудь на русском без смс и регистрации
Разве что http://startandroid.ru/ru/ , но там скорее всего много старья и не на котлине вроде. Ты же не учил айось на русском, дно же.
Аноним 17/04/18 Втр 09:39:37  1175263
1.png (16Кб, 980x354)
2.png (20Кб, 701x406)
>>1175261
Ну хуй знает, мне удобно мышкой, прям двигаю и чувствую как нравится.
На скринах база в плисте, 25к строк и есть еще больше и много разных, их делаю не я, просто вставляю и программа работает. То есть их должны мочь сделать обычные пользователи, например. То есть ты видишь - у меня словарь, внутри которого словари, в которых еще словари в которых массивы со стрингами и т.д. Печально, что нет конвертера, какой-то гемор прям. Планирую в андроиде делать базы лайк 2 скрин. Конвертиую хмл в ТайпедАррей и стринг-аррей и по ключам и индексам иду дальше. Какой-то гемор, что нет просто массива, в котором могут нормально лежать массивы и прочие вещи по соседству. Вроде есть листы как в с# и еще что-то, я в процессе.
Я пока делаю в дефолтах, я понимаю, что я могу всё снести и чистую нужную вьюху туда заебашить, но пока не понимаю как с текущей дефолтной шапкой работать.
И да, я учил айось на русском. Конечно, все проблемы приходится гуглить только на английском, как и 99% прочих вещей. Мне нужны нормальные пояснения, где какие кнопки и что я вообще могу. Например вот база в хмле, какие варианты её сделать, сейчас у меня примерно такая же вложенная структура, какая была, но можно ли как-то по-другому и проще/сложнее. Как извлечь данные в какие-нибудь нормальные массивы из неё и т.д. Я такого пока не нашел, везде показаны, обычно, дефолты с простыми стрингами, а дальше типо сами разбирайтесь. вот могу арреи, могу арреи со стрингами, а что еще могу?
Аноним 17/04/18 Втр 11:40:28  1175290
анонасы, не понимаю, как c гита выкачанный проект собрать
будьте добры, помогите разобраться
Аноним 17/04/18 Втр 11:43:09  1175292
>>1175263
> а что еще могу
Ты че ебанутый в нотепаде++ кодить?
Тогда открываешь документацию и смотришь что класс может.
Куда ты их вставляешь? Тебе контент менеджер присылает хуйню что ли?
Аноним 17/04/18 Втр 13:07:26  1175309
Я в своей мотороле не обнаружил возможности посмотреть какие приложения прямо сейчас жрут оперативку, сколько жрет каждое из них, и выкинуть оттуда выбранные.
Сделать такое в качестве своего первого приложения- нормальная идея?
Аноним 17/04/18 Втр 15:54:58  1175393
Да что это за уебанство, блять?
Аноним 17/04/18 Втр 15:56:06  1175394
>>1175393
Аноним 17/04/18 Втр 16:34:09  1175422
>>1175393
А в чем проблема?
Аноним 17/04/18 Втр 17:47:59  1175559
Есть ли челики, которые хотят ведройд покопать вместе? Попилить что-нибудь этакое.
Аноним 17/04/18 Втр 18:23:25  1175594
>>1175559
Я хочу, но не могу, я пока на уровне "бля, что тут вообще писать и куда, а еще эта ваша джава ебанутая"
Аноним 17/04/18 Втр 18:27:32  1175596
Я пытаюсь вкатиться после рельсов, не понимаю как тут жить. Я могу как-то узнать что вернет выражение не запуская эмулятор? Вот например, хочу узнать что возвращает getSystemService(ACTIVITY_SERVICE), как мне получить результат?
Аноним 17/04/18 Втр 18:34:41  1175599
image.png (68Кб, 633x531)
image.png (612Кб, 837x479)
>>1175596
>Вот например, хочу узнать что возвращает getSystemService(ACTIVITY_SERVICE), как мне получить результат?
Какой результат?

>>1175594
Если ты готов долбиться каждый день, то неплохо было бы делать это вместе
Аноним 17/04/18 Втр 19:01:00  1175603
Наверняка тут много людей, которые хорошо знают ответ на данный вопрос.

Есть json ответ сервера с новостями. Воспользовался сервисом, который автоматически генерит сеттеры и геттеры . Он сгенерировал два класса, в одном классе геттеры и сеттеры для описания конкретного айтема, а второй класс имеет сеттеры и геттеры для списка. Как сделать правильно, объединить в один класс или оставить как есть?
Аноним 17/04/18 Втр 19:03:29  1175605
>>1175603
>о знают ответ на данный вопрос.
Ну у тебя может быть один класс, который содержит лист новостей бугуртов, а есть класс бугурты - которые содержат расписание, тему, уровень возгорания автора и т.д.
А лучше бы скрины приложить, ты читать сам классы не умеешь что ли?
Аноним 17/04/18 Втр 19:51:43  1175618
>>1175605
Они там по ебанутому названы. Класс с описанием Event, а у списка класс называется Example.
Аноним 17/04/18 Втр 19:54:40  1175620
Почему он воспринимает mp4 за изображение?
Аноним 17/04/18 Втр 20:41:02  1175641
>>1175620
Это просто иконка.
Аноним 17/04/18 Втр 21:05:34  1175659
на реддите выложили книжку по андройду, свежайшую, апрель 18 год.
ссылка: http://book.goalkicker.com/AndroidBook/
инфа: https://www.reddit.com/r/androiddev/comments/8csgaw/free_android_development_pdf_book/
Аноним 18/04/18 Срд 00:22:25  1175792
>>1175659
Спасибо, анон.
Аноним 18/04/18 Срд 06:37:36  1175885
Как динамически менять значение после знака "="? То есть как завязать сюда переменную category?
Аноним 18/04/18 Срд 09:20:08  1175926
>>1175885
@get("list.php")
Observable<> getSomeShit(@Query("category") String yourShityCategory)
Аноним 18/04/18 Срд 09:20:26  1175927
>>1175885
Документацию читай, мразь.
Аноним 18/04/18 Срд 09:27:56  1175928
Здесь еще яндекс приглашает в свою школу. До 6 мая заявки.
https://academy.yandex.ru/events/mobdev/msk-2018/
Аноним 18/04/18 Срд 13:46:58  1175991
>>1175928
Запилить что-ли эту хуйню чисто для себя.
Аноним 18/04/18 Срд 20:20:45  1176214
image.png (72Кб, 883x379)
Чет кекнул сегодня на работе.
Правда, никто так и не понял почему.
Аноним 18/04/18 Срд 20:24:32  1176221
>>1175991
Кстати на гите море репозиториев валяется ну они и дауны, даже посмотрел парочку. Пиздец они идиоты. Думаю спизжу идеи с них и попробую свое сделать. Только я с АПИ пока диска не разобрался, но думаю разберусь.
Аноним 18/04/18 Срд 20:27:24  1176226
>>1176221
> Кстати на гите море репозиториев валяется
На чем, на чем?
Аноним 18/04/18 Срд 20:42:29  1176240
>>1176226
гитхаб. хули тебе не понятно, очкарик.
ща на улицу выйдем сразу пару уроков схватишь на лету.

чтобы больше здесь не выпендривался.
Аноним 18/04/18 Срд 20:51:53  1176245
Я веб-макака, пишу на рельсах. Если по пару часов в день ковырять андроид студио и пилить свои говноприложения, реально ли за год-полтора достичь уровня при котором можно попытаться устроиться андроид разработчиком, причем не джуном, а миддлом?
Аноним 18/04/18 Срд 20:56:32  1176248
>>1176245
>ка, пишу на рельсах. Если по пару часов в день ковырять андроид студио и пилить свои говноприложения, реально ли за год-полтора достичь уровня при котором можно попытаться устроиться андроид разработчиком, причем не джуном, а миддлом?
Нужно побольше ковырять, хотя, если ты схватываешь на лету а не как я даун то вполне за полтора года можно попытаться ебнуть мидла.
Да и что тут говорить, я за 5 месяцев с нуля устроился на стажера.
Правда я завтра ласт день работаю
Аноним 18/04/18 Срд 20:57:48  1176250
Screenshot from[...].png (337Кб, 1920x1080)
Объясните вкатывальщику, почему в этом говнокоде переменная item имеет тип View, а не ViewGroup? Ведь в той хуйне, которую я в нее пихаю не просто View в виде одного элемента, а Button и TextView обернутые в LinearLayoit
Аноним 18/04/18 Срд 21:03:20  1176253
image.png (81Кб, 1168x427)
>>1176250
Ты вообще в доки можешь?
А еще убунту параша, советую что-нибудь другое поставить.
И вообще такой код первый раз вижу. Зачем тебе 10 раз создавать текст вью?
Аноним 18/04/18 Срд 21:05:07  1176257
>>1176250
Продолжаю.
Если тебе нужно создавать программно текст вью, то тебе нужно просто сделать пустой LinearLayout, например, и говорить, мол цикл фо - заебень мне 10 текст вью и создаешь их программно, можешь почитать как это делать, а после этого говоришь линеар адд текст вью.
Аноним 18/04/18 Срд 21:11:13  1176260
>>1176257
Там я понимаю, что должен передать view, но почему вместо view прокатывает то, что по сути является ViewGroup?
10 штук их там просто в тестовых целях
Мне хочется иметь что-то типа плитки состоящей из текста и кнопки. Сколько таких плиток, и какой текст на каждой из них я заранее не знаю, это будет делаться в цикле.
Аноним 18/04/18 Срд 21:11:29  1176261
>>1176260
*так я
Аноним 18/04/18 Срд 21:22:16  1176267
>>1176260
> что по сути является ViewGroup?
Что вьюГруп? Линер - вьюГруп а последний в свою очередь наследуется от вью. ТекстВью - просто Вью. Смотри пик и читай про LayoutInflater.

>Мне хочется иметь что-то типа плитки состоящей из текста и кнопки.
Если тебе это нужно - просто СОЗДАЕШЬ ОДИН линеар леяут. Получаешь его в программном коде а дальше СОЗДАЕШЬ ПРОГРАММНО CardView чтобы была плиточка а можешь и не создавать и внутри него TextView.
И никакой инфлатер вроде не нужен для этого. Примеры найдешь в гугле.
Аноним 18/04/18 Срд 21:24:34  1176268
>>1176267
Я реально запутался. Вроде как есть 100500 способов это сделать и 99% из них неправильные. Я так понимаю, что для моей задачи вообще никакие xml не нужны, так?
Аноним 18/04/18 Срд 21:26:02  1176271
>>1176267
Погуглил CardView.
Спасибо.
Аноним 18/04/18 Срд 21:26:05  1176272
>>1176268
>что для моей задачи вообще никакие xml не нужны, так?
Линер леяут только хмловский.
Остальное программно ебашишь.
Аноним 18/04/18 Срд 21:26:44  1176273
>>1176272
>Линер леяут только хмловский.
Потому что туда ты будешь пихать свои 10 хуюшек
Аноним 18/04/18 Срд 21:26:59  1176274
>>1176267
Блядь, мне кажется, что я все это пойму к тому времени когда буду совсем седым, и мне уже будет похую на то, сколько я зарабатываю.
Аноним 18/04/18 Срд 21:29:23  1176276
>>1176273
Я могу представить, что хуйня в хмл- это вроде как... класс... экземпляры которого я как бы могу создавать, настраивать их, добавлять что-то внутрь и в тоге все это отображать?
Аноним 18/04/18 Срд 21:29:55  1176277
>>1176274
на самом деле пиздец дальше. И даунам, таким как ты и таким как я нужно просто больше времени затратить. кек.
Аноним 18/04/18 Срд 21:32:22  1176280
>>1176277
Изначально я знаешь что пытался сделать? Захуярить для плитки свой класс наследующий от ВьюГрупп, в котором два поля: кнопка и тествью, потом в цикле в каждой итерации создавать экземпляр класса ну и ... дальеше как-то попробовать его отобразить. Вроде как это возможно, но не для таких как я.
Аноним 18/04/18 Срд 21:32:24  1176281
>>1176276
>Я могу представить, что хуйня в хмл- это вроде как... класс... экземпляры которого я как бы могу создавать, настраивать их, добавлять что-то внутрь и в тоге все это отображать?
Нуу, тип "да"
Аноним 18/04/18 Срд 21:33:50  1176282
>>1176281
в кавычках потому что "такое понимание хуевое, но хотя бы лучше, чем вообще никакое"?
Аноним 18/04/18 Срд 21:38:05  1176283
>>1176282
Ну тип верно, только я не читал про то, как андройд реализует превращение из программного текстВью в отображение хмл. Может быть он инфлатер самостоятельно юзает, или нет, я хз. Я просто так добавлял.
Аноним 18/04/18 Срд 21:39:41  1176285
>>1176283
Я с этими лайаутами и вью путаюсь жестко и не понимаю что конкретно и в какой момент будет реально отрисовано на экране.
Аноним 18/04/18 Срд 21:40:12  1176286
>>1176285
да-да, чукча, не читатель, чукча- писатель
Аноним 18/04/18 Срд 21:45:16  1176295
image.png (101Кб, 719x520)
>>1176285
Во-первых, я тебе последний раз поясняю.
Во-вторых - ЧИТАЙ ВДУМЧИВО и если не понятно, ЧИТАЙ ЕЩЕ РАЗ И ИЩИ.
У тебя есть хмл, базовый отец - релатив - СМОТРИ пик, в нем ты создаешь ЛИНЕР ЛЕЯУТ и все.
Потом ищешь по ид линер леяут _ОН УЖЕ ОТРИСОВАн.
и хуяришь туда текстВЬЮ.
и они там отрисовываются.
ВСЕ.
Аноним 18/04/18 Срд 21:51:00  1176304
>>1176295
Да понял я, что ты предлагаешь. Меня печалит, что я не понимаю, что там будет происходить. Для меня это просто "напиши вот так, и все заработает"
Аноним 18/04/18 Срд 21:54:51  1176306
>>1176250
ViewGroup наследуется от View, а потому и является просто View только с массивом View, даун.
Аноним 18/04/18 Срд 21:57:43  1176308
>>1176306
Тяжело писать приложение впервые видя андроид студио и имея ну очень поверхностное представление о java
Аноним 18/04/18 Срд 22:02:28  1176316
>>1176304
xml в андроеде просто удобный декларативный способ верстки. Тебе не надо вручную писать код инициализации вьюх, их размеров и тд.
Ты их просто объявляешь в xml.
Андроид в свою очередь с помощью LayoutInflater парсит xml и генерирует из него ровно такой же код, который бы ты сам писал.
Так вот.
Запомни пидор.
Все *Layout это ViewGroup extends View.
ViewGroup, не считая экзотических случаев, когда ты в свой CustomView хочешь влепить свой View или ViewGroup.
Аноним 18/04/18 Срд 22:04:08  1176319
>>1176308
>Тяжело писать приложение впервые видя андроид студио и имея ну очень поверхностное представление о java
Для таких как ты МИР придумал юдасити, кстати.
После месяца дрочева ты как новенький сюда придешь и будешь ставить таких пидарасов на место.
Аноним 18/04/18 Срд 22:10:50  1176325
Посоны, я клянусь, что если вдруг стану(а я не стану, мне уже 29) погромистом получающим 300к в секунду, катающимся на Тесле и ебущим мулаток, то я буду посвящать значительную часть свободного времени помогая нубам
Аноним 18/04/18 Срд 22:15:16  1176333
>>1176325
>то я буду посвящать значительную часть свободного времени помогая нубам
А я уже помогаю. Хули выебываешься. И тут нет пацанов. Только ты да я и пару шакалов.
Аноним 18/04/18 Срд 22:18:10  1176336
>>1176333
Как может выебываться человек, который пытается написать простейший диспетчер процессов вращающихся в оперативке, но у него опускаются руки, и ему кажется, что разобраться во всей этой хуйне- не для средних умов?
Аноним 18/04/18 Срд 22:18:38  1176337
>>1176336
ну нахуй, пойду нажрусь, все тлен
Аноним 18/04/18 Срд 22:19:19  1176338
>>1176336
> простейший диспетчер процессов вращающихся в оперативке,
Сам такое выбрал.
Аноним 18/04/18 Срд 22:21:41  1176340
>>1176338
Это разве сложно?
Аноним 18/04/18 Срд 22:22:56  1176341
>>1176338
бро, если я такое напишу, и выложу в маркет рублей за 60, то хотя бы на пиво заработаю за счет долбоебов купивших случайно, или вообще бесперспективно?
Аноним 18/04/18 Срд 22:28:24  1176347
>>1176340
Возможно. Или нет.

>>1176341
Тебе тогда надо в хуИОС. Мне как-то один челик сказал, если ты принялся делать мобилки под андройд - будь готов потратить дохуя времени, а потом делать приложения бесплатно. А если не хочешь - иди в гейось.
Аноним 18/04/18 Срд 22:31:06  1176350
>>1176347
Тогда другой вопрос. Более-менее успешное приложение в котором есть откровенный говнокод- это редкость?
Аноним 18/04/18 Срд 22:34:12  1176352
>>1176350
>Более-менее успешное приложение в котором есть откровенный говнокод-
Это нужно обращаться к тем, кто сидит за ведройдом +2 года.
А я еще зеленый.
Хотя исходники телеграмма тому пример. Кек.
Аноним 18/04/18 Срд 23:00:17  1176368
>>1176350
> Более-менее успешное приложение в котором есть откровенный говнокод- это редкость
Это реальность. Успех и говнокод никак не зависят друг от друга.
Аноним 19/04/18 Чтв 00:10:20  1176403
>>1176316
Бесценно
Аноним 19/04/18 Чтв 00:13:09  1176404
>>1176403
Что бесценно?
Аноним 19/04/18 Чтв 00:20:59  1176407
>>1176404
Инфа. Она хоть немного прояснила для меня все то, что происходит в этом ебаном андроиде
Аноним 19/04/18 Чтв 00:24:50  1176409
>>1176407
Ебаные тут только ты и твоя мамка, тупица обоссаная.
Аноним 19/04/18 Чтв 00:27:07  1176410
>>1176409
Нас ебут, а мы крепчаем. Глядишь, через пару лет хоть на кредитный Фокус и ипотечную двушку в коммиблоке будет хватать.
Аноним 19/04/18 Чтв 17:38:57  1176784
не, мне не хватает силы воли для андроида: У нас есть удобный виджет для больших списков. Вам всего лишь надо заполнить два xml файла. Создать экземпляры трех классов, в двух их которых переопределить методы, а в одном сделать еще один класс внутри и тоже с переопределенными методами.
Раньше у нас АПИ был доступ к всем процессам вращающимся в памяти. Но мы решили, что это не нужно. Вместо этого теперь можно посмотреть запускался ли какой-то процесс год назад. Ну, как можно... вроде как есть такая возможность, но как она работает- разбирайтесь сами.
Аноним 19/04/18 Чтв 18:04:52  1176806
>>1176248
Сам съябываешь или работодатель выгоняет? Сколько платили?
Аноним 19/04/18 Чтв 18:06:09  1176808
>>1176806
Никто мне за это не платил, я андроид студио установил 2 дня назад.
Аноним 19/04/18 Чтв 18:09:23  1176810
>>1176806
Cам. Я стажером был, поэтому получал маленько 10к
Аноним 19/04/18 Чтв 18:10:02  1176811
>>1176810
Ты сам себе отвечаешь?
Аноним 19/04/18 Чтв 18:10:57  1176812
image.png (7Кб, 176x123)
>>1176811
Я похож на дурачка что ли?
Аноним 19/04/18 Чтв 18:13:30  1176813
>>1176812
Да. Наверное на тебя так повлиял андроид.
Аноним 19/04/18 Чтв 18:55:52  1176839
>>1176813
Вот оно что. Ну уже поздно.
А мне говорили не вкатываться в андройд
Аноним 19/04/18 Чтв 20:28:20  1176882
Бро, вот скажи мне, для человека впервые увидевшего андроид студио позавчера, и имеющего поверхностные познания о java, задача за 10-15 дней написать простенький диспетчер процессов болтающихся в оперативке- это норм, или сложно?
Аноним 19/04/18 Чтв 20:52:58  1176894
>>1176882
Имею пять классов церковно-приходской школы, умею доить коров. Хочу стать конструктором авиадвигателей, с чего начать?
Аноним 19/04/18 Чтв 20:55:42  1176897
>>1176894
Это предельно толстый намек на то, что я вряд ли решу эта задачу?
Аноним 19/04/18 Чтв 20:57:03  1176899
>>1176897
Задачу ты может и решишь, но через жопу, и так, что самому себе всё желание дальше этим заниматься отобьешь.

Начни с малого, в шапке есть гайды, потом уже своё что-то пилить сможешь.
Аноним 19/04/18 Чтв 21:11:54  1176920
>>1176899
Вот у меня желание и пропадает уже. Не знаю за что хватать и не могу получить хотя бы примерной картины того, что с чем и как взаимодействует. Какой срок ставить себе для реализации задачи? Так чтобы было в меру сложно.
Аноним 19/04/18 Чтв 21:13:10  1176922
>>1176920
Ты уже достал своим диспетчером процессов. Если ты мне скажешь как это работает, то я оценю срок выполнения задания.
мимо
Аноним 19/04/18 Чтв 21:13:41  1176923
>>1176922
ну раз достал, то ухожу
Аноним 19/04/18 Чтв 21:23:07  1176930
Здесь еще должен быть Алексей с вебмками. Тут есть Алексей?
Аноним 19/04/18 Чтв 21:58:47  1176945
>>1176923
Пирожок дружок, ты здесь ноешь и пытаешься писать в стиле чукчи. Тебе дали совет - делай. Не поймешь - залетишь сюда, глянь, а кто-нибудь да поможет.
Все, а теперь иди пили проектик.
Аноним 20/04/18 Птн 01:06:39  1177004
>>1176930
С Алексеем мы дружим с детства. У него сейчас нет зубов спереди. Он вообще сейчас как какая-то шавка по базарам, по рынкам лает как мелкая собачка. Может побежать, откусить.
Мы с ним ходили по барам, рестораном и искали Алексея. На самом деле, ни он, ни я не Алексей, но мы так друг друга называли. У него очень тяжелая жизнь сложилась.
Аноним 20/04/18 Птн 06:34:13  1177044
Тыкаю Firebase, сделал аутентификацию через гугл. Как правильно хранить инфу о юзере в приложении? До этого был опыт работы с айос приложением, там мы создавали класс-контекст, в котором хранили переменную-юзера, и из него в нужных активити их доставали.
Касательно андроида нагуглил только хранение в SharedPreferences инфы.
Как это обычно делается?
Аноним 20/04/18 Птн 14:22:15  1177209
>>1177044
AccountManager
Аноним 20/04/18 Птн 19:12:36  1177359
>>1177209
Ты бы ему еще посоветовал ContentProvider тупо для доступа к своей бд использовать.
Аноним 20/04/18 Птн 21:19:28  1177416
>>1177359
А что не так с AM? Это вполне себе валидный и корректный способ хранения кренделей с заделом на будущее.
Аноним 20/04/18 Птн 21:28:42  1177423
>>1177416
Есть только одна причина использовать избыточный и громоздкий AM в 2018 году - если ты у мамы микрософт, гугл или яндекс и тебе нужен SSO в своих приложениях.
Аноним 20/04/18 Птн 23:18:16  1177491
>>1177423
Ну и где ты credentials хранить будешь? В Shared Preferences или в бд? Серьёзно?
Аноним 21/04/18 Суб 07:34:06  1177602
>>1177491
Большая часть приложений осиливают хранить там и ничего, вполне себе нормально живут.
Аноним 21/04/18 Суб 08:21:16  1177607
>>1177423
Ok.
мимо из яндекса
Аноним 21/04/18 Суб 22:02:51  1177931
Никогда почему не мог заканчивать пет проекты. Сейчас, вместо того, чтобы делать 3 пет проекта, я сижу руби копаю, нахуй мне это надо. По рукам себя бью - не помогает.
Завтра нужно все-таки начать доделывать.
Аноним 21/04/18 Суб 22:09:15  1177935
>>1177931
> я сижу руби копаю
И правда, нахуй тебе этот мертвый язык?
Аноним 21/04/18 Суб 22:12:16  1177939
>>1177935
Да хуй пойми.
Иногда андройд настолько надоедает потому что только в нем и сижу что хочется побродить по нетику, посоздавать что-нибудь этакое. В итоге все скатывается к хуям и я возвращаюсь к андройду спустя 2-3 дня с базовыми знаниями какого-нибудь языка который мне в жизни никогда не пригодиться.
Аноним 22/04/18 Вск 00:29:27  1178035
image.png (9Кб, 341x113)
image.png (23Кб, 547x162)
Сап. Есть тулбар, в котором есть оверфлоу-меню. И это оверфлоу-меню зачем-то перенимает цвета из стиля тулбара. Как сделать так, чтобы оно сохраняло дефлотный стиль?
Аноним 22/04/18 Вск 08:35:09  1178132
>>1178035
Погугли. Там это как-то лечится.
Аноним 22/04/18 Вск 11:47:53  1178154
Untitled.png (24Кб, 670x460)
Untitled1.png (17Кб, 670x460)
Есть ресайклер с гридом из леяута с картинкой (пик 1). Как сделать так, чтобы по нажатию весь айтем и ImageView увеличивались в размерах и "выезжали" на передний план, затемняя все остальное (пик 2)? Каким лучше объектом сделать большой айтем - фрагментом, диалогФрагментом, карточкой или мб еще чем? И анимация - дефолтный транзишен или тут нужно что-то покруче?
если это имеет какое-то значение, картинки загружаю глайдом
Аноним 22/04/18 Вск 12:28:07  1178166
>>1178154
Выглядит как каноничный shared element transition в фрагмент.
Аноним 23/04/18 Пнд 19:59:50  1178373
Не тони, мой любимый андройд
Аноним 23/04/18 Пнд 20:33:38  1178391
игьз
Аноним 23/04/18 Пнд 20:37:17  1178395
Как улучшать свои проф скиллы?
Может есть какие-нибудь модные ресурсы которые стоит почитывать, или надо подучить что-то не на прямую связаное с мобайлом (алгоритмы, криптография)?
В общем как поставить приоритеты молодому андроид деву?
Аноним 23/04/18 Пнд 20:37:20  1178396
>>1170748
люто дякую за пикчу
Аноним 23/04/18 Пнд 21:59:48  1178451
>>1178395
Смотря на каком ты уровне
Аноним 23/04/18 Пнд 22:49:46  1178467
>>1178451
Джун
Аноним 23/04/18 Пнд 22:51:18  1178469
>>1178451
Как определить свой павер левел?
Аноним 24/04/18 Втр 00:16:58  1178534
>>1178469
Если спрашиваешь, то ты <= джун.
Аноним 24/04/18 Втр 04:41:28  1178602
>>1161404 (OP)
>- Kotlin — ... С 17 мая поддерживается официально.

поправьте шапку в след раз, не с 17 мая, с мая 17-го года
Аноним 24/04/18 Втр 04:50:41  1178607
>>1171405
>Нужна простая грамматика, подобная паскалю, чтобы токенизация и построение AST происходили за миллисекунды даже на больших приложениях.

Большая часть времени компиляции уходит не на разбор текста и построение AST, а на дальнейший анализ. Например резолв идентификаторов, прогон диагностик. И чем более выразительный язык, тем больше на это нужно времени.
Аноним 24/04/18 Втр 10:58:50  1178672
Сап, андроидач. Андроид студия уведомила меня о том, что виртуальное устройство Андроид создать не получится, ибо цп не поддерживает виртуализацию. В качестве альтенативы предлагается запускать приложение на физическом устройстве.

Так вот, по идее эта проблема должна решаться как-то проще, чем ручное копирование и запуск .apk?
Аноним 24/04/18 Втр 12:11:30  1178710
>>1178672
Лол, установи adb-tools и подцепи девайс, включив на нем предварительно отладку по усб.
Аноним 24/04/18 Втр 12:49:48  1178736
>>1178672
Гугли на стак оферфолоу по английски. Я в свой время заябывался в биусе чёт включать, потом доустанавливать гавнище какоето и только потом эмулятор стал запускаться... правда я дебил на убунте всё делал... для запуска на андроидж устройстве тоже пришлось позаябываться
Аноним 24/04/18 Втр 12:55:13  1178739
>>1178395
Запили десяток разнотипных приложух на гугл плей, подключи аналитику и прочие гугловское гавно, прикрути айпишки разных твитеров хуитеров инстаграмов пуши хуюши.
Если людишь извращения добавь часть либ пиши на с++ и ассемблере>>1178395
Аноним 24/04/18 Втр 14:31:06  1178793
Почему если я пишу
((GridLayoutManager) mPhotoRecyclerView.getLayoutManager()).setSpanCount(colCount);
в онглобаллайотлистенер все работает, если
GridLayoutManager layoutManager = (GridLayoutManager) mPhotoRecyclerView.getLayoutManager();
layoutManager.setSpanCount(colCount);
то поворот девайса полностью отваливается?
Аноним 24/04/18 Втр 19:01:05  1178956
>>1178793
А может ты побольше бы вставил сюда своего сраного кода, чтобы мне глаза удобней вырывать было?
Блять.
Аноним 24/04/18 Втр 19:08:13  1178961
>>1178534
Тогда я не буду спрашивать и буду сеньором-помидором.
Аноним 24/04/18 Втр 19:41:08  1178983
>>1178961
Это ещё раз красноречиво показывает твой уровень. Тебе говорят, что действует правило A => B. А ты пытаешься использовать правило Not A => Not B, которое не следует из заданного.
А ведь этому на первом семестре в любом заборостроительном техникуме учат.
Аноним 24/04/18 Втр 20:12:51  1178996
>>1178983
Вася, я же говорил тебе пойти нахуй. Почему ты все еще здесь?
Аноним 24/04/18 Втр 20:48:18  1179020
>>1178996
Ты меня со своим ебырем путаешь, это ему ты уже говорил.
Аноним 25/04/18 Срд 03:19:12  1179207
image.png (976Кб, 800x532)
ВРЕМЯ ПРИШЛО!

https://twitter.com/minSdkVersion/status/988538738639765505
Аноним 25/04/18 Срд 10:16:05  1179261
>>1179207
Бля, наконец-то. Хотя я и так пет проекты пишу на 21+.
Аноним 25/04/18 Срд 11:32:27  1179290
image.png (1Кб, 114x26)
Как поменять бэкграунд цвет подсказок такого типа?
Аноним 25/04/18 Срд 12:55:22  1179336
image.png (25Кб, 457x685)
image.png (5Кб, 277x114)
Как мне не нравится этот биндинг андройда. Просто пиздец. Отвратительная либа, хотя я был не проч на МВВМ сидеть.

>>1179290
А зачем тебе это? Так же лучше. Скачать material theme?
Аноним 25/04/18 Срд 14:01:39  1179365
>>1179336
> Как мне не нравится этот биндинг андройда. Просто пиздец. Отвратительная либа, хотя я был не проч на МВВМ сидеть.
Так сиди, кто тебе мешает. Data binding вообще с архитектурой никак не связан.
Аноним 25/04/18 Срд 18:52:03  1179537
>>1179207
-10% юзеров как будешь своим продактам и продажникам объяснять, ммм? Напомню, что от среднеуспешного продукта в 100к инсталлов, это 10к юзеров.
Аноним 25/04/18 Срд 20:40:48  1179639
>>1179537
Срал на них
Аноним 26/04/18 Чтв 01:52:29  1179811
>>1179537
Устройства — не пользователи. Пользователи — не твои клиенты. Клиенты — не то подмножество клиентов, которое обеспечивает ценность.
Аноним 29/04/18 Вск 21:32:09  1181780
Есть ли андроидные IDE, более легковесные, чем AS, при этом рабочие?
Аноним 29/04/18 Вск 21:59:51  1181792
>>1181780
Можешь себе эклипс напердолить попробовать, поддержка градла там есть, хотя хуй знает что из этого выйдет.
Аноним 29/04/18 Вск 23:02:11  1181821
>>1181780
Можешь поставить линукс.
Аноним 30/04/18 Пнд 21:13:07  1182261
Есть ресайклер с imageview, ширина и высота которой определяются динамически (в конструкторе ресайклера, и потом передаю их в .override() глайда). По клику на imageview открывается фрагмент с картинкой в shared element transition (сам ресайклер отправляется в бекстек). Когда я попаю бекстек и на экране обратно появляется ресайклер, у картинки сначала размер 0х0, и только потом глайд загружает картинку - получается, что картинка сначала уменьшается до 0х0, а потом расширяется. Можно ли это как-нибудь сделать так, чтобы размер вычислялся до самой анимации?
Я нашел в гугле postponeTransition, но для фрагментов это работает только с api 26, а у меня 25.
Аноним 01/05/18 Втр 08:04:21  1182418
>>1182261
>у картинки сначала размер 0х0, и только потом глайд загружает картинку - получается, что картинка сначала уменьшается до 0х0, а потом расширяется. Можно ли это как-нибудь сделать так, чтобы размер вычислялся до самой анимации?
Может быть из-за того, что ты выполняешь методы активити\фрагмента в который ты возвращаешься и там опять все по новой загружается? блять
Аноним 01/05/18 Втр 09:09:06  1182422
>>1182261
> в конструкторе ресайклера, и потом передаю их в .override() глайда
А layout params у imageview менять на нужные тебе не забываешь?
Аноним 01/05/18 Втр 10:05:02  1182435
Как правильно проигрывать звук?

Делаю примерно так для оповещения о входящем сообщении:
MediaPlayer.create(getBaseContext(), R.raw.sound_in).start();
Но если таким образом запускать звук слишком часто, то он перестает проигрываться вообще до перезапуска приложения.
Аноним 01/05/18 Втр 10:11:07  1182436
>>1182435
> MediaPlayer
Ты его каждый раз создаешь небось?
Аноним 01/05/18 Втр 10:27:44  1182443
>>1182436
Да, нагуглил уже решение с release() предварительным, вроде теперь нормально, но спасибо за ответ.
Аноним 01/05/18 Втр 10:33:48  1182445
>>1182443
> предварительным
Я хуй знает что ты там придумал, но лучше переиспользуй, а не каждый раз создавай.
А еще точно есть какой то способ проще, который использует NotificationManager, глянь в исходниках show.
Аноним 01/05/18 Втр 10:58:13  1182454
>>1182435
А зачем тебе вообще MediaPlayer. Может лучше воспользоваться SoundPool'ом или AudioTrack'ом?
Аноним 01/05/18 Втр 11:42:31  1182464
>>1182454
> SoundPool'ом или AudioTrack'ом
Во, я про них как раз >>1182445
Аноним 01/05/18 Втр 13:28:15  1182532
funny-pictures-[...].jpeg (146Кб, 911x1320)
Пацаны, поясните за даггеp. Как этой поеботой вообще пользоватся?

Приведу пример. С спринг бут я создаю класс с описанием бинов, описываю в этом классе объекты, которые мне нужны, затем в нужном мне месте пишу @autowired и всё! Никакой еботни не нужно.

В даггере же мне нужно: создать модули, затем их объеденить в компоненте, затем в месте, где нужно я должен вызвать (!) билдер даггера и вызвать inject(this). Это dependency injection? Это хуйня же какая-то.

Помогите, может можно как-то по человечески это всё сделать? Гайдов в интернете 1.5, и во всех советую внутри класса вызывать inject(this), IoC то не соблюдается получается. Короче пиздец, я запутался, помогите
Аноним 01/05/18 Втр 13:48:12  1182545
Почему еще никто не смог спиздить уроки со startandroid платные? По сайту, а не по этому ебанному мужику с ютуб
Аноним 01/05/18 Втр 13:53:32  1182550
>>1182532
Неправильные ты гайды читаешь дяд федор, просто ведроидовские компоненты убогие и мы не можем участвовать в их создании, потом и вынужденны вызывать inject как можно раньше, но на самом деле и это не нужно.

Гайдов миллион и тележка. Спринг ебашит рефлексией и потому все так просто.

Если коротко в компоненте объявляешь модули от которых она зависит для предоставления своей хуйни. И методы которые нужны для преодоления ведроидовский костылей, можешь выбрать inject(GovnoAndroidComponent xuita), но по мне лучше оставить плейн геттеры типа:
SuperDependency getSuperDependency();
Ну или:
SuperDependency superDependency();

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

1) Объявить класс который является зависимостью, при этом пометив его конструктор аннотацией Inject, и прааметры там могут быть только те, которые уже есть в графе зависимостей, тогда тебе не нужно ебать и создавать его в модуле и что бы сделать его доступным через компоненту добавляешь туда его геттер, ну или если инжектами пользуешься то ничего. Но таким макаром ты выставляешь в качестве зависимости конкретную хуйню, так лучше не делать. Но можно спрятать конкретную реализацию оставив ее конструктор с инжектом, а в асбтрактном классе модуля конвертить конкретную реализацию в ее интерфейс:
@Module
interface ConvertModule {
@Binds
public abstract Dependency bindDependency(DependencyImpl impl);
}

Из почти актуальных могу посоветовать вот эти:
https://habr.com/post/279125/
Аноним 01/05/18 Втр 15:56:18  1182622
Есть ли двачевская конфа по андройду?
Аноним 01/05/18 Втр 16:10:14  1182627
>>1182622
Вам зачем именно "двачевская"? Чтобы тупыми вопросами заебывать, которые стыдно спрашивать в обычной?
Аноним 01/05/18 Втр 16:37:58  1182641
>>1182627
Иногда пердолинг заебывает, а ответов нет. А в телеге игнорят. Хуй поймешь.
Аноним 01/05/18 Втр 16:44:46  1182644
>>1182627
Да, все верно - найти тупых объебков, которые будут бесплатно отвечать на идиотские вопросы войтивайти, которые игнорятся в нормальных каналах.
Аноним 01/05/18 Втр 18:02:20  1182710
Ребят, есть кто тестит свои приложухи на Xiaomi Redmi 4x?
Может такая проблема была у вас или у других телефонов Xiaomi, но фишка в том, что при изменении Java-кода, Андроид Студия выкидывает мне сообщение о том, что INSTALL FAILED USER RESTRICTED, предлагая удалить, а потом заново поставить приложение. Это работает, да, как впрочем если нажать Отмена и снова запустить проект на телефоне.

Но как избавиться от этого окна?
Аноним 01/05/18 Втр 18:35:25  1182717
>>1182710
Вообще, это обычно возникает, когда ты написал приложение на одном кудахтере, а вечером пришел домой, включил своего обоссанца, попутно скачивая ласт изменения с гита, и пытаешься опять запустить приложение. Вот тогда и возникает. Ну и в других ситуациях примерно похожих на эту.

Но как у тебя - это пиздец конечно.
Аноним 01/05/18 Втр 19:29:43  1182735
>>1182710
Нормально все теститься без проблем. Дело не в Ксяоми.
Аноним 01/05/18 Втр 21:33:08  1182771
>>1182418
Активита то же самое, просто ресайклер уходит в бекстек.

>>1182422
ТОННЫ НЕФТИ, АНТОШ, ЗАРАБОТАЛО
Дело в том, что я менял парамсы у леяута, в котором лежит imageview, а самой картинке задать не додумался...
Спасибо еще раз, и извини за тупой вопрос.
Аноним 01/05/18 Втр 23:09:59  1182822
>>1182710
Instant Run?
Аноним 02/05/18 Срд 09:54:29  1182981
Эх, нахер я вообще начал вкатываться в андройд. Долбанное МВВМ и БД, столько говна нужно читать и делать. Особенно читать. Да еще и вчитываться. Просто пиздец. Ебанная пагинация, нулевые примеры, тонны копипаста. Непонятные перевороты экранов, какой-то главный сингетон, непонятная рхДжава. Да еще и примеры на ебучем котлине. За что блять это все? Просто продвигаюсь на минимальных скоростяхычах. А перекатываться-то и не хочется, уже 8-ой месяц пошел блять. Просто не могу из-за этого руки отпустить.
Аноним 02/05/18 Срд 10:02:15  1182985
>>1182981
> МВВМ
Никто его не использует.
Аноним 02/05/18 Срд 10:03:53  1182986
>>1182985
>Никто его не использует.
Ну будешь мне еще блять говорить мне об этом. Когда я работал стажером по андройду я как раз ебашил МВВМ. Самое главное, никто мне нихуя не объяснял что да как делать. Просто хуярил на ощуп, а потом на митинге говорили "Ну пацан, пиздец у тебя говнокод конешно." Я блять готов был прям там разъебать ему морду, пидору конченному.
Аноним 02/05/18 Срд 11:36:07  1183014
>>1182981
> столько говна нужно читать и делать. Особенно читать.
Добро пожаловать в программирование, тебе нужно будет делать постоянно. Не нравится - есть куча других профессий.
Аноним 02/05/18 Срд 12:07:49  1183021
До этого не смотрел гугл ИО, но по идеи, там же будет онлайн трансляция на ютубчике?
Аноним 02/05/18 Срд 12:31:30  1183038
>>1183021
Будет. Но у гугла довольно скучные выступления, проще потом запись посмотреть по интересной теме, а не жрать говно про фаирбейз в лайве.
>>1182986
> Когда я работал стажером по андройду я как раз ебашил МВВМ
Пиздец вы ебанашки, он конечно приятен, но только в WPF, а не на ведре.
Аноним 02/05/18 Срд 12:55:02  1183060
>>1183038
>он конечно приятен, но только в WPF, а не на ведре.
А я недавно вот начал MVVM копать, вроде достаточно примерчиков, чего плохого-то.
мимо
Аноним 03/05/18 Чтв 14:53:40  1183692
Одна служба для всего или несколько специализированных? Что лучше?
Допустим, есть служба 1, которая отслеживает события в clipboard, создает кнопку оверлеем, нажатие на которую делает запись в базу данных (активити не участвует).
Стоит ли логику для записи в бд пихать в эту же службу, если из активити тоже можно делать запись в бд? Или лучше сделать отдельную службу?
Мне кажется, лучше отдельную, все же служба-1 имеет функционал, который никак с этой активити за пределами базы данных не пересекается.
Где я обосрался?
Аноним 03/05/18 Чтв 14:56:58  1183693
>>1183692
Несколько специализированных - это:
- Меньшая связанность кода, меньше риска что потом все навернется если захочется что-то переделать
- Хорошая расширяемость
- Большая тестируемость

Одна для всего - это:
- Чертовы спагетти, тронешь в одном месте отвалится все
- Плохая расширяемость
- Плохая тестируемость.

Так?

Аноним 03/05/18 Чтв 19:26:57  1183815
Расскажите, какой сейчас стек используется в продакшене? Режут ли рхДжаву, обходясь простым ретрофитом? Какие стабильные либы юзают?
Аноним 03/05/18 Чтв 19:34:23  1183821
Насколько хуево так делать (https://pastebin.com/SfFnZ7Xd)? Суть в том, что я запускаю TaskActivity с помощью startActivityForResult в MainActivity, и хочу в зависимости от результата, чтобы либо выводился Snackbar в MainActivity, либо не выводился, но поскольку добавление в БД происходит асинхронно, то результат не успевал придти до закрытия активити, поэтому мне пришло в голову после добавления в БД вызывать exit(), чтобы только после этого активити закрывалось. Можно-ли как-то сделать лучше и как, если можно?
Аноним 03/05/18 Чтв 19:35:25  1183822
>>1183821
> (https://pastebin.com/SfFnZ7Xd)?
Проебался с разметкой. Вот ссылка: https://pastebin.com/SfFnZ7Xd
Аноним 03/05/18 Чтв 19:37:22  1183826
>>1183822
Ну если тебе нужно переопределить поведение кнопки назад, то хули нет то?
>>1183815
> Режут ли рхДжаву, обходясь простым ретрофитом
Че?
Аноним 03/05/18 Чтв 22:17:59  1183954
>>1183826
>Че?
Хули че-то блять. Рх же тупо нужна для того, чтобы простенько взять запросы с сервака. Ну или для выебонов аля возвращая обсервабле и работая дальше с ним. Но это же больше для продвинутых.
Хули на вопросы не отвечаешь-то.
Аноним 04/05/18 Птн 00:36:13  1184031
1324406957731.jpg (55Кб, 499x729)
>>1183815
У нормальных пацанов уже давно динамическое апи и тонкий клиент, а он тут со своими ретрофитами.
Аноним 04/05/18 Птн 07:01:22  1184076
Тут есть те, которые продвигают собственные приложения?
Хотелось бы пару вопросов: Сколько стоит продвинуть приложение, хотя бы для первоначального выхлопа? И какой вообще выхлоп? Много ли денег надо на развитие, для того что бы вкатиться? Понимаю что вопрос зависит от того, что вообще за приложение, но больше интересует, сколько примерно. Возьмём даже простенькую игрулю, сколько нужно на её развитие? Гугел выдаёт разные недоблоги всемогущих, и пишут начиная от "без вложений" заканчивая лимонами. Или мне уебывать с этими вопросами в biz?
Аноним 04/05/18 Птн 09:28:43  1184098
>>1184031
Чего ебать? Нахуй превращать приложение в веббраузер?
Аноним 04/05/18 Птн 10:07:42  1184110
>>1184098
Кого ебать? ты вообще суть вопроса понял?
Аноним 04/05/18 Птн 13:44:42  1184166
>>1184110
Ты написал про тонкий клиент и динамическое апи, что это как не еще один браузер?
Аноним 04/05/18 Птн 14:10:54  1184176
>>1184166
Братишка, ответы перепутал
Аноним 04/05/18 Птн 22:46:47  1184335
>>1184166
WebView умеет запускать Intent'ы, отображать бесконечные списки(в том числе пейджинг), нормально работать с sql, нормально кэшировать навигацию и стейт, и еще хуеву тучу других вещей, которые сейчас не вспомнишь? А самое главное, может оно блять работать быстро?
Аноним 05/05/18 Суб 01:55:55  1184410
Есть два хранилища: одно на сервере - другое локальное. В локальном часто данных сервера с дополнительными характеристиками. Как их лучше синхронизировать:
1) Держать сервис, который слушает в отдельном потоке изменения сервера, и пилит их в базу.
2) Перед каждым запросом к локалке делать запрос нужных данных к серверу и синхронизировать (всё это в репозитории)
В певом варианте смущает, что дополнительный сервис пришпиливается, хотя код чисто джавовский.
Аноним 05/05/18 Суб 01:57:14  1184411
>>1184410
>джавовский.
Имею ввиду, что без android-зависимостей. Написан он конечно на котлине, под сладкие стоны полиночки...
Аноним 05/05/18 Суб 10:19:32  1184452
Сап. На нескольких устройствах заказчика во время работы приложения выскакивает вот такая фигня. Алерт появляется на секунду и исчезает, приложение не крашится и продолжает работать. На своих устройствах и ни в одном эмуляторе отловить не удалось. Либы, которые умеют слать репорты при крашах тоже не отлавливают ошибку, доступа к крешаналитике и консоли gp по тех. причинам нет, но баг пофиксить нужно.

Подкиньте идей, как можно отловить и исправить?

Содержимое build.gradle на всякий случай, может кто глянет и что подскажет - https://pastebin.com/vX91kas9
Аноним 05/05/18 Суб 11:04:58  1184460
>>1184452
Содержимое манифеста покажи
Аноним 05/05/18 Суб 11:06:03  1184461
>>1184452
На всякий случай, плагин гуглсервисов апплаится в конце файла
Аноним 05/05/18 Суб 11:11:31  1184462
>>1184460
https://pastebin.com/K8ZGbYZ7
Аноним 05/05/18 Суб 11:12:10  1184463
>>1184461
Ок, учту
Аноним 05/05/18 Суб 11:12:39  1184464
>>1184452
> 'com.yandex.android:mobmetricalib:2.40'
100% вот эта пидорасня падает в отдельном процессе, поэтому и не закрывается приложение. У меня такое же было. Яндекс возомнили себя гуглом и решили обмазываться несвежим IPC между всеми приложениями с установленной метрикой, а не делать как нормальные люди из других сервисов аналитики.
Аноним 05/05/18 Суб 13:30:39  1184504
Ребят, кто писал приложухи на React Native? Как ощущения по сравнению с классической Java в Андроид Студии?
Аноним 05/05/18 Суб 15:07:56  1184570
>>1184464
ммм, да, как вариант. Это лучше смотреть в смерженном манифесте.
Аноним 05/05/18 Суб 15:53:44  1184586
image.png (20Кб, 692x227)
Зачем прописывают synchronized в таких случаях? Когда читаю код, часто проскальзывает это у некоторых людей. Сам оператор же позволяет синхронизировать потоки. Значит сам класс синхронизируется с бинарным классом? Что за бред?
Аноним 05/05/18 Суб 16:18:22  1184592
>>1184586
Какой оператор, а вообще почитай про double-check locking.
Аноним 05/05/18 Суб 16:38:31  1184596
>>1184592
Спасибо.
Аноним 05/05/18 Суб 19:00:19  1184660
вопрос по retrofit 2
как делать запрос get для api постоянно? Или в time.
Аноним 05/05/18 Суб 19:15:16  1184668
>>1184660
Создать сервис?
Аноним 05/05/18 Суб 19:30:45  1184680
>>1184668
вот да. Этот парсинг апи нужно запускать как сервис, чтобы работало постоянно?
Аноним 05/05/18 Суб 19:56:20  1184693
>>1184660
retrofitService.getSomeShit()
.repeatWhen(observable -> observable
.delay(DELAY, TimeUnit.SECONDS, true))
.subscribe();
Аноним 05/05/18 Суб 20:12:59  1184709
>>1184464
Да, оно! Спасибо, анон, кучу времени на это потратил
Аноним 05/05/18 Суб 20:46:08  1184728
Screenshot2018-[...].png (47Кб, 1080x1920)
Подскажите по работе жестов, через гестуре билдер я могу создавать собственные жесты, но мне интересно как можно реализовать, чтоб они работали только в определенной области экрана? Например только в правом верхнем углу, или по середине экрана, беглое ознакомление дало понять жест воспринимается в любой области экрана.
Аноним 05/05/18 Суб 21:15:52  1184767
>>1184693
огромное анонское. Тогда не затруднит ли сказать, как все это гуглить? потерялся на том, что не могу загуглить с примерами реализации retrofit+rxJava.
Inb4: retrofit call api time continue infinite call request.. - все это перепрогуглил но получил нул. Подскажи, как нагуглить?
Аноним 05/05/18 Суб 21:17:24  1184769
>>1184767
всё нашел сам.
Аноним 05/05/18 Суб 21:18:50  1184770
>>1184769
по запросу retrofitService repeatWhen
Аноним 06/05/18 Вск 08:44:03  1184947
Видел, что некоторые парни в разных xml пишут, один и тот же айдишник, например, recyclerView в одном и recyclerView в другом. Это нормально так делать?
Аноним 06/05/18 Вск 10:08:27  1184961
>>1184947
нормально
Аноним 06/05/18 Вск 17:40:47  1185228
Интересно, и что же я ебать делал целый день? Качал хуеву тучу примеров, половина из которых требовала апи кей, а другую половину откладывал в полочку, чтобы изучать как люди пишут. В итоге сам что мало написал, но вырастил чуточку понимания во всем этом говне один нейрончик в мозгу, за 9 часов ебанины. Блять, просто минус время. Ебанная разработка.
Аноним 06/05/18 Вск 17:58:28  1185246
>>1185228
учись: больше сорока часов разбора прилажух с retrofit. Сложилось мнение, что на всей планете мне одному понадобилось постоянный call апи. Ни одного примера не нашел. А все что скачал - повторяют дефолтные туты. Решил немного подразобраться мини прилажуха нужна самому и никогда их не писал.
Прошла неделя. Теперь уже знаю, что package нужно задавать правильный сразу. Что интенты вызывают активити, а активити обладают циклом жизни. Что нельзя хардкодить. Что инфу нужно зачем-то из ресурсов проводить через какой-то буфер адаптер вью, чтобы из него вывести в UI. Что бы работать с api нужно прочитать и понять книгу в 356 страниц по retrofit. А что бы было удобно работать в ретрофит, нужно прочитать книжку и понять книжку по реактивному программированию RxJava. А чтобы делать запросы, нужно еще изучить OkHttp, который как бы и является частью retrofit, но чтобы его понять, нужно, наверное, охуеть. ПОтому что все материалы, которые я поглядел слизаны с одного примера: получить данные с апи по нажатии кнопки или при загрузке прилажения.
Притом, что несклько дельных советов я смог узнать только в рунете. Не в англосреде. И это микромаленькие советы.
Теперь язнаю, что чтобы мне сделать свою мини прилажуху, которая должна всего-то постоянно отображать данные полученные ей с апи 5 раз в минуту и если что - пискнуть. Так вот, чтобы сделать эту миниатюру мне нужно изучить более полутора тысяч страниц. Первые три дня я думал, что просто плохо соображаю. Теперь же, я чувствую себя обезьяной со штанегенциркулем. А ведь 7 лет бэкенда позади. Вот такой андроид.
Аноним 06/05/18 Вск 18:12:09  1185262
>>1185246
>Первые три дня я думал, что просто плохо соображаю.
Собственно это так и есть.
Аноним 06/05/18 Вск 18:20:14  1185265
>>1185246
Да хули здесь учиться. Нихуя ничего не происходит. Меня блять трясет уже. Зимой я не мог реализовать пагинацию через вытаскивание из Реилма. Я блять неделю на это говно потратил, нахуярил вопрос на этом стековерфлоу - в итоге я так и не осилил это. Забросил.
В марте я не смог прокинуть броадскастИнтент через сервис, чтобы взять данные в одной из нужных активити - я блять неделю опять на это говно потратил, в итоге я опять нахуй забил на это дело.

Сейчас мой второй день ебанины с нормальной архитектурой андройда - я блять уже начинаю чувствовать эти МВП, МВВМ, но я нихрена не могу написать, потому что в этих репозиториях из гитхаба хуярят люди с АСИН ТАКСКАМИ хуясками, через анальные даггеры и прочее.

Блять, даже во фронтенд легче вкатиться, чем в эту ебанную архитектуру андройда.
Аноним 06/05/18 Вск 20:41:47  1185351
>>1185265
>Сейчас мой второй день ебанины с нормальной архитектурой андройда
Где ты изучаешь архитектуру? Неужели это так сложно?

Алсо, реквестирую где можно доступно получить базу по построению приложения по MVP, ну, или по MVVM.
Аноним 06/05/18 Вск 21:08:19  1185366
>>1185265
перед тем как писать прилажуху был уверен, что уже все How to, tutors, даже готовые решения и шаблоны на такую плевую задачу есть. Боже мой, как же я ошибался..
Аноним 06/05/18 Вск 21:09:21  1185370
>>1185351
добро пожаловать в оопешный ад, братишка
Аноним 06/05/18 Вск 21:48:55  1185396
>>1185228
>>1185265
>>1185366
Думал я один такой дурачек. В один момент мне надоела эта ебля с ведроидом, и я решил перекатится в Ruby/Ruby on Rails. Так вот в RoR все шло как по маслу. Есть дохуя нормальных гайдов на почти-что каждый пук. Сейчас опять вернулся на ведро, и опять этот ад. Ищешь какую-нибудь инфу по какой-нибудь хайповой библиотеке для Андроида, и читаешь тонну похожих друг на друга гайдов, а иногда и неактуальную хуету. За эту неделю обратного вкатывания осилил все-таки MVP, RxJava и Dagger 2 с горем пополам. Сейчас буду пытаться осиливать тестирование. В прошлый раз (год назад где-то), я, после попытки осилить тестирование, выкатился с подгоревшей жопой отсюда. Но не смотря на все это, меня все равно так и манит этот чертов ведроид.

А вообще, если есть какой-нибудь анон, которому было бы не лень иногда отвечать на мои возможно тупые вопросы, то я был-бы рад, если-бы ты отписал на фейкомыло feedbed@tuta.io.
Аноним 06/05/18 Вск 22:11:12  1185408
>>1185396
>MVP, RxJava и Dagger 2
Это же изи всё, просто пиздец изи. Вы просто тут тупые все и не лечитесь. Нахуй вы вообще программируете под андроид?
Аноним 06/05/18 Вск 22:14:26  1185411
>>1185408
меня нужда заставила - по работе автоматизировал некоторые сервисы, все сделал отлично, вывел апи, неубиваемый сервер, написал отличный бэк. Дошел до андроид и охуел просто. По другому не скажешь. А ведь всего-то хотел себе жизнь облегчить.
Аноним 06/05/18 Вск 22:14:44  1185412
>>1185408
В какой-то мере соглашусь с первыми двумя пунктами, но на Dagger 2 я точно не меньше двух дней потратил. Хуй знает куда что пихать, как правильно всю эту парашу инджектить.
Аноним 06/05/18 Вск 22:15:38  1185414
>>1185408
>Это же изи всё, просто пиздец изи.
Засунь себе в анус свое изи. Ставлю сотку, что твой продакшен код настолько залит говном, как и твой очередной пост с предсказуемым пуком.


>>1185396
Я кстати тоже после разрыва пукана начинаю копать руби. Какое совпадение. Кек.
Аноним 06/05/18 Вск 22:37:03  1185425
>>1184586
ну и кто разрешал андроидо-даунам многопоточность использовать? В этом коде гонка потоков. Пилите свои вьюшки и не лезьте в серьёзные вещи.
Аноним 06/05/18 Вск 23:06:49  1185440
>>1185425
> В этом коде гонка потоков. Пилите свои вьюшки и не лезьте в серьёзные вещи.
Это код рандомного китайца, который я изучал. Что здесь не так что? Объясни поподробней.
Аноним 06/05/18 Вск 23:20:09  1185449
>>1185440
после того как ссылка на INSTANCE была присвоена и до того как вызовется updateDatabaseCreated VM может зашедулить выполнение других потоков, а текущий убрать до лучших времён. Вполне возможно что другие потоки могут увидеть присвоенную ссылку на INSTANCE даже не входя в sync блок, только эта самая ссылка не была инициализирована до конца. Это data race классический.
Аноним 06/05/18 Вск 23:41:24  1185462
>>1185414
>Засунь себе в анус свое изи. Ставлю сотку, что твой продакшен код настолько залит говном, как и твой очередной пост с предсказуемым пуком.
Сотку чего?
Аноним 07/05/18 Пнд 10:07:53  1185566
>>1185449
Вот только никто не сможет обратиться к INSTANCE, пока synchronized-блок не завершится.
Аноним 07/05/18 Пнд 10:46:38  1185581
>>1185566
Это почему?))) Там есть проверка вне блока, она как раз и выполняется.
Аноним 07/05/18 Пнд 12:08:06  1185608
>>1185581
А, да, действительно. Вот если бы INSTANCE присваивалось в самом конце блока, было бы нормально.
Аноним 07/05/18 Пнд 12:50:08  1185633
image.png (75Кб, 644x804)
>>1185566
>>1185581
>>1185608
Сложно пиздец.

Мне вообще непонятно, почему так делают. На работе я смотрел как челик один класс пилит и все. И из MyApplication.getInstance я вызываю в любом фрагменте то, что хочу вызвать.
Но я пока бдшку не подключал, сегодня буду пытаться это сделать внутри этого говна.
Аноним 07/05/18 Пнд 12:54:19  1185635
>>1185633
https://habr.com/post/129494/

Ну и читай про многопоточность в джаве.
Аноним 07/05/18 Пнд 13:08:21  1185637
image.png (20Кб, 692x227)
>>1185635
Т.е. здесь китаец инициализирует БД в единичном экземпляре, чтобы потом наверху, например в активити, получить этот инстанс и внести изменения в эту БД?
Аноним 07/05/18 Пнд 14:31:07  1185667
>>1185635
есть же книга "ява конкарренси ин практис", на хабре все уверены что понимают многопоточность, но это сомнительно
Аноним 07/05/18 Пнд 18:51:56  1185768
>>1185637
Читай про паттерн "синглтон", что уж.
Аноним 07/05/18 Пнд 20:35:51  1185816
>>1185637
Хуя ты даун, бротиш.
Аноним 07/05/18 Пнд 21:57:23  1185859
image.png (48Кб, 1017x368)
>>1185768
>>1185816
Сука, хули тут читать-то. Написано же на пикрили.
Один экземпляр БД - работа с ним. Хули вы меня обижаете.
Аноним 07/05/18 Пнд 22:57:30  1185891
lesduh.jpg (124Кб, 1000x750)
>>1185859
Аноним 08/05/18 Втр 08:04:52  1185999
Не бейте, но почему у Телеграма пустая почти директория layout? Все их кода создают, судя по всему - почему такой подход? Чем он лучше?
https://github.com/DrKLO/Telegram/tree/master/TMessagesProj/src/main
Аноним 08/05/18 Втр 17:55:28  1186259
сегодня гугл ИО.
иеееееееееей
Аноним 08/05/18 Втр 18:14:05  1186273
>>1185999
Телеграм это сраное сборище костылей и хаков.
Ну можно из кода ебашить что бы с xml не ебаться,
немношк меньше ресурсов жрется.
Аноним 08/05/18 Втр 20:20:09  1186378
чо, никто i/o не смотрит?
Аноним 08/05/18 Втр 20:46:25  1186419
>>1186378
Ну я так посмотрел, сейчас вырублю. Включу в 12 ночи, как раз андройд покажут. Ну и в 7:30 - про котлин с питера чувак будет говорить.
Аноним 08/05/18 Втр 20:51:14  1186427
Кстати, как включить фичу удаления серых ненужных пакетов в текущем файле java при форматировании ctrl + alt + L ?
Аноним 08/05/18 Втр 21:02:56  1186444
>>1186419
Сейчас андроид как раз показывают.
Аноним 08/05/18 Втр 21:12:42  1186449
>>1186444
Ну такое.
Аноним 08/05/18 Втр 21:27:35  1186462
Нет ли людей, которым нужно помочь чем-нибудь? Готов работать за еду за спасибо.
Аноним 08/05/18 Втр 21:41:53  1186470
>>1186462
мне нужно дохуя чего делать. Но пускать в свою репу хер пойми кого еще и рукожопого - нет спасибо, даже за беслатно не надо
Аноним 08/05/18 Втр 21:49:34  1186477
>>1186470
Ну ты напиши че сделать, а я буду кидать файлики.
Аноним 08/05/18 Втр 21:53:02  1186483
>>1186477
Напиши мне свою реализацию mpeg dash плеера для андроида. Как напишешь - файлик кидай по адресу /dev/null
Аноним 08/05/18 Втр 22:42:59  1186509
>>1186483
Чет слишком сложно. Пойду лучше курсовую поделаю.
Аноним 08/05/18 Втр 23:04:44  1186516
Ебать, за две секунды открывается эмулятор. Вот пиздаболы. Нихуя подобного. Зато все хлопают.
Аноним 08/05/18 Втр 23:22:43  1186525
image.png (158Кб, 330x446)
Аноним 08/05/18 Втр 23:27:18  1186529
image.png (914Кб, 1341x638)
А вот и материал theming подъехал.
Эппл в очередной раз соснул.
Аноним 09/05/18 Срд 01:55:56  1186588
images.png (10Кб, 290x174)
Как сделать один общий граф зависимостей между модулями? Вот например есть aar модули А и Б, их консюмит апк модуль. Модулю Б нужно заинжектить зависимость(@Singleton) модуля А в свой андроид сервис. Это реально вообще?
Аноним 09/05/18 Срд 02:03:00  1186594
>>1186525
Когда она уже в гидралиска регенерирует? Первый раз было прикольно, а теперь чет раздражает.

Ну или хотя бы протез поставит, чтобы никогда не просить об этом. Или она специально его снимает?
Аноним 09/05/18 Срд 06:46:49  1186634
>>1186594
> Или она специально его снимает?

Конечно, надо же продемонстрировать дайверсити и инклюзивити.
Аноним 09/05/18 Срд 06:51:29  1186636
Хорошо прошлись по лейаутам
https://www.youtube.com/watch?v=GAkkKjds00o&feature=youtu.be&t=3h4m54s
и лайфсайклам
https://www.youtube.com/watch?v=GAkkKjds00o&feature=youtu.be&t=3h15m47s
Аноним 09/05/18 Срд 09:06:25  1186655
image.png (575Кб, 1798x913)
Что это еще за модные пендосские новинки? Неужели мы так клепать тоже будем?
Аноним 09/05/18 Срд 09:10:05  1186656
>>1186655
Они пытаются повторить гейпловский сториборд? НАХУЯ СУКА Фу блядь пидорасы, все им стрелочки рисовать хочется прямо в идеешке.
Аноним 09/05/18 Срд 09:16:47  1186661
image.png (220Кб, 1118x661)
Как же активно они свое говно продвигают.
Live data, Room, супер архитектура.
Аноним 09/05/18 Срд 09:18:35  1186662
>>1186655
Лол, рили эппл ебаный косплеят.
Аноним 09/05/18 Срд 09:22:08  1186663
image.png (400Кб, 1751x905)
>>1186662
>>1186656
Будем еще учить онэмацию кнопочки делать
Аноним 09/05/18 Срд 09:30:46  1186668
Так, ребята, какая-то хуита произошла с Андроид Студией - постоянно индексирование происходит. То есть открываю некоторые файл с классами активити - начинается каждую секунду индексирование, просто не переставая. В других классах активити такое же происходит только если начать редактировать методы OnCreate или OnCreateView. В какой момент все пошло по пизде сам не заметил - классы, в которых эта ебатня происходит, даже не менялись последнее время. В другом проекте этого же не происходит, то есть дело в проекте, но где искать проблему хотя бы примерно?
Аноним 09/05/18 Срд 09:42:30  1186669
>>1186668
Соррян за беспокойство, помогло банальное Invalidate caches, restart
Аноним 09/05/18 Срд 10:07:53  1186676
>>1186662
больше всего бомбануло от навигации свайпами, как в айфоне х
ну и монобровь конечно
Аноним 09/05/18 Срд 10:22:46  1186680
Смотрю на все эти навигации, design-time helpers и вспоминаю, как буквально пару лет назад, когда решил потыкать андроид впервые, у меня был настолько слабый ноут, что дезигн у хмл в студии вообще не грузился, так что приходилось писать абсолютно все из кода. И как-то тепло на душе становится.
Аноним 09/05/18 Срд 21:42:37  1187189
image.png (57Кб, 1293x430)
Что это блять? Особенность realm'a?
Аноним 09/05/18 Срд 21:45:47  1187191
>>1187189
особенности нативного кода. У тебя поля не инициализированны, пока к ним доступа не попросил.
Аноним 09/05/18 Срд 21:48:18  1187194
>>1187191
>пока к ним доступа не попросил
Т.е. у меня существует лист из 20 элементов без инициализации полей?

У меня проблема в том, что при первой установке приложения ничего не показывается, при повторной компиляции показывается лист уже нормально.
И с этим ли связана инициализация?
Аноним 09/05/18 Срд 22:06:34  1187211
>>1187191
Но я понял слегка. Спасибо анонче.
Аноним 09/05/18 Срд 22:12:38  1187221
>>1187189
Вам про это еще с версии ~0.8 начали писать в туториале, что поля в дебаггере не отображаются, пока их не запросишь явно.
Аноним 09/05/18 Срд 23:56:41  1187313
image.png (139Кб, 720x1280)
image.png (224Кб, 720x1280)
image.png (226Кб, 720x1280)
Аноны, пишу очередной чят на курсач. Переписка отображается в ресайклервью, ниже идет панель ввода текста, ну по классике.
Проблема что когда открываю клавиатуру, она как бы закрывает часть чата. То есть если я открываю клаву из позиции на пике 1, то получается пик 2, а должен быть пик 3.
Как фиксить? Гугл говорит чето про android:windowSoftInputMode="adjustResize", но это фигня.
Аноним 10/05/18 Чтв 01:15:01  1187368
image.png (29Кб, 1176x250)
>>1187313
Накостылил вот такую хуйню, но она коряво работает при скрытии клавиатуры (поэтому сделал условие что только при открытии), и это же какая-то хуйня.
Наверняка есть какое-то более элегантное решение, задача-то распространенная.
Аноним 10/05/18 Чтв 06:18:25  1187431
>>1187368
Да вроде так и решается. Вот здесь точно было про это, глянь
https://youtu.be/BbxB3Sr55qw?t=20m45s
Аноним 10/05/18 Чтв 06:54:57  1187441
>>1187431
ты к нам хабра пришел?
Аноним 10/05/18 Чтв 07:13:36  1187444
>>1187441
нет, с хуя ли?
Аноним 10/05/18 Чтв 08:06:52  1187460
>>1187444
может и с хуя, кто тебя знает
Аноним 10/05/18 Чтв 08:54:33  1187473
>>1187431
setStackFromEnd(true) достаточно было поставить у лейаутменеджера, но за видос спасибо.
Правда, теперь оно отображает первые сообщения снизу, а не сверху, но в телеге например так же и всем нормально, так что похуй.
Аноним 10/05/18 Чтв 17:29:46  1187752
Сап, /pr/.
1) Как сделать так, чтобы в зависимости от какого-то условия приложение стартовало с разных активити? Т.е. если, допустим, пользователь не авторизован, то с Login/SignUpActivity, если авторизован - то сразу какая-нибудь FeedActivity.
2) Где хранить токен, получаемый с сервера при авторизации, чтобы реализовывался пункт 1?
Аноним 10/05/18 Чтв 17:54:07  1187770
>>1187752
>1) Как сделать так, чтобы в зависимости от какого-то условия приложение стартовало с разных активити? Т.е. если, допустим, пользователь не авторизован, то с Login/SignUpActivity, если авторизован - то сразу какая-нибудь FeedActivity.
Чекать shared preference. Если там есть что-то - открывать уже другой активити. Если нет - то авторизацию.
>2) Где хранить токен, получаемый с сервера при авторизации, чтобы реализовывался пункт 1?
В одном из приложений я хранил в sharedPreference. Но у тим лида пукан горел с этого.
Аноним 10/05/18 Чтв 18:48:49  1187799
>>1187752
> 2) Где хранить токен, получаемый с сервера при авторизации, чтобы реализовывался пункт 1?
AccountManager
Аноним 10/05/18 Чтв 21:13:05  1187929
>>1187799
>AccountManager
https://sites.google.com/site/droidnotsecure/vulnerabilies/credential-residue/accountmanager
Аноним 10/05/18 Чтв 21:53:40  1187965
>>1187929
Хранить в Shared Preferences всяко надёжнее, да
Аноним 10/05/18 Чтв 22:10:53  1187983
Тогда такой вопрос. Где в коде чекать SharedPreferences или AccountManager? Это должна быть какая-то StartActivity, единственной задачей которой является проверка наличия валидного токена и переадресацией либо на LoginActivity, либо на FeedActivity?
Аноним 10/05/18 Чтв 22:32:56  1187991
>>1187983
Именно так.
А вообще активити не нужны, сейчас эра view-based навигации.
Аноним 10/05/18 Чтв 22:42:27  1187994
>>1187991
>сейчас эра FRAGMENTS
поправил няшу.
Перекат Аноним 10/05/18 Чтв 22:43:52  1187995
ПЕРЕКАТ

https://2ch.hk/pr/res/1187993.html
https://2ch.hk/pr/res/1187993.html
https://2ch.hk/pr/res/1187993.html
https://2ch.hk/pr/res/1187993.html
https://2ch.hk/pr/res/1187993.html
Аноним 10/05/18 Чтв 22:47:41  1187997
>>1187994
Вообще да, новая навигейшон либа гугла на фрагментах работает.
Аноним 11/05/18 Птн 06:18:49  1188078
>>1187997
Фрагмент - обёртка над вью.
Аноним 26/05/18 Суб 02:19:51  1196989
15163566023120.jpg (89Кб, 671x1024)
sup /pr помогите разобраться в структуре андроид проекта. Есть порт love2d для андроида через сдл и вот я не могу понять как это работает. Там 3 манифеста (если не больше), а насколько я всю эту тему накопал то одно приложение = один манифест, но тогда зачем там остальные манифесты, как всё это между собой связано? а там и сдл и сам лов, а потом к этому всему и само приложение


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