Этого треда уже нет.
Это копия, сохраненная 14 июля 2018 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
lib-color.png509 Кб, 1000x970
Android Development Thread 1161404 В конец треда | Веб
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/
2 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 репы, ни на стаковерфлоу, никто не поднимал данный вопрос - проблема это персонально моя. Может кто скинет пример реально рабочего кода с подключением к сокетайо-серверу с передачей параметров?

репост с тонущего
3 1161419
Пукнул в треде
4 1161457
>>61406
Я работал с этим дерьмом.
Абсолютно не прозрачное плохо документирвоанное говно. От Object... меня вообще блевать тянет. Бер и копайся бля есть там что или нет, JSONObject или Exception какой-нибудь нахуй.

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

https://pastebin.com/GFvZDrx6
5 1161459
>>1161320
Охуенно обрезал самый важный кусок.
Подозреваю что ты где-то передаешь null по цепочке, RxJava2 за такое убивает нахуй.
6 1161465
>>61406
Ах да, еще проверь своего бекендщика на вшивость, а то мой слал/принимал голый jsовский json, из ебаного веба в ебаную ноду же.
7 1161474
>>61465

> мой слал/принимал голый jsовский json, из ебаного веба в ебаную ноду же.


Что?
8 1161479
>>61474
Поскольку js не типизирован, то отправить через socket.io можно было все что угодно, в итоге слались не сериализованные объекты. И когда я слал нормальный тектсовый жсон, то получал фигу.
9 1161481
>>61479

> Поскольку js не типизирован


Уверен, что понимаешь слова, которые пишешь?
10 1161543
>>61481
Я непривльно выразился.
11 1161564
>>61404 (OP)
Ведро-тян к вашим услугам.
12 1161586
Изучить android программирование на яве, а затем вкатиться в реакт native. Слишком ебануто?
Снимок экрана 2018-03-24 в 9.31.11.png68 Кб, 603x295
13 1161620
>>61459
Если этот код обратно вернуть в фрагмент, то все работает.
Возможно у меня дебильно сделано обращение к методу, который вызываю из фрагмента, так называемый setWebmData.
14 1161621
>>61459

>pastebin


Спасибо, покопаюсь

>проверь своего бекендщика на вшивость


Да веб-клиент без проблем заработал, не в этом дело
15 1161622
Screenshot1521880406.png588 Кб, 1080x1920
16 1161687
Есть один быдлокод https://pastebin.com/q6mmuJap
Цель: вынести методы которые отвечают за запросы из сети например, fetchWebmDetails()
Нет, я не прошу сделать все за меня, прошу совета о реализации. Сам пробовал создать отдельный класс, в который переносил вышеупомянутый метод, но столкнулся с рядом проблем.
Проблемы такого плана. Не могу правильно обратиться к методам setWebmData и setTagsAdapter, соответственно и в обратную сторону, не мог правильно вызвать метод fetchWebmDetails из RandomFragment.
В общем, как сделать или что изучить дабы разобраться с этим. У меня постоянно с этой темой проблемы и поэтому все писал в одном классе активности или фрагмента, что не есть хорошо в плане ООП и SOLID.
17 1161757
>>61621
Так в том то и дело, что в моей ситуации тоже с вебом все было ок, а то что я слал сервер не понимал. Когда я указал на проблему и бекендщик поправил как надо - в вебе тоже немного правок внесли (просто слали не прямо объект, а stringify'цированое представление)
18 1161812
Ведраны, кто-нибудь юзал protobuf-плагин к gradle?
Эта хуйня по дефолту тащит все .proto в jar. Как это говно отключить?
19 1161824
>>1161539

>СГТУ?


А это уже деанон. Так что не буду отвечать.
20 1161872
>>61812
Ты уверен что хочешь это отключить? Не просто ж так наверняка.
Ну вот вроде https://github.com/google/protobuf-gradle-plugin/issues/108
21 1162000
>>61872

>Ты уверен что хочешь это отключить? Не просто ж так наверняка.


Да, хочу. Честно говоря я не ебу нахуя оно вообще сделано, ибо generated кода более чем достаточно.

>Ну вот вроде https://github.com/google/protobuf-gradle-plugin/issues/108


Да, оно. Спасибо, анончик.
22 1162119
Сап двач, помоги. Есть ресайклер ,данные в его адаптер загружаю чере асинк такс из сервака. При нажатии на айтем ресайклера открывается фрагмент с подробной инфой об айтеме, фрагмент открываю через транзакшин эд. Через этот фрагмент я могу удалить айтем из сервака и после удаления через popbackstack возвращается фрагмент с ресайлером, но айтемы в нём остаются прежними . Так вот как мне зарефрешить данные ресайклера автоматически после удаления айтема без свайпов и т.д. ведь в фрагменте ресайлера не запускаются заново онстарт, онресум.
23 1162143
Скиньте уже пак тни с оп пика.
24 1162185
>>62119
Думой.
Первое, что пришло за секунду, так это можешь ебнуть пагинацию со спинером обновления.
25 1162233
Аноны. Есть один дипломник и его заставили делать приложение под ведро. Вопрос: что нужно знать для того чтобы знать/сделать для создания "приложение по учёту клиентской базы предприятия"?
26 1162244
>>62119
В сторону FastAdapter копни.
27 1162333
>>61687
Продолжение. Поскольку все промолчали (70 раз просмотрели ссылку с кодом) пришлось делать по своему.
Создал интерфейс и отдельный класс WebmDetailsFetcher чтобы в нем написать метод fetchWebmDetails(). Для инициализации интерфейса создал конструктор в классе WebmDetailsFetcher. Затем в onCreate методе инициализирую тот самый конструктор. Передаю аргументы в setWebmDetails и получаю ожидаемый результат. Пока все работает без проблем, но не является ли это изъебством и можно было сделать куда проще и красивее? Ссылка: https://pastebin.com/bkcrD83M
28 1162377
Нужно было отображать в RecyclerView HashMap с привязкой - ключа User и его ArrayList заказов - value из другого класса. Я нанес на них общего предка и в тот же Recycler пихнул простой лист, где я преждевременно рассчитал количество value в каждом key и у меня получилось следующий массив:
User, Order, Order, User, Order, Order, Order и так далее. т.е. первый юзер имеет два заказа, второй - три заказа и т.д.
Теперь я запихнул иконку searchView, но проблема в том, что у меня ArrayList содержит в себе их общего родителя, который не имеет метода getUser и getOrder. Как мне запилить этот поиск?
29 1162492
>>62233
Какой у тебя уровень знаний? Если коротко то нужно знать все что нужно для шлепания CRUDов.
234234.png31 Кб, 1056x475
30 1162493
Хмм. Пиздец, чё не так с этими сраными вкладками. Хули они мне 14 инстансов фрагмента нахуярили.
Васян 31 1162494
Йоу, всем привет. Начал использовать realtime database от firebase, хочу получать записи имеющие в поле `Ингридиенты` значение которое включает в себя `Морковь` Использовал такой код(1ый скрин) для такой бд(2ой скрин). В итоге у меня нихуя не получается, как фиксить?
Васян 32 1162496
>>62494
Только что узнал, что equalTo() ищет строку полностью включающую строку указанную в аргументе. Получается это не альтернатива like из sql
В таком случае я в полной растерянности и не знаю как поступить
33 1162503
>>62496
Ха-ха, лох. Тебе говорили, бери SQL и не выебывайся, нет, хочу жрать зависимость от гугла.
Васян 34 1162507
>>62503
Ты ебанутый? Там будет большая бд. Я что буду подгружать всю бд пользователю?
35 1162532
>>62507
Ну, теперь ты вообще ничего подгружать пользователю не будешь.
36 1162557
Кто-нибудь делал instant apps , какие подводные?
37 1162588
>>62492
Всего понемногу. Если вкратце то чуть больше чем нихуя.
38 1162621
>>62185
Пагинацию на стороне сервера делатьна спринге написал или на стороне клиента?
39 1162652
>>62588
Тогда хватит. Верстка + нетворкинг это если по бомжацки. Что бы норм надо еще db, но не сильно, с SQLite не разгонишься.
40 1162667
>>62621
Both.
41 1162683
>>62621
Так если ты со сервака удаляешь, просто обнови инфу ресуклера. Т.е. можно присобачить спинер как при обновлении новостей впараше.
sage 42 1162969
Как же заебал это имбицил с вебмками
43 1163033
>>62969
Все ж мы люди!
44 1163073
>>62969
Имбицил с вебмками молодец и изучает разработку работая над интересным ему проектом, а не над очередным тудулистом и веазер апп из онлайн курсов.
45 1163089
>>63073
Спс))
46 1163096
>>63073

> а не над очередным тудулистом и веазер апп из онлайн курсов.


Жиза. Как себя бы не заставлял тогда, все равно блевать хотелось от просмотра кода из туду.
47 1163534
Уважаемые господа, обновил студию до последней версии и повылезала какая-то шляпа. При этом все вроде как работает (как дебаг, так и релиз). Подосбите решением, если знаете. Из того, что могло повлиять - поменял compile на implementation. Из того, что пробовал из гугла и не помогло - синхронизация градл файлов, invalidate/restart, добавление google() в repositories. Хуй знает че, короче. Вроде работает, но глаза мазолит
48 1163580
>>63534

>вроде как работает


Ну и не трогай тогда.
кек.
50 1163884
Как можно сделать так, чтобы пользователь мог залогиниться в одном моем приложении и потом автозалогиниться в другом, не вводя логин и пароль во второй раз?
51 1163887
>>63884
Account manager
52 1163889
>>63887
Спасибо, анон. Насколько я понял, приложение, через которое пользователь в первый раз аутентифицировался, просто пихает логин+пароль в Account Manager и потом остальные приложения вытаскивают логин+пароль из Account Manager'а?
Есть ли такая штука, чтобы я отправлял логин+пароль сервису аутентификации, который бы выдавал какой-нибудь подписанный пропуск, который я буду показывать при обращении к своим сервисам?
53 1163895
>>61404 (OP)
какая на пике кобыла бе.
с виду конечно не оч встратая, но по мне не оч, КОБЫЛА одним словом
54 1163998
>>63895
это трап же ну
55 1164048
Как правильно скачать и распарсить xml?
Передавать парсеру на вход огромную строку?
56 1164111
>>64048

>распарсить xml


учись парсить json
57 1164121
>>64111
Ну вот мне надо rss ленту как бы, и один хер это не влияет на суть вопроса.

Мне либо коннекшон передавать вместе с инпут стримом в парсер, либо сначала всё прочитать из стрима куда-нибудь, и передать это в парсер. Второе явно лучше, но я не знаю как принято делать.
58 1164123
>>64121

> Второе явно лучше, но я не знаю как принято делать.


Почему ты так думаешь?
59 1164131
>>64123
Ощущение будто я на приёме у психотерапевта
60 1164152
Программировать под андройд в 2136, вы серьезно? Зачем вы себя унижаете?
мимо сижу полгода на реакт нейтиве
61 1164172
Анончики, при отправке коммитов в репозиторий гитхаб, вылезло окошко с кнопками merge и rebase, я нажал на вторую кнопку и все распидорасило в моем локальном проекте. Пропали все папки с джава классами и прочее. Иконки изменились на другие.
62 1164210
>>64172

>нопками merge и rebase, я нажал на вторую кнопку и все распидорасило в моем локальном проекте. Пропали все папки с джава классами и прочее. Иконки изменились на другие.


АХХААХАХХАХАх
Сук) Проиграл.
Я тоже так делал. В общем, по методу тыка нашел следующий рецепт для себя: Есть девелоп, создаю ветку новую, хуярю код там, потом переключаюсь опять на девелом, нажимаем волшебную кнопку MERGE, сливаем наши изменения в девелоп и мерджим конфликты.
Хз, может поможет.
А вообще, тебе лучше опять скачать проект, чтобы хуйней не страдать и применять мои рецепты.
63 1164362
Анончик, как провести аутентификацию по LDAP?
CcutX9sUYAAGgLn.jpg72 Кб, 600x788
64 1164412
>>64172
Тоже проиграл, тоже так познавал, только не кнопками, а в консоли, копируя команды со stackoverflow.
65 1164414
>>64210
>>64412
Прикол в том, что они сука так и лежат в папке с проектом. До них можно спокойно добраться и вносить изменения. Но по большому счету, это все хуйня.
IMG20180329075452.jpg45 Кб, 512x500
66 1164435
>>64131

>когда даже психотерапевт кодит лучше тебя

image.png79 Кб, 1012x598
67 1164476
Нуб в андроиде. Делаю урок по сайту Климова (Светофор, день 4ый)

Почему при присвоении значения фона ConstraintLayout, меняется фон у всех элементов? То есть, по уроку если делать, такого быть не должно, но окрашивается весь контейнер, включая кнопки.
68 1164534
>>64362
Через Oauth
69 1164577
>>64476
Нет, меняется фон только у лейаута. Смотри в сторону бекграунда кнопок.
70 1164649
>>64476

>Нуб в андроиде.


Это непоправимо.

>Делаю урок по сайту Климова (Светофор, день 4ый)


Нахуй Климова, хоть котики у него есть, но все равно нахуй. Ебашь юдасити, я знаю, что я говорю. Ты получешь невъебенные 6-7 курсов суммарностью 200 видосов.
А на вопрос отвечать не буду, пока юдасити не пройдешь. Троль.
71 1164672
>>64172
Выключил включил студию все вернулось на места свои.
72 1164752
Блять, я не понимаю. На работе логи не работают, дома логи не работают. В Run их тоже нет. Тупо ошибки как эти

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

Просто пиздец. Сука. Отлаживаю через тосты. Дожил.
image.png20 Кб, 732x387
73 1164776
>>64752
Если у тебя показываются только ошибки, значит Log level у тебя стоит Error. Если ты свои логи через Log.d() пишешь, значит тебе нужно поставить Log level: Debug. И убедись, что строка поиска и фильтры у тебя пустые.
image.png94 Кб, 1861x554
74 1164818
>>64776
Нет, у меня что-то вроде этого.
Подозреваю, что пиздец в самом проекте. Но это только у меня, у другого чела работает.
Но у меня и дома не работает. Загадка.
К слову, здесь должно быть 100 строчек от логов. Раньше было, сейчас же нет.
75 1164853
>>64649
Спасибо за совет про Удасити, как раз собирался смотреть. А с такой рекомендацией уж тем более побегу.
76 1164901
77 1165019
>>64818
хз, попробуй все заглушки отключить: debug -> verbose, filter -> no filters, а в строке поиска, если надо, можно просто прописать имя пакета
орнул с тостов
78 1165098
Короче смотрите, ведроны.

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

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

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

Как это делается?
79 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
80 1165223
>>65175
все решил
81 1165279
>>65019
Проблема была в том что нужно было перезагрузить девайс.
Я сам сидел и орал)
82 1165281
>>65098
Непонятно. Если хочешь данные с сервера получать по разным ссылкам - сделай три метода от ретрофита и дальше пляши от этого.
83 1165326
Решил на выходных тыкать слегка натив фреймворки. Что лучше, брать реакт нейтив или все-таки попробовать флаттер?
Кто игрался с ними? Расскажите как ощущения.
84 1165329
>>65326
Он реакта чот блеванул. Тулинг какой-то пиздец ебанутый для меня. Какие-то пляски с нпмом старой версии, подкачивания какой-то хуйни и тд. А ну и жс, может с каким-то врапером типа тайпскрипта оно лучше, но не зашло. Флаттер не тыкал.
85 1165347
>>65329
Бля, отзыв конечно пиздецовый.
Хотя инстаграммы всякие и написаны на нем.
86 1165351
>>65347
Ну ты бы еще фейсбучными либами на полном серьезе пользовался типа фреско и литсо.
87 1165355
>>65351
Ну я фреско только юзал на минималках, без углублений в детали.
Хотя мне почему-то дарт получше читать, в отличии от того же жс, чего у последнего 60к звезд на гитхабе. Сложно все-таки натив выбирать, все-таки продолжу писать на джаве и буду ждать книжку от хед фест про котлин.
88 1165389
Все-таки мне понравился дарт. Если че, здесь есть анон, который потихоньку копает дарт. Земля мне пухом в свободное моё время.
89 1165559
>>61404 (OP)
Анон, посоветуй плез годный демо по Clean Architecture + MVP

Сейчас ковыряю это
https://github.com/android10/Android-CleanArchitecture
Но эта демка говно - state презентера не сохраняется нихуя и при определенном сценарии вообще с NPE падает все нахуй.
90 1165575
>>65559
Это ты говно.
91 1165609
>>65575
Почему?
93 1165651
>>65616
Благодарю.
94 1166524
Анон, использую в проекте RxBinding и ButterKnife. И понял, что в разных местах использую разные обработчики нажатия на кнопку, а это хуево ИМХО. Что выбрать в итоге?
95 1166623
Анон, что спрашивают на собеседовании на джуна?
96 1166625
>>66623
Загадку про два стула.
97 1166651
>>66524
Если у тебя две библиотеки со схожим функционалом, то ты дурачок.
Убирай все вообще нахуй, либо оставляй рхбиндинг.
98 1166666
Как в андроиде проиграть видео и byte buffer'а (никак)?
99 1166673
>>66666
Кто нибудь использовал ExoPlayer? Можно ему буфер с данными отдать?
100 1166698
>>66524
Выкидывай баттеркнайф нахуй.
101 1166743
>>66698
Но мне лень прописывать ебучую инициализацию
102 1166759
>>66743
https://antonioleiva.com/kotlin-android-extensions/

Тем более ты можешь это делать постепенно.
103 1166898
>>66673
ExoPlayer'у можно скормить вообще все, главное напиши реализацию DataSource из трех методов.
Пет проекты для резюмешки вкатальшика 104 1166935
Читаю доки. Пилю проги.
Забиваю гитхаб хуетой. (Такой хуетой что аж стыдно себе) но активность капает 1000+ коммитов уже захуярил дебил.
Купил гугл плей. Залил туда одно говнище. Находятся дебилы которые даже устанавливают.
Собственно вопрос сколько по хорошему нужно запилить прог на гугл плей чтоб вкатываться в джуниор и было не стыдно за себя??
Есть ли смысл гнаться за количеством? Сделать 10-ток толковых (блокнотик, to-do шечка, таймер будильник, читалка твитеров и т.д.)
Или прям хуярить и хуярить чтоб штук 50-100 всяких крестиков ноликов, пятнашек, змеек, хуеек и прочего.
105 1166955
>>66935
Вася, опять ты что ли?
Тебе же говорили, что аутистам не дают работу.
106 1166980
>>66935
Учи Flutter. Слышал, что про него стали очень часто спрашивать на собесах.
107 1166987
>>66955
Нет я другой аутист
108 1167030
>>66980
Ты рофлишь что ли?
Они еще даже переворот экрана не пофиксили, КАРЛ.
Идет уже 2137 год, даже сами разрабы флаттера хуй забивают на дискуссии молодых людей в issues на гитхабе.
Хотя было бы интересно почитать краткий экскурс и по другому нативному говну, но мало кто интересуется этим.
Да и еще альфа версия.
Если сделают как на иосе, только с дартом, было бы замечательно. Наверное.
109 1167193
>>67030

> Они еще даже переворот экрана не пофиксили


Так это и в Андроиде не пофиксили и не пофиксят уже никогда.
110 1167247
>>67030
>>67193
А что не так с поворотом экрана?
ну кроме того что активити пересоздается
Ну так с этим уже вроде каждая собака умеет бороться.
111 1167270
>>66524
я бы второе оставил хотя на самом деле разницы большой прям нет
112 1167276
Задача такая - хочу сделать асинхронную загрузку данных через Rx, но все примеры предполагают, что управление подписками прикрепляется к жизненным циклам активностей. Я бы хотел сделать загрузку, не зависящую от этих циклов (чтобы работала даже в свернутом виде, не зависела от переключений активностей). Но управлять подписками как-то надо (по крайней мере желательно). Гугл предлагает ставить на паузу при уходе в бэкграунд приложения и потом просто возобновлять. Но это как то не очень. Если у кого-то есть что-либо, то достаточно ссылки на ресурс
113 1167278
>>67247

>Ну так с этим уже вроде каждая собака умеет бороться.


Ой блять, не начинай. Я не хочу даже думать об этом.
А если еще вспомнить фрагменты и ТО, как ГУГЛ КАЖДЫЙ МАЙ говорит, что ФРАГМЕНТЫ ЗАЕБИСЬ - да идите вы нахуй.
114 1167304
>>67278

>фрагменты


:)
Да ну нахуй. Нове гугловские архитектурыне компоненты меня тоже не впечатляют. Я ебашу single activity с кондуктором.
115 1167308
>>67276
Зачем ставить на паузу? Можешь глянуть https://github.com/NYTimes/Store. У них ConcurrentHashMap держит некоторое время твои обсервэблы и дедуплицирует одинаковые запросы.
И можешь оставлять свои подписки как есть, можно share на обсервблы просто хуйнуть перед тем как они попадают в лайфцайкловые компоненты. (стор так и делает собственно)
116 1167317
>>67276
А что ты вообще планируешь грузить таким образом, что тебе требуется управление подписками в фоне?
117 1167412
>>67308
Вот про тему со стором я как раз и думал, просто писать не стал. Посмотрю уже завтра как NYT реализовано (плюс у них там схемки какие то). Спасибо.
>>67317
Полу-текстовые данные в JSON, в средних объемах (~10 мб) и растянутые по времени в рамках одного получения (5-10 сек, мб чуть больше)
82V1pwehHm0.jpg132 Кб, 1265x273
118 1167579
блять что за хуйня7 перерыл все что мог, нигде не нашел описания такой хуйни, поясните плес , хуле не пашет?
119 1167588
>>67579
Чувак, тебе в юнити тред.
Здесь такой парашей не занимаются.
120 1167597
>>67579
Там все четко и ясно описано.
121 1167766
>>67276
Сервисы для кого?
screenshot.png60 Кб, 600x1067
122 1167979
Какие могут быть варианты написания приложения без использования фрагментов для организации работы с табами?
123 1167991
>>67979
А можно не выебываться и сделать на фрагментах. А варианты такие же, что и в принципе без фрагментов обходиться - кондукторы и мотары всякие.
124 1168003
>>67979

>кондукторы и мотары всякие


Ну согласен, да. Иди что-то вроде таких. Одна либа полностью укомплектована и валяется на гитхабе.
Но в основном нужно было ебаться с бек стеком, а здесь особо и ебаться незачем.
Сначала подумой, прежде чем хуярить в свой проект очередную либу.
125 1168053
>>68003

> Но в основном нужно было ебаться с бек стеком


Сколько раз слышу это как аргумент против фрагментов, но так и не могу понять, что в этом сложного. Ну ладно там кривые api у камеры или Bluetooth, но тут-то что не так? Что в этом такого сложного?
126 1168060
>>68053

> Что в этом такого сложного?


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

> Can not perform this action after onSaveInstanceState

127 1168066
Анон, что используешь для внедрения зависимостей? Фабрику или какой-нибудь Dagger2?
128 1168249
>>68053
Да взять хотя бы тот факт, что фрагменты будут выпилены из фреймворка и останутся только в саппорт либе.
129 1168261
>>68249
Так хорошо же. Почему это должно быть причиной отказа от них?
130 1168292
>>68066
Ничего. Это анти-паттерн.
131 1168322
>>67979
А как реализовано в последней версии приложения YouTube плеера? Разве там фрагменты используются?
132 1168598
>>68249

>что фрагменты будут выпилены из фреймворка


Вот тоже когда пишу иногда задаюсь вопросом. Всякие action bar, toolbar, постоянно приходится на v4 вниз стрелочкой жмякать.
Это будет чудо, если гугл выпилит все говно и оставит важное в супорт либе. Такому не бывать.
133 1168623
>>68066
Использую даггер и фабрики где нужно динамические параметры передать.
134 1169081
>>67979
ViewPager с разными лэйаутами.

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

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

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

Короче, на прилажухе должны быть поля, в которые постоянно приходят данные. ПОСТОЯННО. и при условии выбрасывать notification.
60f3b07aa33b82ba986e082e4f68585b.jpg65 Кб, 550x412
136 1169623
>>69599
Сейчас прибежит вуефорсер и будет советовать всё переписать на node.js и vue, мол, через месяц 300кк/нс будешь получать
137 1169627
>>69623
а что рили так удобно? дело не в мифических 300ММ/нс, но если будет работать, я уже на все согласен. с js давно знаком, но тесноый дружбы не завязывал, может быть время?
138 1169631
>>69627

> js


> удобно


Ты же это не серьезно?
139 1169633
>>69623

>300кк


300m
140 1169634
>>69631
по счет бэкенда не знаю, однажды по дурости поучавствовал в холиваре и понял, что это иррациональная риторика. Но если поможет для моего случая и я не огребу еще большего геморроя, то почему нет
141 1169658
>>69599
Да, бери firebase push api, смотри, на каких языках для неё есть готовые библиотеки. На джаве точно есть. При обновлении данных отправляй информацию на сервер firebase. На телефоне лови эти пуши, проверяй и делай с ними что хочешь.

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


String likedJsonPrefs = prefs.getString(LIKED_ID, null);
String[] likedArrPrefs = gson.fromJson(likedJsonPrefs, String[].class);
???
likedWebmList.addAll(Arrays.asList(likedArrPrefs));
А то при NPE при обращении к методу addAll возникает, пока не сохраню в преференсах строку. Пробовал проверить длину массива (length), то аналогичная проблема. Спасибо.
144 1169851
>>69827

> а не открывая новый activity


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

>>69842

> А то при NPE при обращении к методу addAll возникает, пока не сохраню в преференсах строку.


А как ты хочешь? Сразу в гсон.фром в первый параметр пихнуть преференс гет стринг?
145 1169854
>>69851
То есть, мне все таки придеться открывать новый activity по нажатию на карточку, даже если единственное, что поменялось - это список карточек?
146 1169855
>>69854
Просто передавай новый data source в свой адаптер.
147 1169857
>>69855
При смене с категории на подкатегорию я могу просто поменять данные и вызвать nortifyDataSetChanged и он перестроится. Но при смене с категории на предметы мне нужно по-другому их отрисовывать.
148 1169858
>>69854
А, так суть в адаптерах. Нахуй тебе нужен загромажденный адаптер?
Можешь юзать getItemByType или как-то так, в общем, примеров много.
Если только менять вьюшки, то это легко в принципе. но при тапе ты можешь открывать новый фрагмент, где получишь данные и хуйнешь это в свой базисный адаптер, где он и определит эти данные в соответствующий леяут.
149 1169859
>>69857

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


Ну так отрисовывай, хули.
150 1169928
>>69851
Делаешь интерфейс, в нём вложенные классы. Один класс - один уровень категории. Дальше просто забиваешь свой ресайклер элементами в нужном порядке. Некоторые скрываешь, некоторые нет. Мне кажется, что это может сработать.
151 1169929
Бля, промазал.
>>69928 вот сюда >>69827
152 1169931
>>69842
Оберни в Optional из Java8.
153 1170020
>>69827
Пилишь несколько разных вьюхолдеров, оверрайдишь getItemViewType и в методах onCreateViewHolder и onBindViewHolder делаешь свич-кейс when, если ты белый человек и там уже расписываешь свои карточки. И да, никогда не делай notifyDataSetChanged, если изменилось менее 90% датасета, а сам он меньше ~200 элементов. Лучше используй notifyItemRangeChanged, или просто notifyItemChanged.
Вот тебе ответ со стека, там как раз то, что я описал: https://stackoverflow.com/questions/26245139/how-to-create-recyclerview-with-multiple-view-type/26245463#26245463
154 1170029
>>70020
Блять, ему это уже 3 раза расписали, и ты еще 4 раз пишешь одно и тоже.
155 1170087
>>69658
Что лучше выбрать между django и firebase? Чтобы с заделом на будущее?

вообще стал копать джанго, потому что хочу поднять на домашнем компе, тем более весь бэкенд критится на питоне. С другой стороны, firebase тема годная и, думаю, понадобится.
156 1170094
>>70087

> django и firebase


Firebase это весело, когда им пользуешься только ты и твой кот. Потом начинает приходить счет на пару сотен долларов в месяц в там, где можно было обойтись впской за 10 бачей.
157 1170107
>>70094
хм, тогда может поднять джанго на амазоновском хосте?
158 1170194
Как организовывать структуру проекта с dagger и rxjava?
Хотел MVP использовать, но во всех примерах структура разная, и я хз какой придерживаться.
Алсо, приложение планируется не маленьким - апи, бд, карты и прочее
159 1170199
>>70194
Чем тебя MVP не устраивает? Дополни её каким-нибудь интерактором и репозиторием, где распишешь общую бизнес-логику и работу с данными. В презентер вынесешь только логику представления и частную бизнес-логику.

Вообще структуру ты выбираешь сам и строишь её таким образом, чтобы было удобно тебе/твоей команде. Самое главное, чтобы ты не запутался в ней, и было понятно почему и зачем что-то сделано именно так.
160 1170203
Анон, где можно почитать про реализацию Material Motion без сторонних либ. Сам искал и не нашел норм инфы.
161 1170223
>>70194

>Хотел MVP использовать, но во всех примерах структура разная, и я хз какой придерживаться.


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


Нахуй вообще тебе всякие ЭМ ВИ ПИ и тому подобное?
Бери пример с меня, ебашь все сразу. А потом и образуется как-нибудь.
162 1170528
>>70020
Т.е. ты хочешь сказать, что если меняется весь датасет, то лучше сделать сделать notifyItemChanged для каждого элемента, я правильно понимаю?
163 1170533
Открыл я тут недавно диспетчер задач, а там висят штук 15 неубитых adb, каждый из которых по ~100Кб. Какого черта эта хрень не убивается сама при закрытии эмулятора/студии?
164 1170569
>>70528
Лучше уж notifyItemRangeChanged, раз у тебя вообще все меняется.
165 1170570
>>70020
Вместо нотифаев лучше вообще юзать DiffUtil, особенно с разными типами итема
166 1170728
>>70569
А он будет работать, если итемов стало больше/меньше? Мне тогда после обновления датасета делать notifyItemRangeChanged(0, items.size())?
LifeCycle.jpg73 Кб, 607x846
167 1170748
К вопросу про фрагменты. Не успел я остудить свою жопу от доёбов гугла к моему приложению по поводу авторских прав в API одного сайта, как он подкидывает другой повод.

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

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

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

Блять, ну какие жу всё-таки пидарасы в гугле!
168 1170827
>>70748
Интересная картинка. теперь я понял как онБекПрессед работает.
169 1171064
анон, тыкни, куда идти? Нужен стэк для клиент-серверного прилажения, которое юзать будем только мы с котом.
Что нужно: чтобы прилажуха отображала цыферки с бекенда на питоне. На примете: django, firebase, пушить файл на ftp и с него забирать. Как проще всего сделать?
и кстати, правда, что сокет не работает через инет вовсе? настроил только с андроида на сервер, но не наоборот.
170 1171090
>>71064
Ты бы уже написать всё успел, за что время, пока сидишь стек выбираешь.
171 1171091
>>71090
да пишу. хотелось бы посмотреть на другие варианты. ато не очень хочется побеждать в велотуре
172 1171159
>>71064
1. Подключаешься по сокету на свой сервер и получаешь данные, показываешь их. Держишь либо это соединение всегда, либо только пока открыто приложение.
2. Получаешь данные по требованию через http и отображаешь их. Добавляешь новые записи через GCM/FCM постепенно.
173 1171161
>>71159
так сокет только в локальной сети работает же?
174 1171172
>>71161
Сделай себе белый айпи, в чём проблема?
175 1171179
>>71172

>Сделай себе белый айпи, в чём проблема?


белый - это статичный? Если да, то я настроил статичный IP через no-ip, ddns, port forwarding. Но это на PC. Андроид все равно не получает данные на сокет. Говорят, что за натом. Плохо понимаю что это и как обойти.

>Получаешь данные по требованию через http и отображаешь их. Добавляешь новые записи через GCM/FCM постепенно.



какие тут endpoints? не знаком с технологией и плохо шарю в сетях. Что начать читать? Ато не представляю как происходит обмен данными. было бы готовое решение - было бы замечательно
176 1171184
>>71179
Проще, покажи что ты уже сделал. Кто тебе говорит что твой андроид за натом. У тебя андроид уже слушает какой-то сокет и пытается через него получать данные?
177 1171193
>>71184
на 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?
177 1171193
>>71184
на 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?
178 1171202
>>71193
Так, абажжи. У тебя в роли сервера выступает телефон, а в роли клиента домашний сервер?
179 1171203
>>71202
Ну как я понял, сокет-сокет, это пир то пир. Нужно же и там и там сервер?
180 1171206
>>71203
вообще решения этой проблемы передачи на сокет смартфона так и не нашел. Восновном говорят, что телефону это не позволяется не из под рута и провайдеры НАТят Ip смарта
181 1171208
>>71203
ты уж определись, тебе нужен пир-ту-пир или клиент-сервер
182 1171210
>>71208
да что проще то и лучше) пока пишу бэкенд на питоне и пушу нотификейшены на андроид через сервис. Но в было бы отлично с помощью несложной технологии прямо с питона слать дату в прилажуху.
183 1171225
Сап, анунасы, тут кто-то занимался сборкой андроида под свой смуртфон (AOSP или Lineage OS)?

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

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

Есть у кого-то более детальное объяснение?
184 1171253
>>71210

>и пушу нотификейшены на андроид через сервис

185 1171254
>>71210

>и пушу нотификейшены на андроид через сервис


я так понимаю, речь как раз о GCM/FCM. Это нормально на самом деле.

Просто с клиента (приложение под абдроед) подключайся по сокету к серверу своему. Данные можно слать в обе стороны если что через это подключение. Всё.
186 1171301
сап, андроидасы, ебашу ваще адовую приложуху. В ней есть один ViewPager. Как правильно обрабатывать повороты экрана в нем? Записываю в onSaveInstanceState номер фрагмента, и при повороте выводится нужный, но при этом "за секунду до" происходит анимация пролистывания и виден кусок фрагмента идущего перед нужным. Как это вылечить?
187 1171331
>>71225

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


Тебе нужно накатить оригинальную прошивку, подрубить по усб и запустить скрипт, который вытащит из нее все блобы.
sisyphus1631715.jpg91 Кб, 500x353
188 1171370
Несколько раз в год меня одолевает уныние от существующих языков и желание создать новый, лучше всех имеющихся. Чаще всего это желание улетучивается почти сразу, изредка приводит к созданию очередного диалекта лиспа, с каждым разом все меньше похожего на лисп.

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

Итак, какова основная цель этого языка, что должно быть основой его философии? Продуктивность. С этого и начну.
189 1171372
>>71370

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


Лучше андроид сдк перепиши, у меня от него уныния еще больше.
190 1171375
>>71370
Что влияет на продуктивность? На что разработчик тратит время?
1. Написание кода;
2. Написание тестов;
3. Прогон тестов;
4. Ручное тестирование;
5. Дебаг;
6. Рефакторинг;
7. Поиск библиотек;
8. Поиск документации;
9. Чтение кода и документации.
Вероятно, я забыл еще столько же пунктов, но надеюсь, что самые важные я не забыл.

>>71372
Как только придумаю идеальный язык — так сразу же создам идеальный сдк под все платформы, под небо и под аллаха.
191 1171381
>>71301
Потому что ты говоришь так и говоришь ему.
Ищи ответы на стековерфлоу.
Типичная ситуация.
192 1171383
>>71370
Уже есть такой язык, и это котлин.
Но я пока его не буду учить, жду от Head First книжечки.
193 1171385
>>71383

> жду от Head First книжечки.


Блять, прочекал, она 25 октября выходит.
Пиздец.
194 1171391
>>71375
1. Написание кода.
Что мешает писать код легко и быстро? Я вижу три проблемы: бойлерплейт, ритуалы и парадокс выбора.
С бойлерплейтом все понятно — если языку не хватает выразительности, то приходится писать много повторяющегося кода. Нужны метаинтструменты хотя бы в виде ФВП.
Ритуалы — например, излишне строгая система типов заставляет переписывать код, который мог бы и работать. Больше всего с такой проблемой я успел столкнуться в PureScript — ошибка "Skolem type variable bound by temp has escaped" во всех тех случаях являлась серьезной с точки зрения системы эффектов, но не имела никакого значения для рантайма. Видеть такую ошибку в языке, ориентированном на корректность, вполне нормально, но для продуктивности этого лучше избегать.
Парадокс выбора — при возможности писать слишком умный и слишком разный код теряется время на размышления о лучшем подходе. Лучше, чтобы язык склонял к написанию как можно более тупого кода, оставляя кривые лазейки для умных решений.

>>71383
Котлин хорош, но для меня он ощущается как нечто слишком знакомое, а потому не восхищающее.
195 1171393
>>71391

>Котлин хорош, но для меня он ощущается как нечто слишком знакомое, а потому не восхищающее.


Если и ебашить язык, то поверх котлина.
Ты все равно не осилишь.
196 1171395
>>71375
2. Написание тестов;
Тестирование обычно является епархией библиотек, а не самого языка. Но я-то вижу в своих влажных мечтах идеальный инструментарий, а для идеальности дизайн самого языка должен учитывать потребность в тестировании.
Как упростить написание тестов? Например, можно ввести поддержку докстрингов с примерами вызова функции, как это сделано в эликсире. Полноценным тестированием это не является, но иметь пару гарантированно рабочих примеров будет полезно.
Дополнительно, нужны метаинструменты для создания моков и стабов.

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

>>71393

>Если и ебашить язык, то поверх котлина.


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

>Ты все равно не осилишь.


К чему такой негатив?
198 1171413
>>71405

>К чему такой негатив?


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

>Зачем мне брать за основу котлин?


Котлин как пример людей, которые ебашили его с 11-го года. А что можешь ты, один человек, предложить андройду? Нихуя. Влажные мечты и только.
199 1171416
>>71375
5. Дебаг;
6. Рефакторинг;

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

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

>>71413
Вопрос не в том, могу я или нет, стану я или нет. Вопрос был в другом: зачем нужен этот негатив?
200 1171423
Перекатился из закрепа
4.png5 Кб, 385x203
201 1171425
Господа, как мне запилить распознавание текста в формочках(пикрелейтед)?
Мне нужно по фотке распознавать что записано в каждом прямоугольнике( всё будет рисоваться от руки)
Порядок действий такой:
1.Я программно задаю формы-разметку. Определяю что там должно быть записано внутри.
2.Потом пользователь рисует такую-же разметку, вписывает свои данные.
3.Я сравниваю то, что должно быть, и что нарисовал пользователь.
202 1171427
>>71425
Причем здесь вообще андройд? Больной ублюдок.
203 1171429
>>71427
Потому, что буду пилить на Андроиде.
204 1171430
>>71425
android vision
205 1171431
>>71429
Хорошо. А теперь научись писать более понятно.
Первое, что тебе нужно сделать, это найти библиотеку распознавания говна.
206 1171476
>>71381
часа три просидел там, ничего подходящего не нашел. Сюда уже от безысходности решил написать.
207 1171484
>>71476
господи, как все просто то было. метод setCurrentItem view pager'a может принимать 2 параметра viewPager.setCurrentItem(position, false) где false как раз таки запрещает прокрутку.
208 1171505
>>71331
А каким скриптом вытаскивать блобы?
209 1171763
Все привет, кто-то занимался такой херней, как написанием кастомных ромов (под один конкретный девайс), чтоб при включении телефона было всего 1 какое-то приложение и при этом не было бы вообще системных
210 1172061
Ананасы, сколько в часах займет небольшой мвп проект с дерганьем информации из интернета и отображением этой информации в нескольких ресайклерах для воннаби джуна, который не работал с интернетом в андроиде алсо поясните за окХттп, ретрофит и воллей, что из них самое быстрое/простое относительно изучения и имплментинга?
211 1172127
>>72061
часов 30 максимум.

> окХттп, ретрофит и воллей, что из них самое быстрое/простое относительно изучения и имплментинга


связка okhttp+retrofit , применяй ее, про воллей смело забывай и забивай. Ретрофит быстр в работе и элементарен в использовании, ты за час по сути полностью освоишь работу с ним. Во всех конторах котируется именно он
212 1172158
>>72127
Спасибо за ответ, анон, пойду гуглить мануалы по ретрофиту. Хорошей тебе жизни.
213 1172226
Анонасы. Наверное платина, но подскажите, что нужно чтобы поднять: python backend (на PC) и посылать данные в android?

inb4: socket, django (пока такой размах не нужен), firebase (не охта связываться с гуглом).
214 1172455
>>72226
Хуй его знает. Берешь и поднимаешь. Я вот тоже думаю в бэк как-нибудь углубляться, но только в руби.
215 1172545
Ребят, есть клиент-серверка, если отсутствует инторнет, то вылезает много скрытых багов и не только. Хочу сделать проверки начиная с начала запуска приложения и во время работы. Нагуглить удалось только конкретную реализацию проверки на isOnline, но чтобы на все уровни программы относилось - нет. Кто что практикует в своих проектах?
216 1172564
>>72545
Cмотря что у тебя там.
Если что-то вроде вк, так ебни ис онлайн - фалсе, тащить ласт данные с бд.
Расписывай конкретней.
217 1172624
>>72545
На экспешн с отсутствием интернета выводи соответствующую ошибку на весь экран и всё. Посмотри 3 статью Ханнеса Дорфмана про MVI, он там как раз обрабатывает ошибки.
218 1173617
Помогите разобраться с okHttp3. Клиент сбилдил, реквест сбилдил, запрос отправил. Вроде бы все работает, но очень медленно. Отправил второй запрос - пришло быстро. В вики написано про коннекшнПул, создание и кеширование коннекшнов, но я не понимаю, как задать использование одного коннешкна, чтобы не тормозить реквест.
219 1173669
>>73617

> как задать использование одного коннешкна, чтобы не тормозить реквест.


Используется Persistent HTTP или нет решает сервер, а не клиент.
220 1173795
>>73669
Спасибо за разъяснение. В любом случае, какие параметры обычно используют для okHttp коннекшна? Это ведь одна из самых распространенных либ для интернета, но при этом другие приложения не тормозят при соединении с сервером.
221 1173936
>>71430

>Как же хочется тянучку


>android vision


...
222 1174371
Посоветуйте погодные апишки с нормальной документацией
224 1174459
>>74371
Зачем?
225 1174462
>>74459
Лабу делаю
226 1174487
>>74462
Можешь по чему угодно делать.
У меня курсовая по этой параше будет
https://www.themoviedb.org/documentation/api
sage 227 1174498
>>74487

> У меня курсовая по этой параше будет


А потом они на собеседовании своим дипломом хвастаться будут...
228 1174514
>>74487
Я поздно взял тему и там из нормальных только погодка осталась, опенвезереапи нагуглил, там доки ебнутые, еще даркскай есть, но там нету возможности город выбрать (надо через левый сервис переводить координаты в город и наоборот)

>>74498
Я миддл
229 1174545
>>74498

>А потом они на собеседовании своим дипломом хвастаться будут...


Это курсовая. Диплом у меня на следующий год. Кек.
230 1174745
Писал проги для яблока, и вообще в целом на обжектив с, с# и с++, внезапно они понадобились на андроиде. И у меня сразу куча вопросов:
Как я могу конвертировать кучу больших баз данных .plist в базы данных андроид студио? У андроида вообще есть что-то удобное, быстрое и визуальное?
Хули я должен постоянно импортировать используемые вещи и они не подключены по дефолту? Нет, ну серьезно, даже чтобы нажать на кнопку надо что-то импортировать. И мне кажется, или я в процессе кучу лишнего пишу, в си такой хуйни не было.
А вот сторибоард с констрантами охуенны, но я еще учусь - хули хедер и футер кажутся неизменяемыми какими-то, лайк навигейшн контроллеры из хкода. Почему они не едины как-то с центральной частью. Я туда даже кнопки кинуть не могу свои.
Вообще есть какие-нибудь хорошие видеогайды? Да, я шапку смотрел. Мне бы что-нибудь на русском без смс и регистрации. Чтобы прям шли и поясняли, зачем эту хуйню пишут и почему и какие полезные фичи есть.
231 1174797
Аноны, нужна консультация. Суть такова. Учусь в андроид методом погружения. Стоит следующая задача:

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

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

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

Какие подводные камни?
232 1174799
>>74797
Получать с бэкенда сразу всех 30 курьеров JSON-массивом.
233 1174994
>>74797

>Какие подводные камни?


Да никаких. Похуй на эту архитектуру, ты сначала так попробуй реализовать.
Сразу скажу, тебе нужно ебнуть сервисы. Если они передвигаются и отправляют свое расположение в бек - значит тебе тупо придется дергать этот бег через 3-4 минуты - это и будет у тебя в главном сервисе.
Потом ебнишь мап, захуяришь туда координаты и дело пошло.
234 1175121
Кто как учил рхДжаву? Я понял что такое observable и onSubscribe, понял несколько операторов. Но не понятны такие вещи как CompositeDisposable например, или еще отписки эти. Как и что. Столько много инфы дается что пиздец
235 1175261
>>74745

>сторибоард


Забудь это говно, господи как же я бомблю от сторибордов в хуйкоде (от ебанутого передвигания мышкой).
Каких нахуй базы данных ты держишь в плисте? Это ж тупо ключ-значение, никаких простых средств нет, можешь написать свой конвертер. Строки/стрингдикты относительно легко перевести, находится они должны будут res/values/*.xml. Аналог Info.plist это AndroidManifest.xml, там должны быть декларации компонент ведра (с картинками для приложухи), пермишены и можно держать ключики для сторонних апи. Удобное-визуальное? Ну разве что для локализации строк. Массивы строк/картинок в arrays.xml, вообще конечно зеркального отображения не будет, но оно и не нужно.

>Хули я должен постоянно импортировать используемые вещи


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

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


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

>Мне бы что-нибудь на русском без смс и регистрации


Разве что http://startandroid.ru/ru/ , но там скорее всего много старья и не на котлине вроде. Ты же не учил айось на русском, дно же.
236 1175263
>>75261
Ну хуй знает, мне удобно мышкой, прям двигаю и чувствую как нравится.
На скринах база в плисте, 25к строк и есть еще больше и много разных, их делаю не я, просто вставляю и программа работает. То есть их должны мочь сделать обычные пользователи, например. То есть ты видишь - у меня словарь, внутри которого словари, в которых еще словари в которых массивы со стрингами и т.д. Печально, что нет конвертера, какой-то гемор прям. Планирую в андроиде делать базы лайк 2 скрин. Конвертиую хмл в ТайпедАррей и стринг-аррей и по ключам и индексам иду дальше. Какой-то гемор, что нет просто массива, в котором могут нормально лежать массивы и прочие вещи по соседству. Вроде есть листы как в с# и еще что-то, я в процессе.
Я пока делаю в дефолтах, я понимаю, что я могу всё снести и чистую нужную вьюху туда заебашить, но пока не понимаю как с текущей дефолтной шапкой работать.
И да, я учил айось на русском. Конечно, все проблемы приходится гуглить только на английском, как и 99% прочих вещей. Мне нужны нормальные пояснения, где какие кнопки и что я вообще могу. Например вот база в хмле, какие варианты её сделать, сейчас у меня примерно такая же вложенная структура, какая была, но можно ли как-то по-другому и проще/сложнее. Как извлечь данные в какие-нибудь нормальные массивы из неё и т.д. Я такого пока не нашел, везде показаны, обычно, дефолты с простыми стрингами, а дальше типо сами разбирайтесь. вот могу арреи, могу арреи со стрингами, а что еще могу?
237 1175290
анонасы, не понимаю, как c гита выкачанный проект собрать
будьте добры, помогите разобраться
238 1175292
>>75263

> а что еще могу


Ты че ебанутый в нотепаде++ кодить?
Тогда открываешь документацию и смотришь что класс может.
Куда ты их вставляешь? Тебе контент менеджер присылает хуйню что ли?
239 1175309
Я в своей мотороле не обнаружил возможности посмотреть какие приложения прямо сейчас жрут оперативку, сколько жрет каждое из них, и выкинуть оттуда выбранные.
Сделать такое в качестве своего первого приложения- нормальная идея?
Снимок экрана2018-04-1715-52-11.png109 Кб, 1348x722
240 1175393
Да что это за уебанство, блять?
242 1175422
>>75393
А в чем проблема?
243 1175559
Есть ли челики, которые хотят ведройд покопать вместе? Попилить что-нибудь этакое.
244 1175594
>>75559
Я хочу, но не могу, я пока на уровне "бля, что тут вообще писать и куда, а еще эта ваша джава ебанутая"
245 1175596
Я пытаюсь вкатиться после рельсов, не понимаю как тут жить. Я могу как-то узнать что вернет выражение не запуская эмулятор? Вот например, хочу узнать что возвращает getSystemService(ACTIVITY_SERVICE), как мне получить результат?
246 1175599
>>75596

>Вот например, хочу узнать что возвращает getSystemService(ACTIVITY_SERVICE), как мне получить результат?


Какой результат?

>>75594
Если ты готов долбиться каждый день, то неплохо было бы делать это вместе
247 1175603
Наверняка тут много людей, которые хорошо знают ответ на данный вопрос.

Есть json ответ сервера с новостями. Воспользовался сервисом, который автоматически генерит сеттеры и геттеры . Он сгенерировал два класса, в одном классе геттеры и сеттеры для описания конкретного айтема, а второй класс имеет сеттеры и геттеры для списка. Как сделать правильно, объединить в один класс или оставить как есть?
248 1175605
>>75603

>о знают ответ на данный вопрос.


Ну у тебя может быть один класс, который содержит лист новостей бугуртов, а есть класс бугурты - которые содержат расписание, тему, уровень возгорания автора и т.д.
А лучше бы скрины приложить, ты читать сам классы не умеешь что ли?
249 1175618
>>75605
Они там по ебанутому названы. Класс с описанием Event, а у списка класс называется Example.
Безымянный.png1 Кб, 228x57
250 1175620
Почему он воспринимает mp4 за изображение?
251 1175641
>>75620
Это просто иконка.
252 1175659
на реддите выложили книжку по андройду, свежайшую, апрель 18 год.
ссылка: http://book.goalkicker.com/AndroidBook/
инфа: https://www.reddit.com/r/androiddev/comments/8csgaw/free_android_development_pdf_book/
253 1175792
>>75659
Спасибо, анон.
Снимок экрана 2018-04-18 в 10.33.06.png22 Кб, 383x111
254 1175885
Как динамически менять значение после знака "="? То есть как завязать сюда переменную category?
255 1175926
>>75885
@get("list.php")
Observable<> getSomeShit(@Query("category") String yourShityCategory)
256 1175927
>>75885
Документацию читай, мразь.
257 1175928
Здесь еще яндекс приглашает в свою школу. До 6 мая заявки.
https://academy.yandex.ru/events/mobdev/msk-2018/
258 1175991
>>75928
Запилить что-ли эту хуйню чисто для себя.
image.png72 Кб, 883x379
259 1176214
Чет кекнул сегодня на работе.
Правда, никто так и не понял почему.
260 1176221
>>75991
Кстати на гите море репозиториев валяется ну они и дауны, даже посмотрел парочку. Пиздец они идиоты. Думаю спизжу идеи с них и попробую свое сделать. Только я с АПИ пока диска не разобрался, но думаю разберусь.
sage 261 1176226
>>76221

> Кстати на гите море репозиториев валяется


На чем, на чем?
262 1176240
>>76226
гитхаб. хули тебе не понятно, очкарик.
ща на улицу выйдем сразу пару уроков схватишь на лету.

чтобы больше здесь не выпендривался.
263 1176245
Я веб-макака, пишу на рельсах. Если по пару часов в день ковырять андроид студио и пилить свои говноприложения, реально ли за год-полтора достичь уровня при котором можно попытаться устроиться андроид разработчиком, причем не джуном, а миддлом?
264 1176248
>>76245

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


Нужно побольше ковырять, хотя, если ты схватываешь на лету а не как я даун то вполне за полтора года можно попытаться ебнуть мидла.
Да и что тут говорить, я за 5 месяцев с нуля устроился на стажера.
Правда я завтра ласт день работаю
Screenshot from 2018-04-18 20-53-45.png337 Кб, 1920x1080
265 1176250
Объясните вкатывальщику, почему в этом говнокоде переменная item имеет тип View, а не ViewGroup? Ведь в той хуйне, которую я в нее пихаю не просто View в виде одного элемента, а Button и TextView обернутые в LinearLayoit
image.png81 Кб, 1168x427
266 1176253
>>76250
Ты вообще в доки можешь?
А еще убунту параша, советую что-нибудь другое поставить.
И вообще такой код первый раз вижу. Зачем тебе 10 раз создавать текст вью?
267 1176257
>>76250
Продолжаю.
Если тебе нужно создавать программно текст вью, то тебе нужно просто сделать пустой LinearLayout, например, и говорить, мол цикл фо - заебень мне 10 текст вью и создаешь их программно, можешь почитать как это делать, а после этого говоришь линеар адд текст вью.
268 1176260
>>76257
Там я понимаю, что должен передать view, но почему вместо view прокатывает то, что по сути является ViewGroup?
10 штук их там просто в тестовых целях
Мне хочется иметь что-то типа плитки состоящей из текста и кнопки. Сколько таких плиток, и какой текст на каждой из них я заранее не знаю, это будет делаться в цикле.
269 1176261
>>76260
*так я
270 1176267
>>76260

> что по сути является ViewGroup?


Что вьюГруп? Линер - вьюГруп а последний в свою очередь наследуется от вью. ТекстВью - просто Вью. Смотри пик и читай про LayoutInflater.

>Мне хочется иметь что-то типа плитки состоящей из текста и кнопки.


Если тебе это нужно - просто СОЗДАЕШЬ ОДИН линеар леяут. Получаешь его в программном коде а дальше СОЗДАЕШЬ ПРОГРАММНО CardView чтобы была плиточка а можешь и не создавать и внутри него TextView.
И никакой инфлатер вроде не нужен для этого. Примеры найдешь в гугле.
271 1176268
>>76267
Я реально запутался. Вроде как есть 100500 способов это сделать и 99% из них неправильные. Я так понимаю, что для моей задачи вообще никакие xml не нужны, так?
272 1176271
>>76267
Погуглил CardView.
Спасибо.
273 1176272
>>76268

>что для моей задачи вообще никакие xml не нужны, так?


Линер леяут только хмловский.
Остальное программно ебашишь.
274 1176273
>>76272

>Линер леяут только хмловский.


Потому что туда ты будешь пихать свои 10 хуюшек
275 1176274
>>76267
Блядь, мне кажется, что я все это пойму к тому времени когда буду совсем седым, и мне уже будет похую на то, сколько я зарабатываю.
276 1176276
>>76273
Я могу представить, что хуйня в хмл- это вроде как... класс... экземпляры которого я как бы могу создавать, настраивать их, добавлять что-то внутрь и в тоге все это отображать?
277 1176277
>>76274
на самом деле пиздец дальше. И даунам, таким как ты и таким как я нужно просто больше времени затратить. кек.
278 1176280
>>76277
Изначально я знаешь что пытался сделать? Захуярить для плитки свой класс наследующий от ВьюГрупп, в котором два поля: кнопка и тествью, потом в цикле в каждой итерации создавать экземпляр класса ну и ... дальеше как-то попробовать его отобразить. Вроде как это возможно, но не для таких как я.
279 1176281
>>76276

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


Нуу, тип "да"
280 1176282
>>76281
в кавычках потому что "такое понимание хуевое, но хотя бы лучше, чем вообще никакое"?
281 1176283
>>76282
Ну тип верно, только я не читал про то, как андройд реализует превращение из программного текстВью в отображение хмл. Может быть он инфлатер самостоятельно юзает, или нет, я хз. Я просто так добавлял.
282 1176285
>>76283
Я с этими лайаутами и вью путаюсь жестко и не понимаю что конкретно и в какой момент будет реально отрисовано на экране.
283 1176286
>>76285
да-да, чукча, не читатель, чукча- писатель
image.png101 Кб, 719x520
284 1176295
>>76285
Во-первых, я тебе последний раз поясняю.
Во-вторых - ЧИТАЙ ВДУМЧИВО и если не понятно, ЧИТАЙ ЕЩЕ РАЗ И ИЩИ.
У тебя есть хмл, базовый отец - релатив - СМОТРИ пик, в нем ты создаешь ЛИНЕР ЛЕЯУТ и все.
Потом ищешь по ид линер леяут _ОН УЖЕ ОТРИСОВАн.
и хуяришь туда текстВЬЮ.
и они там отрисовываются.
ВСЕ.
285 1176304
>>76295
Да понял я, что ты предлагаешь. Меня печалит, что я не понимаю, что там будет происходить. Для меня это просто "напиши вот так, и все заработает"
286 1176306
>>76250
ViewGroup наследуется от View, а потому и является просто View только с массивом View, даун.
287 1176308
>>76306
Тяжело писать приложение впервые видя андроид студио и имея ну очень поверхностное представление о java
288 1176316
>>76304
xml в андроеде просто удобный декларативный способ верстки. Тебе не надо вручную писать код инициализации вьюх, их размеров и тд.
Ты их просто объявляешь в xml.
Андроид в свою очередь с помощью LayoutInflater парсит xml и генерирует из него ровно такой же код, который бы ты сам писал.
Так вот.
Запомни пидор.
Все *Layout это ViewGroup extends View.
ViewGroup, не считая экзотических случаев, когда ты в свой CustomView хочешь влепить свой View или ViewGroup.
289 1176319
>>76308

>Тяжело писать приложение впервые видя андроид студио и имея ну очень поверхностное представление о java


Для таких как ты МИР придумал юдасити, кстати.
После месяца дрочева ты как новенький сюда придешь и будешь ставить таких пидарасов на место.
290 1176325
Посоны, я клянусь, что если вдруг стану(а я не стану, мне уже 29) погромистом получающим 300к в секунду, катающимся на Тесле и ебущим мулаток, то я буду посвящать значительную часть свободного времени помогая нубам
291 1176333
>>76325

>то я буду посвящать значительную часть свободного времени помогая нубам


А я уже помогаю. Хули выебываешься. И тут нет пацанов. Только ты да я и пару шакалов.
292 1176336
>>76333
Как может выебываться человек, который пытается написать простейший диспетчер процессов вращающихся в оперативке, но у него опускаются руки, и ему кажется, что разобраться во всей этой хуйне- не для средних умов?
293 1176337
>>76336
ну нахуй, пойду нажрусь, все тлен
294 1176338
>>76336

> простейший диспетчер процессов вращающихся в оперативке,


Сам такое выбрал.
295 1176340
>>76338
Это разве сложно?
296 1176341
>>76338
бро, если я такое напишу, и выложу в маркет рублей за 60, то хотя бы на пиво заработаю за счет долбоебов купивших случайно, или вообще бесперспективно?
297 1176347
>>76340
Возможно. Или нет.

>>76341
Тебе тогда надо в хуИОС. Мне как-то один челик сказал, если ты принялся делать мобилки под андройд - будь готов потратить дохуя времени, а потом делать приложения бесплатно. А если не хочешь - иди в гейось.
298 1176350
>>76347
Тогда другой вопрос. Более-менее успешное приложение в котором есть откровенный говнокод- это редкость?
299 1176352
>>76350

>Более-менее успешное приложение в котором есть откровенный говнокод-


Это нужно обращаться к тем, кто сидит за ведройдом +2 года.
А я еще зеленый.
Хотя исходники телеграмма тому пример. Кек.
300 1176368
>>76350

> Более-менее успешное приложение в котором есть откровенный говнокод- это редкость


Это реальность. Успех и говнокод никак не зависят друг от друга.
301 1176403
>>76316
Бесценно
302 1176404
>>76403
Что бесценно?
303 1176407
>>76404
Инфа. Она хоть немного прояснила для меня все то, что происходит в этом ебаном андроиде
304 1176409
>>76407
Ебаные тут только ты и твоя мамка, тупица обоссаная.
305 1176410
>>76409
Нас ебут, а мы крепчаем. Глядишь, через пару лет хоть на кредитный Фокус и ипотечную двушку в коммиблоке будет хватать.
306 1176784
не, мне не хватает силы воли для андроида: У нас есть удобный виджет для больших списков. Вам всего лишь надо заполнить два xml файла. Создать экземпляры трех классов, в двух их которых переопределить методы, а в одном сделать еще один класс внутри и тоже с переопределенными методами.
Раньше у нас АПИ был доступ к всем процессам вращающимся в памяти. Но мы решили, что это не нужно. Вместо этого теперь можно посмотреть запускался ли какой-то процесс год назад. Ну, как можно... вроде как есть такая возможность, но как она работает- разбирайтесь сами.
307 1176806
>>76248
Сам съябываешь или работодатель выгоняет? Сколько платили?
308 1176808
>>76806
Никто мне за это не платил, я андроид студио установил 2 дня назад.
309 1176810
>>76806
Cам. Я стажером был, поэтому получал маленько 10к
310 1176811
>>76810
Ты сам себе отвечаешь?
image.png7 Кб, 176x123
311 1176812
>>76811
Я похож на дурачка что ли?
312 1176813
>>76812
Да. Наверное на тебя так повлиял андроид.
313 1176839
>>76813
Вот оно что. Ну уже поздно.
А мне говорили не вкатываться в андройд
314 1176882
Бро, вот скажи мне, для человека впервые увидевшего андроид студио позавчера, и имеющего поверхностные познания о java, задача за 10-15 дней написать простенький диспетчер процессов болтающихся в оперативке- это норм, или сложно?
315 1176894
>>76882
Имею пять классов церковно-приходской школы, умею доить коров. Хочу стать конструктором авиадвигателей, с чего начать?
316 1176897
>>76894
Это предельно толстый намек на то, что я вряд ли решу эта задачу?
317 1176899
>>76897
Задачу ты может и решишь, но через жопу, и так, что самому себе всё желание дальше этим заниматься отобьешь.

Начни с малого, в шапке есть гайды, потом уже своё что-то пилить сможешь.
318 1176920
>>76899
Вот у меня желание и пропадает уже. Не знаю за что хватать и не могу получить хотя бы примерной картины того, что с чем и как взаимодействует. Какой срок ставить себе для реализации задачи? Так чтобы было в меру сложно.
319 1176922
>>76920
Ты уже достал своим диспетчером процессов. Если ты мне скажешь как это работает, то я оценю срок выполнения задания.
мимо
320 1176923
>>76922
ну раз достал, то ухожу
321 1176930
Здесь еще должен быть Алексей с вебмками. Тут есть Алексей?
322 1176945
>>76923
Пирожок дружок, ты здесь ноешь и пытаешься писать в стиле чукчи. Тебе дали совет - делай. Не поймешь - залетишь сюда, глянь, а кто-нибудь да поможет.
Все, а теперь иди пили проектик.
323 1177004
>>76930
С Алексеем мы дружим с детства. У него сейчас нет зубов спереди. Он вообще сейчас как какая-то шавка по базарам, по рынкам лает как мелкая собачка. Может побежать, откусить.
Мы с ним ходили по барам, рестораном и искали Алексея. На самом деле, ни он, ни я не Алексей, но мы так друг друга называли. У него очень тяжелая жизнь сложилась.
324 1177044
Тыкаю Firebase, сделал аутентификацию через гугл. Как правильно хранить инфу о юзере в приложении? До этого был опыт работы с айос приложением, там мы создавали класс-контекст, в котором хранили переменную-юзера, и из него в нужных активити их доставали.
Касательно андроида нагуглил только хранение в SharedPreferences инфы.
Как это обычно делается?
325 1177209
>>77044
AccountManager
326 1177359
>>77209
Ты бы ему еще посоветовал ContentProvider тупо для доступа к своей бд использовать.
327 1177416
>>77359
А что не так с AM? Это вполне себе валидный и корректный способ хранения кренделей с заделом на будущее.
328 1177423
>>77416
Есть только одна причина использовать избыточный и громоздкий AM в 2018 году - если ты у мамы микрософт, гугл или яндекс и тебе нужен SSO в своих приложениях.
329 1177491
>>77423
Ну и где ты credentials хранить будешь? В Shared Preferences или в бд? Серьёзно?
330 1177602
>>77491
Большая часть приложений осиливают хранить там и ничего, вполне себе нормально живут.
331 1177607
>>77423
Ok.
мимо из яндекса
332 1177931
Никогда почему не мог заканчивать пет проекты. Сейчас, вместо того, чтобы делать 3 пет проекта, я сижу руби копаю, нахуй мне это надо. По рукам себя бью - не помогает.
Завтра нужно все-таки начать доделывать.
333 1177935
>>77931

> я сижу руби копаю


И правда, нахуй тебе этот мертвый язык?
334 1177939
>>77935
Да хуй пойми.
Иногда андройд настолько надоедает потому что только в нем и сижу что хочется побродить по нетику, посоздавать что-нибудь этакое. В итоге все скатывается к хуям и я возвращаюсь к андройду спустя 2-3 дня с базовыми знаниями какого-нибудь языка который мне в жизни никогда не пригодиться.
335 1178035
Сап. Есть тулбар, в котором есть оверфлоу-меню. И это оверфлоу-меню зачем-то перенимает цвета из стиля тулбара. Как сделать так, чтобы оно сохраняло дефлотный стиль?
336 1178132
>>78035
Погугли. Там это как-то лечится.
337 1178154
Есть ресайклер с гридом из леяута с картинкой (пик 1). Как сделать так, чтобы по нажатию весь айтем и ImageView увеличивались в размерах и "выезжали" на передний план, затемняя все остальное (пик 2)? Каким лучше объектом сделать большой айтем - фрагментом, диалогФрагментом, карточкой или мб еще чем? И анимация - дефолтный транзишен или тут нужно что-то покруче?
если это имеет какое-то значение, картинки загружаю глайдом
338 1178166
>>78154
Выглядит как каноничный shared element transition в фрагмент.
339 1178373
Не тони, мой любимый андройд
340 1178391
игьз
341 1178395
Как улучшать свои проф скиллы?
Может есть какие-нибудь модные ресурсы которые стоит почитывать, или надо подучить что-то не на прямую связаное с мобайлом (алгоритмы, криптография)?
В общем как поставить приоритеты молодому андроид деву?
342 1178396
>>70748
люто дякую за пикчу
343 1178451
>>78395
Смотря на каком ты уровне
344 1178467
>>78451
Джун
345 1178469
>>78451
Как определить свой павер левел?
346 1178534
>>78469
Если спрашиваешь, то ты <= джун.
347 1178602
>>61404 (OP)

>- Kotlin — ... С 17 мая поддерживается официально.



поправьте шапку в след раз, не с 17 мая, с мая 17-го года
348 1178607
>>71405

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



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

Так вот, по идее эта проблема должна решаться как-то проще, чем ручное копирование и запуск .apk?
350 1178710
>>78672
Лол, установи adb-tools и подцепи девайс, включив на нем предварительно отладку по усб.
351 1178736
>>78672
Гугли на стак оферфолоу по английски. Я в свой время заябывался в биусе чёт включать, потом доустанавливать гавнище какоето и только потом эмулятор стал запускаться... правда я дебил на убунте всё делал... для запуска на андроидж устройстве тоже пришлось позаябываться
352 1178739
>>78395
Запили десяток разнотипных приложух на гугл плей, подключи аналитику и прочие гугловское гавно, прикрути айпишки разных твитеров хуитеров инстаграмов пуши хуюши.
Если людишь извращения добавь часть либ пиши на с++ и ассемблере>>78395
353 1178793
Почему если я пишу
((GridLayoutManager) mPhotoRecyclerView.getLayoutManager()).setSpanCount(colCount);
в онглобаллайотлистенер все работает, если
GridLayoutManager layoutManager = (GridLayoutManager) mPhotoRecyclerView.getLayoutManager();
layoutManager.setSpanCount(colCount);
то поворот девайса полностью отваливается?
354 1178956
>>78793
А может ты побольше бы вставил сюда своего сраного кода, чтобы мне глаза удобней вырывать было?
Блять.
355 1178961
>>78534
Тогда я не буду спрашивать и буду сеньором-помидором.
356 1178983
>>78961
Это ещё раз красноречиво показывает твой уровень. Тебе говорят, что действует правило A => B. А ты пытаешься использовать правило Not A => Not B, которое не следует из заданного.
А ведь этому на первом семестре в любом заборостроительном техникуме учат.
357 1178996
>>78983
Вася, я же говорил тебе пойти нахуй. Почему ты все еще здесь?
358 1179020
>>78996
Ты меня со своим ебырем путаешь, это ему ты уже говорил.
360 1179261
>>79207
Бля, наконец-то. Хотя я и так пет проекты пишу на 21+.
image.png1 Кб, 114x26
361 1179290
Как поменять бэкграунд цвет подсказок такого типа?
362 1179336
Как мне не нравится этот биндинг андройда. Просто пиздец. Отвратительная либа, хотя я был не проч на МВВМ сидеть.

>>79290
А зачем тебе это? Так же лучше. Скачать material theme?
363 1179365
>>79336

> Как мне не нравится этот биндинг андройда. Просто пиздец. Отвратительная либа, хотя я был не проч на МВВМ сидеть.


Так сиди, кто тебе мешает. Data binding вообще с архитектурой никак не связан.
364 1179537
>>79207
-10% юзеров как будешь своим продактам и продажникам объяснять, ммм? Напомню, что от среднеуспешного продукта в 100к инсталлов, это 10к юзеров.
365 1179639
>>79537
Срал на них
366 1179811
>>79537
Устройства — не пользователи. Пользователи — не твои клиенты. Клиенты — не то подмножество клиентов, которое обеспечивает ценность.
367 1181780
Есть ли андроидные IDE, более легковесные, чем AS, при этом рабочие?
368 1181792
>>81780
Можешь себе эклипс напердолить попробовать, поддержка градла там есть, хотя хуй знает что из этого выйдет.
369 1181821
>>81780
Можешь поставить линукс.
370 1182261
Есть ресайклер с imageview, ширина и высота которой определяются динамически (в конструкторе ресайклера, и потом передаю их в .override() глайда). По клику на imageview открывается фрагмент с картинкой в shared element transition (сам ресайклер отправляется в бекстек). Когда я попаю бекстек и на экране обратно появляется ресайклер, у картинки сначала размер 0х0, и только потом глайд загружает картинку - получается, что картинка сначала уменьшается до 0х0, а потом расширяется. Можно ли это как-нибудь сделать так, чтобы размер вычислялся до самой анимации?
Я нашел в гугле postponeTransition, но для фрагментов это работает только с api 26, а у меня 25.
371 1182418
>>82261

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


Может быть из-за того, что ты выполняешь методы активити\фрагмента в который ты возвращаешься и там опять все по новой загружается? блять
372 1182422
>>82261

> в конструкторе ресайклера, и потом передаю их в .override() глайда


А layout params у imageview менять на нужные тебе не забываешь?
373 1182435
Как правильно проигрывать звук?

Делаю примерно так для оповещения о входящем сообщении:
MediaPlayer.create(getBaseContext(), R.raw.sound_in).start();
Но если таким образом запускать звук слишком часто, то он перестает проигрываться вообще до перезапуска приложения.
374 1182436
>>82435

> MediaPlayer


Ты его каждый раз создаешь небось?
375 1182443
>>82436
Да, нагуглил уже решение с release() предварительным, вроде теперь нормально, но спасибо за ответ.
376 1182445
>>82443

> предварительным


Я хуй знает что ты там придумал, но лучше переиспользуй, а не каждый раз создавай.
А еще точно есть какой то способ проще, который использует NotificationManager, глянь в исходниках show.
377 1182454
>>82435
А зачем тебе вообще MediaPlayer. Может лучше воспользоваться SoundPool'ом или AudioTrack'ом?
378 1182464
>>82454

> SoundPool'ом или AudioTrack'ом


Во, я про них как раз >>82445
funny-pictures-bendingtime-auto-488123.jpeg146 Кб, 911x1320
379 1182532
Пацаны, поясните за даггеp. Как этой поеботой вообще пользоватся?

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

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

Помогите, может можно как-то по человечески это всё сделать? Гайдов в интернете 1.5, и во всех советую внутри класса вызывать inject(this), IoC то не соблюдается получается. Короче пиздец, я запутался, помогите
380 1182545
Почему еще никто не смог спиздить уроки со startandroid платные? По сайту, а не по этому ебанному мужику с ютуб
381 1182550
>>82532
Неправильные ты гайды читаешь дяд федор, просто ведроидовские компоненты убогие и мы не можем участвовать в их создании, потом и вынужденны вызывать 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/
382 1182622
Есть ли двачевская конфа по андройду?
383 1182627
>>82622
Вам зачем именно "двачевская"? Чтобы тупыми вопросами заебывать, которые стыдно спрашивать в обычной?
384 1182641
>>82627
Иногда пердолинг заебывает, а ответов нет. А в телеге игнорят. Хуй поймешь.
385 1182644
>>82627
Да, все верно - найти тупых объебков, которые будут бесплатно отвечать на идиотские вопросы войтивайти, которые игнорятся в нормальных каналах.
386 1182710
Ребят, есть кто тестит свои приложухи на Xiaomi Redmi 4x?
Может такая проблема была у вас или у других телефонов Xiaomi, но фишка в том, что при изменении Java-кода, Андроид Студия выкидывает мне сообщение о том, что INSTALL FAILED USER RESTRICTED, предлагая удалить, а потом заново поставить приложение. Это работает, да, как впрочем если нажать Отмена и снова запустить проект на телефоне.

Но как избавиться от этого окна?
387 1182717
>>82710
Вообще, это обычно возникает, когда ты написал приложение на одном кудахтере, а вечером пришел домой, включил своего обоссанца, попутно скачивая ласт изменения с гита, и пытаешься опять запустить приложение. Вот тогда и возникает. Ну и в других ситуациях примерно похожих на эту.

Но как у тебя - это пиздец конечно.
388 1182735
>>82710
Нормально все теститься без проблем. Дело не в Ксяоми.
389 1182771
>>82418
Активита то же самое, просто ресайклер уходит в бекстек.

>>82422
ТОННЫ НЕФТИ, АНТОШ, ЗАРАБОТАЛО
Дело в том, что я менял парамсы у леяута, в котором лежит imageview, а самой картинке задать не додумался...
Спасибо еще раз, и извини за тупой вопрос.
390 1182822
>>82710
Instant Run?
391 1182981
Эх, нахер я вообще начал вкатываться в андройд. Долбанное МВВМ и БД, столько говна нужно читать и делать. Особенно читать. Да еще и вчитываться. Просто пиздец. Ебанная пагинация, нулевые примеры, тонны копипаста. Непонятные перевороты экранов, какой-то главный сингетон, непонятная рхДжава. Да еще и примеры на ебучем котлине. За что блять это все? Просто продвигаюсь на минимальных скоростяхычах. А перекатываться-то и не хочется, уже 8-ой месяц пошел блять. Просто не могу из-за этого руки отпустить.
392 1182985
>>82981

> МВВМ


Никто его не использует.
393 1182986
>>82985

>Никто его не использует.


Ну будешь мне еще блять говорить мне об этом. Когда я работал стажером по андройду я как раз ебашил МВВМ. Самое главное, никто мне нихуя не объяснял что да как делать. Просто хуярил на ощуп, а потом на митинге говорили "Ну пацан, пиздец у тебя говнокод конешно." Я блять готов был прям там разъебать ему морду, пидору конченному.
394 1183014
>>82981

> столько говна нужно читать и делать. Особенно читать.


Добро пожаловать в программирование, тебе нужно будет делать постоянно. Не нравится - есть куча других профессий.
395 1183021
До этого не смотрел гугл ИО, но по идеи, там же будет онлайн трансляция на ютубчике?
396 1183038
>>83021
Будет. Но у гугла довольно скучные выступления, проще потом запись посмотреть по интересной теме, а не жрать говно про фаирбейз в лайве.
>>82986

> Когда я работал стажером по андройду я как раз ебашил МВВМ


Пиздец вы ебанашки, он конечно приятен, но только в WPF, а не на ведре.
397 1183060
>>83038

>он конечно приятен, но только в WPF, а не на ведре.


А я недавно вот начал MVVM копать, вроде достаточно примерчиков, чего плохого-то.
мимо
398 1183692
Одна служба для всего или несколько специализированных? Что лучше?
Допустим, есть служба 1, которая отслеживает события в clipboard, создает кнопку оверлеем, нажатие на которую делает запись в базу данных (активити не участвует).
Стоит ли логику для записи в бд пихать в эту же службу, если из активити тоже можно делать запись в бд? Или лучше сделать отдельную службу?
Мне кажется, лучше отдельную, все же служба-1 имеет функционал, который никак с этой активити за пределами базы данных не пересекается.
Где я обосрался?
399 1183693
>>83692
Несколько специализированных - это:
- Меньшая связанность кода, меньше риска что потом все навернется если захочется что-то переделать
- Хорошая расширяемость
- Большая тестируемость

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

Так?
400 1183815
Расскажите, какой сейчас стек используется в продакшене? Режут ли рхДжаву, обходясь простым ретрофитом? Какие стабильные либы юзают?
401 1183821
Насколько хуево так делать (https://pastebin.com/SfFnZ7Xd)? Суть в том, что я запускаю TaskActivity с помощью startActivityForResult в MainActivity, и хочу в зависимости от результата, чтобы либо выводился Snackbar в MainActivity, либо не выводился, но поскольку добавление в БД происходит асинхронно, то результат не успевал придти до закрытия активити, поэтому мне пришло в голову после добавления в БД вызывать exit(), чтобы только после этого активити закрывалось. Можно-ли как-то сделать лучше и как, если можно?
402 1183822
>>83821

> (https://pastebin.com/SfFnZ7Xd)?


Проебался с разметкой. Вот ссылка: https://pastebin.com/SfFnZ7Xd
403 1183826
>>83822
Ну если тебе нужно переопределить поведение кнопки назад, то хули нет то?
>>83815

> Режут ли рхДжаву, обходясь простым ретрофитом


Че?
404 1183954
>>83826

>Че?


Хули че-то блять. Рх же тупо нужна для того, чтобы простенько взять запросы с сервака. Ну или для выебонов аля возвращая обсервабле и работая дальше с ним. Но это же больше для продвинутых.
Хули на вопросы не отвечаешь-то.
1324406957731.jpg55 Кб, 499x729
405 1184031
>>83815
У нормальных пацанов уже давно динамическое апи и тонкий клиент, а он тут со своими ретрофитами.
406 1184076
Тут есть те, которые продвигают собственные приложения?
Хотелось бы пару вопросов: Сколько стоит продвинуть приложение, хотя бы для первоначального выхлопа? И какой вообще выхлоп? Много ли денег надо на развитие, для того что бы вкатиться? Понимаю что вопрос зависит от того, что вообще за приложение, но больше интересует, сколько примерно. Возьмём даже простенькую игрулю, сколько нужно на её развитие? Гугел выдаёт разные недоблоги всемогущих, и пишут начиная от "без вложений" заканчивая лимонами. Или мне уебывать с этими вопросами в biz?
407 1184098
>>84031
Чего ебать? Нахуй превращать приложение в веббраузер?
408 1184110
>>84098
Кого ебать? ты вообще суть вопроса понял?
409 1184166
>>84110
Ты написал про тонкий клиент и динамическое апи, что это как не еще один браузер?
410 1184176
>>84166
Братишка, ответы перепутал
411 1184335
>>84166
WebView умеет запускать Intent'ы, отображать бесконечные списки(в том числе пейджинг), нормально работать с sql, нормально кэшировать навигацию и стейт, и еще хуеву тучу других вещей, которые сейчас не вспомнишь? А самое главное, может оно блять работать быстро?
412 1184410
Есть два хранилища: одно на сервере - другое локальное. В локальном часто данных сервера с дополнительными характеристиками. Как их лучше синхронизировать:
1) Держать сервис, который слушает в отдельном потоке изменения сервера, и пилит их в базу.
2) Перед каждым запросом к локалке делать запрос нужных данных к серверу и синхронизировать (всё это в репозитории)
В певом варианте смущает, что дополнительный сервис пришпиливается, хотя код чисто джавовский.
413 1184411
>>84410

>джавовский.


Имею ввиду, что без android-зависимостей. Написан он конечно на котлине, под сладкие стоны полиночки...
Снимок экрана - 05.05.2018 - 11:07:28.png69 Кб, 772x445
414 1184452
Сап. На нескольких устройствах заказчика во время работы приложения выскакивает вот такая фигня. Алерт появляется на секунду и исчезает, приложение не крашится и продолжает работать. На своих устройствах и ни в одном эмуляторе отловить не удалось. Либы, которые умеют слать репорты при крашах тоже не отлавливают ошибку, доступа к крешаналитике и консоли gp по тех. причинам нет, но баг пофиксить нужно.

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

Содержимое build.gradle на всякий случай, может кто глянет и что подскажет - https://pastebin.com/vX91kas9
415 1184460
>>84452
Содержимое манифеста покажи
416 1184461
>>84452
На всякий случай, плагин гуглсервисов апплаится в конце файла
418 1184463
>>84461
Ок, учту
419 1184464
>>84452

> 'com.yandex.android:mobmetricalib:2.40'


100% вот эта пидорасня падает в отдельном процессе, поэтому и не закрывается приложение. У меня такое же было. Яндекс возомнили себя гуглом и решили обмазываться несвежим IPC между всеми приложениями с установленной метрикой, а не делать как нормальные люди из других сервисов аналитики.
420 1184504
Ребят, кто писал приложухи на React Native? Как ощущения по сравнению с классической Java в Андроид Студии?
421 1184570
>>84464
ммм, да, как вариант. Это лучше смотреть в смерженном манифесте.
image.png20 Кб, 692x227
422 1184586
Зачем прописывают synchronized в таких случаях? Когда читаю код, часто проскальзывает это у некоторых людей. Сам оператор же позволяет синхронизировать потоки. Значит сам класс синхронизируется с бинарным классом? Что за бред?
423 1184592
>>84586
Какой оператор, а вообще почитай про double-check locking.
424 1184596
>>84592
Спасибо.
425 1184660
вопрос по retrofit 2
как делать запрос get для api постоянно? Или в time.
426 1184668
>>84660
Создать сервис?
427 1184680
>>84668
вот да. Этот парсинг апи нужно запускать как сервис, чтобы работало постоянно?
sage 428 1184693
>>84660
retrofitService.getSomeShit()
.repeatWhen(observable -> observable
.delay(DELAY, TimeUnit.SECONDS, true))
.subscribe();
429 1184709
>>84464
Да, оно! Спасибо, анон, кучу времени на это потратил
Screenshot2018-05-06-00-40-54-129pack.GestureApp.png47 Кб, 1080x1920
430 1184728
Подскажите по работе жестов, через гестуре билдер я могу создавать собственные жесты, но мне интересно как можно реализовать, чтоб они работали только в определенной области экрана? Например только в правом верхнем углу, или по середине экрана, беглое ознакомление дало понять жест воспринимается в любой области экрана.
431 1184767
>>84693
огромное анонское. Тогда не затруднит ли сказать, как все это гуглить? потерялся на том, что не могу загуглить с примерами реализации retrofit+rxJava.
Inb4: retrofit call api time continue infinite call request.. - все это перепрогуглил но получил нул. Подскажи, как нагуглить?
432 1184769
>>84767
всё нашел сам.
433 1184770
>>84769
по запросу retrofitService repeatWhen
434 1184947
Видел, что некоторые парни в разных xml пишут, один и тот же айдишник, например, recyclerView в одном и recyclerView в другом. Это нормально так делать?
sage 435 1184961
>>84947
нормально
436 1185228
Интересно, и что же я ебать делал целый день? Качал хуеву тучу примеров, половина из которых требовала апи кей, а другую половину откладывал в полочку, чтобы изучать как люди пишут. В итоге сам что мало написал, но вырастил чуточку понимания во всем этом говне один нейрончик в мозгу, за 9 часов ебанины. Блять, просто минус время. Ебанная разработка.
437 1185246
>>85228
учись: больше сорока часов разбора прилажух с retrofit. Сложилось мнение, что на всей планете мне одному понадобилось постоянный call апи. Ни одного примера не нашел. А все что скачал - повторяют дефолтные туты. Решил немного подразобраться мини прилажуха нужна самому и никогда их не писал.
Прошла неделя. Теперь уже знаю, что package нужно задавать правильный сразу. Что интенты вызывают активити, а активити обладают циклом жизни. Что нельзя хардкодить. Что инфу нужно зачем-то из ресурсов проводить через какой-то буфер адаптер вью, чтобы из него вывести в UI. Что бы работать с api нужно прочитать и понять книгу в 356 страниц по retrofit. А что бы было удобно работать в ретрофит, нужно прочитать книжку и понять книжку по реактивному программированию RxJava. А чтобы делать запросы, нужно еще изучить OkHttp, который как бы и является частью retrofit, но чтобы его понять, нужно, наверное, охуеть. ПОтому что все материалы, которые я поглядел слизаны с одного примера: получить данные с апи по нажатии кнопки или при загрузке прилажения.
Притом, что несклько дельных советов я смог узнать только в рунете. Не в англосреде. И это микромаленькие советы.
Теперь язнаю, что чтобы мне сделать свою мини прилажуху, которая должна всего-то постоянно отображать данные полученные ей с апи 5 раз в минуту и если что - пискнуть. Так вот, чтобы сделать эту миниатюру мне нужно изучить более полутора тысяч страниц. Первые три дня я думал, что просто плохо соображаю. Теперь же, я чувствую себя обезьяной со штанегенциркулем. А ведь 7 лет бэкенда позади. Вот такой андроид.
sage 438 1185262
>>85246

>Первые три дня я думал, что просто плохо соображаю.


Собственно это так и есть.
439 1185265
>>85246
Да хули здесь учиться. Нихуя ничего не происходит. Меня блять трясет уже. Зимой я не мог реализовать пагинацию через вытаскивание из Реилма. Я блять неделю на это говно потратил, нахуярил вопрос на этом стековерфлоу - в итоге я так и не осилил это. Забросил.
В марте я не смог прокинуть броадскастИнтент через сервис, чтобы взять данные в одной из нужных активити - я блять неделю опять на это говно потратил, в итоге я опять нахуй забил на это дело.

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

Блять, даже во фронтенд легче вкатиться, чем в эту ебанную архитектуру андройда.
440 1185351
>>85265

>Сейчас мой второй день ебанины с нормальной архитектурой андройда


Где ты изучаешь архитектуру? Неужели это так сложно?

Алсо, реквестирую где можно доступно получить базу по построению приложения по MVP, ну, или по MVVM.
441 1185366
>>85265
перед тем как писать прилажуху был уверен, что уже все How to, tutors, даже готовые решения и шаблоны на такую плевую задачу есть. Боже мой, как же я ошибался..
442 1185370
>>85351
добро пожаловать в оопешный ад, братишка
443 1185396
>>85228
>>85265
>>85366
Думал я один такой дурачек. В один момент мне надоела эта ебля с ведроидом, и я решил перекатится в Ruby/Ruby on Rails. Так вот в RoR все шло как по маслу. Есть дохуя нормальных гайдов на почти-что каждый пук. Сейчас опять вернулся на ведро, и опять этот ад. Ищешь какую-нибудь инфу по какой-нибудь хайповой библиотеке для Андроида, и читаешь тонну похожих друг на друга гайдов, а иногда и неактуальную хуету. За эту неделю обратного вкатывания осилил все-таки MVP, RxJava и Dagger 2 с горем пополам. Сейчас буду пытаться осиливать тестирование. В прошлый раз (год назад где-то), я, после попытки осилить тестирование, выкатился с подгоревшей жопой отсюда. Но не смотря на все это, меня все равно так и манит этот чертов ведроид.

А вообще, если есть какой-нибудь анон, которому было бы не лень иногда отвечать на мои возможно тупые вопросы, то я был-бы рад, если-бы ты отписал на фейкомыло feedbJUSedANUStubmRtaPUNCTUMi9]Zo.
sage 444 1185408
>>85396

>MVP, RxJava и Dagger 2


Это же изи всё, просто пиздец изи. Вы просто тут тупые все и не лечитесь. Нахуй вы вообще программируете под андроид?
445 1185411
>>85408
меня нужда заставила - по работе автоматизировал некоторые сервисы, все сделал отлично, вывел апи, неубиваемый сервер, написал отличный бэк. Дошел до андроид и охуел просто. По другому не скажешь. А ведь всего-то хотел себе жизнь облегчить.
446 1185412
>>85408
В какой-то мере соглашусь с первыми двумя пунктами, но на Dagger 2 я точно не меньше двух дней потратил. Хуй знает куда что пихать, как правильно всю эту парашу инджектить.
447 1185414
>>85408

>Это же изи всё, просто пиздец изи.


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

>>85396
Я кстати тоже после разрыва пукана начинаю копать руби. Какое совпадение. Кек.
448 1185425
>>84586
ну и кто разрешал андроидо-даунам многопоточность использовать? В этом коде гонка потоков. Пилите свои вьюшки и не лезьте в серьёзные вещи.
449 1185440
>>85425

> В этом коде гонка потоков. Пилите свои вьюшки и не лезьте в серьёзные вещи.


Это код рандомного китайца, который я изучал. Что здесь не так что? Объясни поподробней.
450 1185449
>>85440
после того как ссылка на INSTANCE была присвоена и до того как вызовется updateDatabaseCreated VM может зашедулить выполнение других потоков, а текущий убрать до лучших времён. Вполне возможно что другие потоки могут увидеть присвоенную ссылку на INSTANCE даже не входя в sync блок, только эта самая ссылка не была инициализирована до конца. Это data race классический.
sage 451 1185462
>>85414

>Засунь себе в анус свое изи. Ставлю сотку, что твой продакшен код настолько залит говном, как и твой очередной пост с предсказуемым пуком.


Сотку чего?
452 1185566
>>85449
Вот только никто не сможет обратиться к INSTANCE, пока synchronized-блок не завершится.
453 1185581
>>85566
Это почему?))) Там есть проверка вне блока, она как раз и выполняется.
454 1185608
>>85581
А, да, действительно. Вот если бы INSTANCE присваивалось в самом конце блока, было бы нормально.
image.png75 Кб, 644x804
455 1185633
>>85566
>>85581
>>85608
Сложно пиздец.

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

Ну и читай про многопоточность в джаве.
image.png20 Кб, 692x227
457 1185637
>>85635
Т.е. здесь китаец инициализирует БД в единичном экземпляре, чтобы потом наверху, например в активити, получить этот инстанс и внести изменения в эту БД?
458 1185667
>>85635
есть же книга "ява конкарренси ин практис", на хабре все уверены что понимают многопоточность, но это сомнительно
459 1185768
>>85637
Читай про паттерн "синглтон", что уж.
460 1185816
>>85637
Хуя ты даун, бротиш.
image.png48 Кб, 1017x368
461 1185859
>>85768
>>85816
Сука, хули тут читать-то. Написано же на пикрили.
Один экземпляр БД - работа с ним. Хули вы меня обижаете.
463 1185999
Не бейте, но почему у Телеграма пустая почти директория layout? Все их кода создают, судя по всему - почему такой подход? Чем он лучше?
https://github.com/DrKLO/Telegram/tree/master/TMessagesProj/src/main
464 1186259
сегодня гугл ИО.
иеееееееееей
465 1186273
>>85999
Телеграм это сраное сборище костылей и хаков.
Ну можно из кода ебашить что бы с xml не ебаться,
немношк меньше ресурсов жрется.
466 1186378
чо, никто i/o не смотрит?
467 1186419
>>86378
Ну я так посмотрел, сейчас вырублю. Включу в 12 ночи, как раз андройд покажут. Ну и в 7:30 - про котлин с питера чувак будет говорить.
468 1186427
Кстати, как включить фичу удаления серых ненужных пакетов в текущем файле java при форматировании ctrl + alt + L ?
469 1186444
>>86419
Сейчас андроид как раз показывают.
470 1186449
>>86444
Ну такое.
471 1186462
Нет ли людей, которым нужно помочь чем-нибудь? Готов работать за еду за спасибо.
472 1186470
>>86462
мне нужно дохуя чего делать. Но пускать в свою репу хер пойми кого еще и рукожопого - нет спасибо, даже за беслатно не надо
473 1186477
>>86470
Ну ты напиши че сделать, а я буду кидать файлики.
474 1186483
>>86477
Напиши мне свою реализацию mpeg dash плеера для андроида. Как напишешь - файлик кидай по адресу /dev/null
475 1186509
>>86483
Чет слишком сложно. Пойду лучше курсовую поделаю.
476 1186516
Ебать, за две секунды открывается эмулятор. Вот пиздаболы. Нихуя подобного. Зато все хлопают.
image.png914 Кб, 1341x638
478 1186529
А вот и материал theming подъехал.
Эппл в очередной раз соснул.
images.png10 Кб, 290x174
479 1186588
Как сделать один общий граф зависимостей между модулями? Вот например есть aar модули А и Б, их консюмит апк модуль. Модулю Б нужно заинжектить зависимость(@Singleton) модуля А в свой андроид сервис. Это реально вообще?
480 1186594
>>86525
Когда она уже в гидралиска регенерирует? Первый раз было прикольно, а теперь чет раздражает.

Ну или хотя бы протез поставит, чтобы никогда не просить об этом. Или она специально его снимает?
481 1186634
>>86594

> Или она специально его снимает?



Конечно, надо же продемонстрировать дайверсити и инклюзивити.
image.png575 Кб, 1798x913
483 1186655
Что это еще за модные пендосские новинки? Неужели мы так клепать тоже будем?
484 1186656
>>86655
Они пытаются повторить гейпловский сториборд? НАХУЯ СУКА Фу блядь пидорасы, все им стрелочки рисовать хочется прямо в идеешке.
image.png220 Кб, 1118x661
485 1186661
Как же активно они свое говно продвигают.
Live data, Room, супер архитектура.
486 1186662
>>86655
Лол, рили эппл ебаный косплеят.
image.png400 Кб, 1751x905
487 1186663
>>86662
>>86656
Будем еще учить онэмацию кнопочки делать
488 1186668
Так, ребята, какая-то хуита произошла с Андроид Студией - постоянно индексирование происходит. То есть открываю некоторые файл с классами активити - начинается каждую секунду индексирование, просто не переставая. В других классах активити такое же происходит только если начать редактировать методы OnCreate или OnCreateView. В какой момент все пошло по пизде сам не заметил - классы, в которых эта ебатня происходит, даже не менялись последнее время. В другом проекте этого же не происходит, то есть дело в проекте, но где искать проблему хотя бы примерно?
489 1186669
>>86668
Соррян за беспокойство, помогло банальное Invalidate caches, restart
490 1186676
>>86662
больше всего бомбануло от навигации свайпами, как в айфоне х
ну и монобровь конечно
491 1186680
Смотрю на все эти навигации, design-time helpers и вспоминаю, как буквально пару лет назад, когда решил потыкать андроид впервые, у меня был настолько слабый ноут, что дезигн у хмл в студии вообще не грузился, так что приходилось писать абсолютно все из кода. И как-то тепло на душе становится.
image.png57 Кб, 1293x430
492 1187189
Что это блять? Особенность realm'a?
sage 493 1187191
>>87189
особенности нативного кода. У тебя поля не инициализированны, пока к ним доступа не попросил.
494 1187194
>>87191

>пока к ним доступа не попросил


Т.е. у меня существует лист из 20 элементов без инициализации полей?

У меня проблема в том, что при первой установке приложения ничего не показывается, при повторной компиляции показывается лист уже нормально.
И с этим ли связана инициализация?
495 1187211
>>87191
Но я понял слегка. Спасибо анонче.
496 1187221
>>87189
Вам про это еще с версии ~0.8 начали писать в туториале, что поля в дебаггере не отображаются, пока их не запросишь явно.
497 1187313
Аноны, пишу очередной чят на курсач. Переписка отображается в ресайклервью, ниже идет панель ввода текста, ну по классике.
Проблема что когда открываю клавиатуру, она как бы закрывает часть чата. То есть если я открываю клаву из позиции на пике 1, то получается пик 2, а должен быть пик 3.
Как фиксить? Гугл говорит чето про android:windowSoftInputMode="adjustResize", но это фигня.
image.png29 Кб, 1176x250
498 1187368
>>87313
Накостылил вот такую хуйню, но она коряво работает при скрытии клавиатуры (поэтому сделал условие что только при открытии), и это же какая-то хуйня.
Наверняка есть какое-то более элегантное решение, задача-то распространенная.
499 1187431
>>87368
Да вроде так и решается. Вот здесь точно было про это, глянь
https://youtu.be/BbxB3Sr55qw?t=20m45s
500 1187441
>>87431
ты к нам хабра пришел?
501 1187444
>>87441
нет, с хуя ли?
sage 502 1187460
>>87444
может и с хуя, кто тебя знает
503 1187473
>>87431
setStackFromEnd(true) достаточно было поставить у лейаутменеджера, но за видос спасибо.
Правда, теперь оно отображает первые сообщения снизу, а не сверху, но в телеге например так же и всем нормально, так что похуй.
504 1187752
Сап, /pr/.
1) Как сделать так, чтобы в зависимости от какого-то условия приложение стартовало с разных активити? Т.е. если, допустим, пользователь не авторизован, то с Login/SignUpActivity, если авторизован - то сразу какая-нибудь FeedActivity.
2) Где хранить токен, получаемый с сервера при авторизации, чтобы реализовывался пункт 1?
505 1187770
>>87752

>1) Как сделать так, чтобы в зависимости от какого-то условия приложение стартовало с разных активити? Т.е. если, допустим, пользователь не авторизован, то с Login/SignUpActivity, если авторизован - то сразу какая-нибудь FeedActivity.


Чекать shared preference. Если там есть что-то - открывать уже другой активити. Если нет - то авторизацию.

>2) Где хранить токен, получаемый с сервера при авторизации, чтобы реализовывался пункт 1?


В одном из приложений я хранил в sharedPreference. Но у тим лида пукан горел с этого.
506 1187799
>>87752

> 2) Где хранить токен, получаемый с сервера при авторизации, чтобы реализовывался пункт 1?


AccountManager
sage 508 1187965
>>87929
Хранить в Shared Preferences всяко надёжнее, да
509 1187983
Тогда такой вопрос. Где в коде чекать SharedPreferences или AccountManager? Это должна быть какая-то StartActivity, единственной задачей которой является проверка наличия валидного токена и переадресацией либо на LoginActivity, либо на FeedActivity?
510 1187991
>>87983
Именно так.
А вообще активити не нужны, сейчас эра view-based навигации.
511 1187994
>>87991

>сейчас эра FRAGMENTS


поправил няшу.
513 1187997
>>87994
Вообще да, новая навигейшон либа гугла на фрагментах работает.
514 1188078
>>87997
Фрагмент - обёртка над вью.
15163566023120.jpg89 Кб, 671x1024
515 1196989
sup /pr помогите разобраться в структуре андроид проекта. Есть порт love2d для андроида через сдл и вот я не могу понять как это работает. Там 3 манифеста (если не больше), а насколько я всю эту тему накопал то одно приложение = один манифест, но тогда зачем там остальные манифесты, как всё это между собой связано? а там и сдл и сам лов, а потом к этому всему и само приложение
Тред утонул или удален.
Это копия, сохраненная 14 июля 2018 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски