Программирование

Ответить в тред Ответить в тред
Check this out!
Android-разработка /android/ Аноним 13/07/20 Пнд 21:46:46 17506761
android-device-[...].jpg 408Кб, 1460x960
1460x960
Шапка проебана, сидим так
Аноним 13/07/20 Пнд 21:48:57 17506802
Короче, вопрос такой.

Вот с помощью ViewModel и LiveData я могу создать один статический лейаут и биндить в него данные, когда они будут готовы в модели.

Но как, блять, мне создать ДИНАМИЧЕСКИЙ лейаут?
То есть мне надо по событиям из модели не просто биндить данные в готовые вьюхи, но и полностью перерисовывать лейаут.
То есть, менять/удалять/добавлять вьюхи динамически на лету, а не просто инфлейтить xml'ку.
Аноним 13/07/20 Пнд 22:52:14 17507213
Смысл разрабам публиковать приложухи в гуглплэй с левых аккаунтов?
Чтобы не запороть рейтинг на основном? Прощупать, вкатывает людям или нет?
Аноним 13/07/20 Пнд 23:51:05 17507584
>>1750680
Пока что придумал такой костыль метод:
в лейауте задавать сразу все возможные view, но управлять их видимостью программно.

Вроде это даже считается дефолтным подходом для показа ProgressBar'а.
Тип показать его поверх вьюхи, а потом скрыть, лол, так даже в офф-руководстве гугла написано.

Аноним 14/07/20 Втр 08:22:11 17509505
Скажи "Фуксия круто"
Аноним 14/07/20 Втр 08:25:43 17509526
>>1750950
> Скажи "Фуксия круто"

Тебя ебут ебануто.
Аноним 14/07/20 Втр 08:43:08 17509577
Коплю на акк разраба, что бы выложить свое говно
Аноним 14/07/20 Втр 16:45:39 17513388
подскажите пжлст

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

уже точно понял что нужно начать с джавы , а потом начать изучать котлин , так как второе вытекает из первого и будет проще понять котлин имея хорошую базу на джаве. Но дальше в силу того что я зелен как трава в чистом поле , начинаю путаться в тонне названий .
понял что надо изучать будет :
1)Git
2)Аpi
3)Sql

заранее спасибо за ответы
Аноним 15/07/20 Срд 13:39:35 17518859
изображение.png 97Кб, 2791x484
2791x484
А бывает android studio без аналитики? Почему везде зонды?
Аноним 15/07/20 Срд 22:18:21 175234810
>>1751338
Пиздец ты даунич. Освой Java в начале, потом уж в андроид лезь.
Аноним 16/07/20 Чтв 18:24:14 175310411
Аноним 16/07/20 Чтв 23:31:22 175336912
image.png 153Кб, 804x964
804x964
>>1751338
>интересна тема android разработки
не интересна походу

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

>понял что надо изучать будет :
ты ничего не понял
Java, MongoDB, Android SDK

>начинать практиковаться
this прежде всего в любом ЯП

>и не было каши в голове.
ограничь потоки медиа и прочих раздражителей в своей жизни
Аноним 17/07/20 Птн 00:52:23 175340613
>>1750676 (OP)
>Шапка проебана
не думал что вы проебали мою шапку. впрочем все равно, я не пишу больше на андроиде. и вам не советую.
Аноним 17/07/20 Птн 10:05:38 175359014
...
Аноним 17/07/20 Птн 16:10:29 175395415
Есть один json с сервера, который я маплю в объекты и сохраняю в бд с помощью room. Иногда эти объекты надо обновлять, делая повторный запрос к серверу. Сильно ли скажется на производительности если я буду просто удалять старые объекты из бд и записывать новые? Или лучше взять старые объекты из бд, сравнить с новыми и обновить если есть изменения?
Аноним 17/07/20 Птн 17:05:49 175398616
Аноним 19/07/20 Вск 16:38:32 175541617
>>1751338
вкатывайся брат, главное что то делай.
сам учу, сижу кайфую
Аноним 19/07/20 Вск 22:42:09 175558718
Тут такая хуйня, RecyclerView рандомно сохраняет части комплексной вьюхи, если они не были перебиндены в onBindViewHolder
Например, если у треда нет изображения, оно там может с нихуя появится из прошлого треда
RecyclerView же переиспользует как-то элементы списка? Выглядит, как будто если я не перебиндил каждый элемент, то он может остаться тем же, что и был до этого
То есть, если в прошлом треде я задал holder.imageViewPostImage, а в этом не задал, то там может остаться изображения с прошлого
Это норма?
Аноним 19/07/20 Вск 23:58:32 175561119
Сеньор-архитектор снова в ожившем треде, чтобы ответить на ваши вопросы
Оп, как можно было проебать шапку?
>>1750680
Что у тебя за задача? Как ты пришел к идее "перерисовывания"? Не советую заигрываться с лейаутом из кода, только время потратишь, но далеко не факт, что добьешься стабильной работы и решишь задачу. Из-за этого, кстати, Гугл пилит Jetpack Compose.
Какие вьюхи тебе нужны, какой функционал? Что нужно отображать, что изменяется, а что нет? Подробнее напиши.
>>1751338
Основы программирования, логические операции -> Джава(базовый синтаксис и особенности языка) -> ООП -> особенности различных версий Джава -> алгоритмы и структуры данных -> многопоточность -> дженерики -> функции высшего порядка -> Котлин -> Android SDK(UI, версии и различия, особенности оси на уровне работы виртуальной машины) -> работа с БД, CRUD(можно и на этапе знакомства с алгоритмами) -> git -> networking/REST API/JSON/сериализация -> актуальные фреймворки(зачем и почему, спойлер: экономия времени ) -> архитектура, зависимости, инверсия контроля -> ?..
Вот примерный флоу, которому я бы следовал, если бы учился сейчас. начал бы сразу с алгоритмов, если честно
В эту же последовательность нужно вставить clean code, SOLID, DRY/DIE, KISS, YAGNI и прочие модные аббревиатуры, которые весьма актуальны. Что-то упустил, но, думаю, этого достаточно.
Читай документацию книги, минимум ютуба и туториалов.
>>1753369
>Java, MongoDB, Android SDK
В голос
>>1753954
>Сильно ли скажется на производительности
Зависит от количества объектов, лучше апдейтить. Ориентируйся на оправданность использования того или иного подхода. масштабируй
>>1755587
о каком треде идёт речь?
RV всего лишь отображает данные, которые байндятся к позиции, так что всё зависит от того, чем и как ты его кормишь.
Аноним 20/07/20 Пнд 10:36:45 175579520
>>1755611
>Что у тебя за задача? Как ты пришел к идее "перерисовывания"?
У меня BLOC-паттерн. Ну или упрощенно - стейт-система по типу Redux в жопаскрипте.
Суть в том, что интерфейс полностью соответствует текущему state.

if (state = LoadingState) рисуем прогресбар
if (state = ErrorState) рисуем ошибку
if (state = SuccessState) рисуем списочек

Сейчас у меня в этом месте несколько костыльно, ибо onCreateView() вызвается лишь 1 раз, а логичнее, чтобы интерфейс перерисовывался для каждого стейта.

Сейчас же у меня тупо progressbar скрыт и появляется поверх пустого списочка, а ошибка показывается снекбаром.
Короче, мне надо полностью перерисовывать интерфейс полсе того, как он был нарисован в onCreateView().
Не обязательно вручную, но надо переинфлейтить xml'ку
Аноним 20/07/20 Пнд 11:45:31 175582921
>>1755795
>У меня BLOC-паттерн
>стейт-система по типу Redux
Если провести аналогию с BLoC, твой стейт должен реагировать поток данных, которые ты получаешь, будь то ViewModel или RX, где ты можешь вызывать коллбэки в зависимости от состояния Observable/Flowable. Соответственно, если ты используешь single activity, в активити у тебя будут оверрайд методы onSuccess, onLoading, onFailure от интерфейса, который она экстендит . В этих методах ты управляешь видимостью прогрессбара(он есть только в главной активити, т.к. она является контейнером с общей логикой отображение) и загружаешь нужный экран фрагмент для пользователя, в зависимости от состояния.
Если источник данных не поймал success, пользователь просто не попадёт во фрагмент со списком.(с RX это делается красиво)
Это общий принцип и важно понимать, что реализация зависит от используемой тобой архитектуры. но он хорошо масштабируется
>onCreateView() вызвается лишь 1 раз, а логичнее, чтобы интерфейс перерисовывался для каждого стейта
Не логичнее, это дорого, да и незачем лишний раз трогать жизненный цикл вьюхи. У тебя есть контейнер, который ожидает данные - он итак пустой, если их нет. Ты должен показать его пользователю, если они есть.
Почитай об MVI.
Аноним 20/07/20 Пнд 12:22:42 175585122
>>1755829
>Если провести аналогию с BLoC, твой стейт должен реагировать поток данных, которые ты получаешь, будь то ViewModel или RX, где ты можешь вызывать коллбэки в зависимости от состояния Observable/Flowable
Вот именно это и происходит. Есть BlocViewModel : ViewModel, где есть метод mapEventToState(event: EventInterface): Flow<StateInterface>
Далее немного магии и преобразований и фрагмент подписывается на LiveData с этими стейтами.
Ну, как ты понимаешь, очень важно, что может быть только 1 актуальный стейт, не может быть сразу двух активных стейтов.

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

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

Аноним 20/07/20 Пнд 12:54:39 175586523
>>1755851
>очень важно, что может быть только 1 актуальный стейт, не может быть сразу двух активных стейтов.
Ты можешь просто создать observer внутри фрагмента, проинициализировать в нём же интерфейс OnLoadState в onCreateView/onAttach и вызывать state.onSuccess(коллбэк), когда livedata.value не null. (адаптируй под флоу пользователя)
>Вот в идеале этот обсервер стейтов должен быть чистой функцией
Вот смотри, в MVI ты бы создал в активити функцию render(), которая содержала бы в себе when(state: State) и управляла прогрессбаром(один на всё приложение - хорошая практика, если юзаешь стейты, проще управлять), открывала бы фрагмент или показывала бы снекбар.
Ты обозреваешь данные, а не стейты. Стейты отвечают за доступ, а твоя задача - сообщить о том, что вот тут будет такой-то стейт.
>Вот юзать отдельный фрагмент на каждое состояние выглядит дорого и геморно
Ты, похоже, не понял меня.
Пример:
Активити -> фрагмент1 -> клик -> onLoading -> onSuccess -> фрагмент2. Ты мыслишь не в той плоскости, потому что всё то, что не связано с данными, которые могут отсутствовать, или условиями, которые могут не быть соблюдены(как успешная аутентификация), детерминировано.
Аноним 20/07/20 Пнд 16:55:27 175607624
>>1755829
>>1755865
>Почитай об MVI.
Почитал, все те же вариации на тему реактивщины под другим соусом, что и в Redux и в BLOC. Никакой новой инфы не узнал.
Суть везде та же.

>в MVI ты бы создал в активити функцию render(), которая содержала бы в себе when(state: State) и управляла прогрессбаром(один на всё приложение - хорошая практика, если юзаешь стейты, проще управлять), открывала бы фрагмент или показывала бы снекбар.
То есть, глобальный обработчик стейтов, один на все приложение?

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


>Ты обозреваешь данные, а не стейты
Вот тут не понял. Стейт же и есть данные для UI.

Но смотри, с какими проблемами я сталкиваюсь при работе со всей этой реактивщиной и стремлением к максимальной чистоте функций.
1) Если сделать полную перерисовку интерфейса в ответ на стейт (обсервер стейтов идеальная чистая функция), то при изменении конфигурации будет сброшена, например, позиция списка, потому что он фактически перерисован заново. Хотя ее тоже можно сделать частью стейта, но по мне так это больше деталь реализации UI и об этом вообще я думать не должен.
2) Если обсервер стейтов не чистая функция, то возникают непредсказуемые побочные эффекты, теряется контроль над фактическим состоянием UI, он перестает соответствовать объекту стейта.

>Активити -> фрагмент1 -> клик -> onLoading -> onSuccess -> фрагмент2
Ну вот, ты вновь не отделяешь стейт от побочного эффекта.
По твоей схеме onLoading тоже должен был являться стейтом и породить свой фрагмент.
Но вообще, именно с осоознанно созданными побочными эффектами у меня проблем нет, потому что они обрабатываются отдельно от стейтов и стейт не меняют

Ну и еще, если создать глобальный обработчик событий и стейтов, то каждое событие и каждый стейт должны быть уникальными.
Сейчас у меня есть универсальные события типа ListItemClicked, которые могут иметь разный смысл в контекте разных BlocViewModel.
Аноним 20/07/20 Пнд 17:13:59 175608425
>>1755865
>Ты можешь просто создать observer внутри фрагмента, проинициализировать в нём же интерфейс OnLoadState в onCreateView/onAttach и вызывать state.onSuccess(коллбэк), когда livedata.value не null. (адаптируй под флоу пользователя)
Вот про это по-подробнее, плиз.

Еще есть охуенная проблема, как все эти стейты и реактивность положить на жизненный цикл ведра и его особенности.
Например, те же фрагменты
Аноним 20/07/20 Пнд 18:42:54 175615826
>>1756076
>Вообще, я, да и не только я, разделяю понятие стейта и побочного эффекта.
Дело в том, что я придерживаюсь следующего принципа - есть UI стейты(которые не могут изменять объекты и, собственно, конечны в своём выполнении, ответственны только за свою отработку в качестве "ключа", так что сайд эффекты исключаются), которые должны выступать ограничением для пользователя и выстраивать его "флоу"(Простые коллбэки, которые вызываются тогда, когда данные получены(observer livedata). Важные, например, сессионные данные (вроде id и подобного) передаются через бандл), есть состояние самих данных в репозитории, откуда они идут во viewmodel, которые либо есть, либо отсутствуют. Получать данные или состояние данных нужно во вьюмодели/презентере, UI должен только обозревать их и реагировать(обновляться, отображать и т.д.).
>>1756084
>Вот про это по-подробнее, плиз.
Например, в onAttach создаешь callback = context as StateListener, хендлишь ClassCastException через try/catch, при нажатии на кнопку вызываешь callback.onLoadList, который либо загружает фрагмент со списком(получая данные из viewmodel), либо делает что-то, что предусмотрено в этом случае.
>как все эти стейты и реактивность положить на жизненный цикл ведра
Делать можно как угодно, хоть создавать compositeDisposables прямо во фрагменте или активити и развлекаться, диспозить в onDetach. не стоит так делать Есть ли в этом необходимость? Логика должна быть разделена, модули должны быть изолированы.
Не до конца понимаю твоих намерений. Чтобы отобразить фрагмент со списком, можно просто чекать value livedata и выбрасывать onError, если данные где-то подкосило, потому что все ивенты в итоге приходят во viewmodel, но никак не в UI слой.
Аноним 21/07/20 Втр 00:59:03 175647327
>>1756158
Смотри, у меня сейчас точкой входа является фрагмент.

Фрагмент сразу же рисует RecyclerView с пустыми данными и отправляет событие Initialized в модель.
Модель в ответ на это событие начинает грузить данные и эмитит стейт Loading, затем стейт Success со ссылкой на данные (которые все еще в самой моделе).
Фрагмент ловит стейт Success и тупо заменяет тот пустой лист-плейсхолдер на эти данные (по ссылке).

Еще у меня стоят коллбеки на свайпы элементов списка, которые тупо отправляют соответствующие события в модель.
Модель в ответ на них удаляет или изменяет ДАННЫЕ (которые хранятся в самой моделе) и отправляет действие (я так называю побочный эффект) о том, что элемент, допустим удален.
Фрагмент ловит это действие и нотифит адаптер о том, что данные изменились. И интерфейс листа красиво показывает анимацию удаления элемента.
Фишка в том, что стейт-то не изменился. Просто побочный эффект привел к изменению самих данных.
Стейт, способ отображения UI каким был, таким и остался, удали хоть все элементы.

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

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

Вот в идеале надо бы как-то это в коде обозначить, что стейт = фрагмент, всегда.
Тогда возникает вопрос с точкой входа.
Сейчас это сам этот фрагмент.

Но в идеале точка входа должна быть какой-то другой.
Чтобы некая хуйня обсервила стейты и в ответ на каждый запускала фрагмент.
То есть, чтобы если модель выдала ошибку - сразу и нарисовался фрагмент ошибки, а если норм данные - то сразу запустился фрагмент с норм данными.
НО. Тут еще дело в том, что как именно эти фрагменты запускать.
Потому что иногда мне надо в пределах того же ЭКРАНА полностью перерисовать интерфейс, то есть таки сменить стейт, а иногда мне надо запустить навигацию на новый фрагмент, чтобы он остался в стеке переходов.

То есть, поменять стейт без перехода в рамках того же "экрана" или же перейти на новый фрагмент-экран...
Аноним 21/07/20 Втр 02:52:27 175649228
>>1756473
Распишу подход, мб пригодится и что-то применишь.
Если пилить по чистой архитектуре:
Модель должна содержать только описание объектов, репозитория(абстракцию) и юзкейсы для получения данных в презентере/viewmodel. Данными ты манипулируешь(получаешь тем или иным способом, кэшируешь и т.д.) в другом слое(с реализацией абстрактного репозитория), где могут быть мапперы для модели и всё то, что делает модуль максимально изолированным, но нет андроида - он во view слое, где и viewmodel(которая реализует юзкейсы). Всё это позволяет сильно упростить жизнь.
Интересно, как у тебя выглядит фрагмент ошибки? И зачем ей свой фрагмент?
Точка входа - активити, которая ловит коллбэки(loadNameScreen, где тебе прогрессбар/диалог/снэкбар и все остальное) и навигейтит во фрагменты через navhost(тут же легко реализуется бэкстэк и бандл, куда можно что-то передать, к примеру, флаг, который будет влиять на отображение компонентов внутри фрагмента). Сделать god object'ом активити в этом случае очень сложно, если ограничиться навигацией. Работать с таким кодом приятно.
Аноним 21/07/20 Втр 03:35:38 175649529
Аноним 21/07/20 Втр 21:58:23 175715630
1595357902414.jpg 129Кб, 1080x2160
1080x2160
>>1756492
>Интересно, как у тебя выглядит фрагмент ошибки? И зачем ей свой фрагмент?
Аноним 21/07/20 Втр 22:13:23 175717231
Как победить андроид студию
Аноним 22/07/20 Срд 16:01:49 175770132
Стоит ли вкатываться в андроид разработку или лучше идти в плюсы или питон?
Аноним 22/07/20 Срд 16:50:30 175777933
>>1757701
Нет, раз ты задаешь этот вопрос.
Аноним 22/07/20 Срд 19:50:05 175792434
Кто что думает по поводу Flutter. Будет ли он востребован в ближайшее время?
Аноним 22/07/20 Срд 21:26:26 175799335
Аноним 23/07/20 Чтв 19:12:21 175869436
>>1755611
Ебать какое же дерьмо в голове

>сениор
разве что в мобильном геймдеве друк
Аноним 23/07/20 Чтв 22:17:56 175881037
>>1758694
>Ебать какое же дерьмо в голове
Поясняй, вкотя, что не так?
Аноним 23/07/20 Чтв 23:09:52 175883438
изображение.png 113Кб, 640x1280
640x1280
>>1750676 (OP)
подскажиет, обязательно делать приложение по правилам material дизайна чтобы оно выглядело как нативное андроид приложение, я на qml делаю макет сейчас, и вот делаю дизаин как мне нравится, но набрёл на правила material дизайни и хуй знает, подстраиваться ли, или делать так как в голове вырисовалось.
Аноним 23/07/20 Чтв 23:10:57 175883539
>>1758834
сука вопросительные знаки проебал :<
Аноним 24/07/20 Птн 00:22:46 175888140
>>1758834
Лучше делай
На пике кривая верстка
Аноним 24/07/20 Птн 08:43:10 175901041
>>1750676 (OP)
Сап, котаны, есть 2 интеесных вопроса:

1) Если я хочу отображать состояние из Foreground Service в UI через LiveData, то должен ли сервис непосредственно вызывать метод postValue и передавать туда новый экземпляр объекта, который описывает состояние?

2) В чем практический смысл Dependency injection, особенно Dagger 2?

Аноним 24/07/20 Птн 10:35:26 175905842
>>1750676 (OP)
Привет. Пытаюсь создать в новый build type в gradle. Прописал его в buildTypes, создал директорию в src с AndroidManifest итд. Но он не появился в assemble tasks. Что я делаю не так?
Аноним 24/07/20 Птн 10:46:14 175906743
>>1758881
да, я это понимаю что слишком тонкий хедер и в футер лучше бы ещё что то добавить чтобы 3 кнопки было, но вопрос у меня стоит в том: нужно ли всем правилам следовать или можно юзать свои иконки вместо material иконок и свои идеи в некоторых местах?
Аноним 24/07/20 Птн 12:34:01 175914044
>>1759010
1) Ты должен вызывать postValue с состоянием во viewmodel, обозревая livedata в UI.
2) Реализует DI-паттерн, сокращает количество кода, генерируя dagger и hilt, другие же реализуют паттерн service locator и дергают зависимости без подробностей реализации, когда зависимый объект в них нуждается логику создания объектов(фабрики для viewmodel, например) и позволяя создавать новые объекты с помощью аннотаций. создает граф зависимостей Упрощает работу с зависимостями в самом коде и тестах.
>>1759067
Нужно или нет - решать тебе, суть material в самой концепции взаимодействия компонентов интерфейса, образующих "материальный дизайн". Он просто предоставляет тебе инструменты и гайдлайны. Я стараюсь придерживаться, если это возможно.
Аноним 24/07/20 Птн 12:57:35 175915045
Аноним 24/07/20 Птн 14:02:00 175918846
>>1758834
Если твой уровень понимания UX на пике - то делай строго по material и не еби мозг пользователям. UX designer - это как бы професия, за это деньги платят и там есть что изучать что бы хуй ложить на метериал.
Аноним 24/07/20 Птн 14:31:05 175920647
>>1759188
ну у меня уровень понимания UX скорее на хуях чем на пике, ну думаю сделаю макет руководствуясь изредка material, просто я хз они иконки предоставляют, а платные они или фришные я так и не понял, поэтому беру иконки с другого сайта с указанием авторства, потом перевернул телефон, понял что то что на якорях не закреплено, съехало нахуй)) и как оно всё будет себя вести на другом телефоне тож хз, потому что AVD требует 70гб памяти, а у меня на линухе столько нету, и тестирую на своём телефоне, если есть опция запретить поворот, было бы найс. Я просто вот вот пришёл к андроид разработке после qt десктопа на уровне лаб универа (а-ля сделать графический редактор фоток и тд), и понял что вот это наиболее доставляет пока что, поэтому и пытаюсь понять куда двигаться и что делать, и не особо знаком пока со всеми правилами.
Аноним 24/07/20 Птн 14:41:10 175921348
>>1759188
двачую
>>1759206
>просто я хз они иконки предоставляют, а платные они или фришные я так и не понял
Our icons are free for everyone to use. Please don’t try to sell them.
https://material.io/resources/icons/?style=baseline
>AVD требует 70гб памяти
Ты про дефолтный? Я от него отказался ровно в тот момент, когда впервые появилась ошибка конфигурации девайся, связанная с boot-типом и ключами, что либо фиксится на какое-то время, а затем появляется вновь, либо не фиксится. слишком много проблем с ним Использую Genymotion, очень лёгкий и удобный.
Аноним 24/07/20 Птн 14:48:35 175921749
Аноним 24/07/20 Птн 18:17:04 175937350
>>1759140
1) Каким образом я это сделаю, если источник этих данных внутри foreground service? Предлагаешь binding и intetns? А почему тогда всякие базы данных и репозитории можно хранить внутри application и вызывать откуда угодно, а здесь так нельзя?
Аноним 24/07/20 Птн 18:27:29 175937951
>>1759373
Алсо, если только сделать observeForever внутри ViewModel для той ливдаты, через которую данные с сервиса пиздячат.
Аноним 24/07/20 Птн 19:15:50 175941352
>>1759373
Ранее ты написал, что тебе нужно обозревать состояние, которое относится к данным уровня фреймворка(читай андроида) к этому же уровню относится сам сервис, поэтому не место в слое данных - он должен быть изолирован , так что с репозиторием тут нет ничего общего и ты можешь получать его прямо во viewmodel с помощью LifecycleService.AndroidViewModel нужна как раз для таких случаев, когда нужен доступ к контексту, хотя лучше стараться не использовать её
>>1759379
>сделать observeForever внутри ViewModel
Довольно костыльно, но пробуй. Повторюсь, что в идеале ты должен получить данные во viewmodel и положить их в livedata, чтобы они ушли в UI через observe. Пробуй разные подходы и адаптируй под свою архитектуру. А ещё лучше - изначально выбирать подход, исходя из имеющейся архитектуры
Вариантов тут реально много, но для того, чтобы выбрать подходящий, нужно понимать степень изолированности модулей в твоем коде. в большинстве гайдов ты вообще увидишь, что сервис связывают с жц актвити и жонглируют интентами/бандлами
Аноним 24/07/20 Птн 19:20:53 175942153
Братишки, как дела с андроид фрилансом? Дохуя ли работы? Нормальные ли рейты? Можно ли с заебавшего тырпрайза вкатиться по бырому? Или нужно пару лет отсидеть в офисе?
Аноним 24/07/20 Птн 19:31:24 175942954
>>1759413
>сервис связывают с жц актвити и жонглируют интентами/бандлами
Это же ужасно! Для передачи данных в сторону сервиса можно использовать startService с интентом. Но вот в обратную сторону хочется эти данные через репозиторий гонять, который выдает livedata, на обновление которых я подпишусь в observe forever внутри ViewModel.
Аноним 24/07/20 Птн 20:19:57 175946155
>>1759429
Ужасно, но, как видишь, вариантов реализации много, всё зависит от требований.
К слову, иногда использование бандла позволяет существенно сократить количество кода и убрать лишнюю цепочку вызовов. Например, можно засунуть что-то в бандл, а оттуда в livedata, которая обозревается.
Аноним 25/07/20 Суб 16:16:47 175997856
Аноним 25/07/20 Суб 17:15:26 176002457
>>1759978
Кто ты ожидаешь что рейтанет? Тут одни вкатоиды.

мимо шел из крестотреда
Аноним 25/07/20 Суб 17:23:09 176003258
>>1760024
Какой-нибудь мимомидл, очевидно же.
Аноним 25/07/20 Суб 18:16:12 176005959
Аноним 25/07/20 Суб 20:01:29 176010560
>>1759978
1) presenter не должен пересоздаваться
2) вся логика со свитчем внутри презентера должна быть
3) зачем нужен презентер, когда сейчас вьюмодель в тренде
Аноним 25/07/20 Суб 21:54:30 176017061
API возвращает два объекта. Один объект, в котором лежит массив всех входных данных, имеет вид var message: Map(String, List<String>). Мне нужно ключи отоброзить в списке через адаптер. В другом окне при переходе отобразить список значений, списком тоже.
Как мне это распарсить? Что пихать в адаптер? И тут ещё ретрофит и рум. Как сделать так, чтобы POJO и еntity были разными классами?
Спасайте, поцоны.
Аноним 26/07/20 Вск 04:36:11 176038462
Аноним 26/07/20 Вск 04:37:03 176038563
>>1760105
>1) presenter не должен пересоздаваться
А где он там пересоздаётся?
Аноним 26/07/20 Вск 16:49:26 176082564
>>1760170
> var message: Map(String, List<String>)
val?

Делаешь репозитории с апи и руммом

Для каждого свои дата классы
И DTO для слоя бизнес логики и дальше

Репозитории отдают максимально простые структуры
Список строк там

Пихаешь в адаптер это
Аноним 27/07/20 Пнд 08:22:51 176123765
Аноним 27/07/20 Пнд 08:41:34 176124466
>>1761237
А, я понял, правильнее будет передавать его через onSavedInstanceState?
Аноним 27/07/20 Пнд 10:34:05 176136467
>>1761244
Там не остается тот же обьект
Аноним 27/07/20 Пнд 11:38:57 176140268
>>1761364
Ну да, там ссылка на него.
А как тогда?
Аноним 27/07/20 Пнд 17:12:34 176163369
>>1761402
Короч юзай viewmodel из aac, можешь даже свой презентер отнаследовать от него
Аноним 27/07/20 Пнд 19:43:44 176173170
image.png 4Кб, 494x133
494x133
!ХЕЛП!

Есть один сикбар. Так вот если я тавлю ему padding start, то на канвасе проебываются все масштабы при перерисовавывании тогла. КАКОГО ХУЯ. Часов 6 решение ищу.
Пикрандом.
Аноним 27/07/20 Пнд 19:44:04 176173271
>>1761731
С меня 3 бочки нефти
Аноним 27/07/20 Пнд 21:50:23 176183072
>>1761731
Не трогай его вообще, меняй атрибуты его контейнера
Аноним 27/07/20 Пнд 21:58:09 176183873
Ребята, расскажите как дела с пиратством сейчас на Андроиде? Пиратят ли ваши аппы? Много ли убытков?
Аноним 28/07/20 Втр 01:07:34 176193774
Аноним 28/07/20 Втр 12:43:20 176218275
Анон, посоветуй книг для изучения Java. Начал с head first, но чувствую, что меня наебывают и это какое-то говно. Есть книжки с более структурированным изложением?
Аноним 28/07/20 Втр 14:56:40 176227476
>>1762182
Head First наиболее структурирован, как мне кажется. Начни читать другие книги и продолжай ту, которая зайдет, вот и всё.
Аноним 28/07/20 Втр 19:35:58 176252977
>>1759421
Не игнорьте мой пост, пожалуйста. Хотя смею предположить, что от подобных тем вас уже тошнит.
Аноним 29/07/20 Срд 10:06:57 176293178
Вопрос не по программированию, но я думаю, что вы как разработчики знаете на него ответ.

Значит у меня старый телибон Xperia Ведроид. Оттуда мне надо взять смски и сохранить их на компьютер.

Я пробовал это сделать с помощью программы Xperia Companion, там пытался backup сделать смс сообщений. Но программа все время отваливается и говорит, что backup смс был неудачный. Интуитивно я думаю, что телибон слишком старый, и программа не умеет с ним контактировать.

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

Заранее спасибо, пожалуйста, ответьте на мой ответ.
Аноним 29/07/20 Срд 12:55:59 176307479
Аноны, я мимо макака-бекендер php + nodejs.
Хочу немного окунуться в мир мобильной разработки.

серверную часть на пхп || ноде пишут?

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


Аноним 29/07/20 Срд 13:08:34 176309080
>>1763074
>серверную часть на пхп || ноде пишут?

Хоть на чем

>Может начать с какого нибудь фреймворка флатер или реакт нэйтив?

Так можно делать только простые приложения
Коммерчески это все почти не используется
Аноним 29/07/20 Срд 13:14:29 176309781
>>1763090
Хм...
А посредством флатер или реакт нэйтив я смогу понять как вообще работать с системными механизмами в андроид? Или там все это зарыто в абстракции? Или при работе с джавой все тоже зарыто в абстракции?

Попердолиться может с Джавой тогда, говорят современный пхп довольно сильно на нее похож. Может быстро разгребусь. а еще айфоны блядь

Аноним 29/07/20 Срд 13:16:33 176310082
>>1763097
>>Или там все это зарыто в абстракции?
туплю, они же мультиплатформа. Значит полюбому все - абстракция
Аноним 30/07/20 Чтв 14:53:40 176435483
Screenshot from[...].png 308Кб, 1920x1080
1920x1080
Screenshot from[...].png 325Кб, 1920x1080
1920x1080
pic3.png 491Кб, 1061x850
1061x850
Анон, подскажи ньюфагу.
Хочу сделать добавление элементов интерфейса программно. По клику на "ADD" появляется новый столбец в контент-части. Столбец, в идеале, занимает всё пространство контент-части. Когда появляется новый столбец - пространство делится между всеми столбцами поровну.

Задизайнил это в студии.
Если я добавляю элементы вручную в дизайнере, то всё работает как надо, пик 1.
Если я добавляю программно, то всё работает не так как запланировано, пик 2.
Код вставки - пик 3.
Вставляемый XML - https://pastebin.com/yB0a2R5T

Что делать, в чём моя ошибка?
Аноним 30/07/20 Чтв 14:55:29 176435584
Как в XML Сделать линию с закругленными краями?
Аноним 30/07/20 Чтв 15:28:14 176437085
>>1764354
Решение ужасное
Убирай из xml всё лишнее, оставь только кнопки для управления. Затем создай контейнер(ресайклер, например) во фрагменте и добавляй новый айтем, который будет создавать вьюху. Так ты не просто создашь вьюху, но и сможешь манипулировать айтемом в целом, читай: задавать поведение, управлять жц.
>>1764355
>линию с закругленными краями
Это как?
Если ты имеешь в виду края вьюхи, гугли shape, если речь идет о холсте, пикселях и т.д. - гугли сглаживание для своего кейса.
Аноним 30/07/20 Чтв 15:40:17 176437786
>>1764370
>Убирай из xml всё лишнее, оставь только кнопки для управления. Затем создай контейнер(ресайклер, например) во фрагменте и добавляй новый айтем, который будет создавать вьюху. Так ты не просто создашь вьюху, но и сможешь манипулировать айтемом в целом, читай: задавать поведение, управлять жц.
Спасибо, сейчас буду пробовать.
Аноним 30/07/20 Чтв 16:08:39 176438987
>>1764370
>Если ты имеешь в виду края вьюхи, гугли shape
Ну, как оказалось корнерсы можно задать только ректанглу, так что прийдется танцевать с бубном. Канвас не вариант.
Аноним 30/07/20 Чтв 20:41:23 176456388
Студент 3 курса, знаю на среднем уровне яву, базово кресты, базовые паттерны проектирования, немного питона, линал, матлаб. ХОРОШО РАЗБИРАЮСЬ В UI И MATERIAL DESIGN
Под ведро никогда не прогал. Реально за пару месяцев по гугловским курсам базовые вещи изучить и устроиться на джуна по 10$/h? По удаленке
Спс
Аноним 31/07/20 Птн 09:39:47 176477289
>>1764563
>базовые паттерны проектирования
Есть сорцы твоих проектов, где ты их применял?
Аноним 31/07/20 Птн 11:43:38 176482090
хуявей хочет чтобы я залил туда свою поделку. какие подводные? Все что на гугл сервисах сламается?
Аноним 31/07/20 Птн 11:52:34 176482791
>>1764772
Зачем тебе мои сырцы, лол? Адаптер, фабрика, че там особо сырцить
Аноним 31/07/20 Птн 20:10:44 176521292
>>1764563
Нет. Нереально. Ведройд по знаниям сравним с вебом. Без либ ты далеко не уедешь.

Чтобы наслаждаться SDK нужно либо в иос, либо в скалу, либо в ерланг.
Аноним 31/07/20 Птн 21:08:28 176524693
>>1765212
Т.е. айосу за 2-3 месяца научиться можно?
Аноним 01/08/20 Суб 05:58:54 176535994
>>1764827
Мне они не нужны. Они нужны работодателю
Аноним 01/08/20 Суб 12:30:25 176544495
>>1764563
>по гугловским курсам базовые вещи изучить и устроиться на джуна по 10$/h? По удаленке
>2020

Лол))0))
Аноним 01/08/20 Суб 12:31:04 176544596
>>1765444
>по 1.5$/h? По удаленке
Пофиксил
Аноним 01/08/20 Суб 12:35:39 176544797
>>1759421
>андроид фрилансом
Ну имхо сейчас с 0 в фриланс вкатиться можно только в вебе. Особенно там не востребована нативная ведроид-разработка на жабе/котлине. Вкатись в реакт, научись быстро клепать говно и под ведро и под айос - перспектив на фрилансе в 10 раз больше.
Аноним 01/08/20 Суб 12:39:03 176544998
>>1759010
>2) В чем практический смысл Dependency injection, особенно Dagger 2?
В выкачивании бабок с заказчика с аргументом "нужно время на внедрение еба-технологии"
Аноним 01/08/20 Суб 12:57:26 176546999
>>1765449
Слишком толсто, чересчур.
Аноним 01/08/20 Суб 13:48:33 1765497100
>>1765469
Ну если СИРОЗНЕЕ - то если это
1) проект на год+
2) будут unit/ui-тесты

То да, имеет смысл встраивать в архитектуру di

Аноним 01/08/20 Суб 14:16:33 1765513101
>>1765447
а в чем проблема с фрилансом под андроид? я захожу на апворк, фл.ру и там всегда полно работы
Аноним 01/08/20 Суб 15:24:59 1765544102
>>1765497
Это удобно, тестируемо и масштабируемо, поэтому имеет смысл использовать di в любом случае, будь то маленький или большой проект. И нет разницы в том, делает ли это фреймворк, потому что хорошая архитектура нуждается в ограничениях и изолированности, которые предоставляет di. Говоря о фреймворках, нет смысла отказываться от потенциальной экономии времени и ресурсов, упрощенного сопровождения, потому что накладные расходы внедрения минимальны, говоря о новых проектах. При внедрении в легаси проекты ты тратишь чуть больше ресурсов на старте, но в итоге получаешь плато, которое позволяет расширять проект с минимальными затратами, имея оттестированные компоненты, что также сокращает потенциальные расходы.
Аноним 01/08/20 Суб 23:43:06 1765944103
>>1765544
>тестируемо и масштабируемо
Нууу, т.е. под проект с тестами и определенным масштабом.
Аноним 02/08/20 Вск 02:19:05 1765993104
>>1765944
Любой коммерческий продукт. Понятно, что в своих поделках, можно делать как угодно.
Аноним 02/08/20 Вск 11:05:24 1766103105
Аноним 02/08/20 Вск 20:29:34 1766601106
Ананасы, вопрос такой.
Раньше никогда ничего под андроид не писал, но вот решил тут попробовать изучать vulkan апи такое графическое, комп у меня говно.
А вот чип в телефоне вроде как поддерживает, правда как проверить драйвера и прочее - хз.
Так вот, может быть где-то есть где-то туторы и гайды как вести разработку без монструозной андроид студии (пускай даже в блокноте, похер) и создании апкшки?
Аноним 02/08/20 Вск 21:59:22 1766662107
>>1766601
Гугли что-то типа build android from comand line, видел много статьей, если хочешь понять что куда.
Как написал всю хуйню в блокноте можешь в консольке ебнуть ./gradlew :my-super-app:installDebug это соберет и установит апку на подключенный девайс.
Аноним 03/08/20 Пнд 02:29:42 1766782108
image.png 83Кб, 1920x1040
1920x1040
image.png 84Кб, 3959x939
3959x939
image.png 22Кб, 1078x684
1078x684
image.png 20Кб, 1078x684
1078x684
Сап, /пр, долбоёб на линии. Нихуя толком не умею и не понимаю, возникла надобность скачать исходники приложения с гитхаба и чутка поправить пару менюшек, чтобы убрать оттуда лишние пункты.
Я скачал android studio, установил её, скачал исходники в zip-файле, распаковал, запустил студию, выбрал "open existing android atudio project". Оно вроде открылося, но дальше янихуянепонел.
Начались всякие проблемы при попытке собрать проект без каких-либо изменений, при попытке создать эмулятор андроида.
Пикрелейтед1 - сразу после открытия и попытки собрать.
Пикрелейтед2 - если нажать на ссылку "Update NDK version to 21.3.6528147 and sync project" в пикрелейтеде1
Пикрелейтед3 - окошко добавления конфигурации, что в нём вообще нужно выбирать? Если я выбираю "android app", мне дальше нужно выбрать какой-то модуль, но в списке нет модулей нихуя. Пикрелейтед4 собственно оно.

Как мне ПРОСТО настроить эту студию и ПРОСТО собирать приложение? Мне надо-то сделать всего несколько правок, ёбана. Автор, точнее тот человек, кто сейчас занимается этим приложением, сказал, что не использует IDE и ничего не может подсказать по этому поводу. Щито мне делать и как добиться желаемого?
Аноним 04/08/20 Втр 16:48:15 1768342109
Парни, есть у кого база модеров и ботов плей маркета?
Аноним 06/08/20 Чтв 21:00:42 1770269110
Мне 17. !8 будет не скоро. Гугл плей требует паспорт гражданина РФ. Че будет, если скинуть им фейковый скан паспорта?
Аноним 06/08/20 Чтв 21:04:30 1770274111
>>1770269
Есть еще студенческий, могу его сейчас попробовать отправить
Аноним 06/08/20 Чтв 23:58:40 1770390112
Я хочу чтобы некоторые языки использовали 1 хмл файл со стрингами. Например, чтобы русский был у тех у кого на телефоне стоит белорусский или казахстанский язык. Как это можно сделать? Не хочется тупо копировать хмл в новые файлы, у меня 25к строк текста. Дефолтный язык - английский.
Аноним 07/08/20 Птн 00:08:49 1770394113
>>1770390
Наверн придется тупо копировать. Почитал что апп бандл не хранит все языки, а скачивает тока тот что нужно. Значит это не скажется на размере приложения.. Если есть лучшие решения, жду ответа.
Довольно популярная проблема, мне кажется, но в сети об этом почти нет инфы.
Аноним 07/08/20 Птн 00:49:30 1770413114
Есть ли способ сделать полностью полноэкранную активити? Чтобы даже по свайпу у краёв не показывались статусбар и навбар?
Второй вопрос: а сделать полностью прозрачную активити?
Аноним 07/08/20 Птн 10:36:49 1770632115
>>1770390
Ну походу норм никак, только костылить с
Locale current = getResources().getConfiguration().locale
А ваще с 7ого андроида, юзер может выбирать несколько языков. Если белорус не ярый патриот, то наверняка за белорусским будет стоять русский, и потом английский. Ну и дроид будет смотреть что есть в аппе.
Аноним 07/08/20 Птн 12:18:10 1770720116
>>1770274
Студенческий не приняли. Буду в наглую говорить, что мне нет 18 и отошлю пасспорт
Аноним 07/08/20 Птн 13:18:58 1770830117
>>1770413
>полностью полноэкранную активити
>не показывались статусбар и навбар
Через стиль, либо через флаги WIndowManager'а.(Window в 21+) У Навбара свои флаги.
> полностью прозрачную активити
То же самое, только дёргаешь транспарентность.
На кой хер она тебе?
Аноним 07/08/20 Птн 16:15:48 1771035118
Немного нестандартный вопрос.
Нужен ноутбук для стажировки в компанию.
Какой самый дешевый ноут можно взять для андройд студии?
Аноним 07/08/20 Птн 17:01:02 1771103119
1596808860022.jpeg 963Кб, 1440x2880
1440x2880
>>1770632
Я тестил, все равно показывает инглиш. Поставил языки болгарский и второй русский, в проге же язык все равно инглиш. Буду гуглить что не так.
Юзаю values-b+ коды и все равно нихрена.

Инстукция по этим кодам - 20 страниц непонятного пиздеца.

Кароче, искал и ничего не нашел чтоб работало как надо. Эта хуйня со сменой языков на андроид 7, если их указано несколько, работает не так как хочется, переводит только некоторые из стрингов, например кнопки в боттомнавигейшнвьюв, но все остальное нет. И работает только если указать resConfigs "en", "ru", "ua"... и тд в грандл файле.
Нашел эту подсказку с resConfigs тут: http://developer.alexanderklimov.ru/android/locale.php пикрил. Но эта опция "auto", которую автор говорил юзать, удалена разрабами потому что нестабильно работала и если ее написать выбивает ошибку. Одним словом, трудно разобраться.

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

Буду копипастить .хмл файлы прост и потестирую сможет ли аппбандл отдавать только необходимые стринги не увеличив размер в плейсторе для закачки на 50 мб. Надеюсь меня гугл не забанит за то что фактический язык не будет соответствать тому что я указал в хмл.
Аноним 08/08/20 Суб 09:44:36 1771655120
Анон, хелп. Делаю приложение, которое хранит список людей с некоторыми атрибутами и пикчей в SQLite. Пикчи храню ввиде текстовой ссылки, когда достаю их из базы конвертирую в Uri
Суть проблемы:
Когда лью сылку на пикчу в БД, а потом оттуда выгружаю, то все работает хорошо и отображается в imageView. Но если закрыть приложение, а потом открыть, то Uri из БД выгружаются точно такие же, но в imageView почему-то не отображаются
Аноним 08/08/20 Суб 13:39:54 1771729121
>>1771655
Разобрался. При запуске активити с выбором картинки нужно было писать action_open_document, вместо action_open_image
Второй вариант дает права на документ только один раз, первый навсегда
Аноним 10/08/20 Пнд 19:14:43 1773519122
Знаю, вопрос не по программированию, но где еще спросить не знаю.
Подскажите, установятся ли линуксовые драйвера от USB-ишной сетевой карты TP-Link UE200 на смартфон с Android 10? И как это сделать?
Аноним 10/08/20 Пнд 21:04:44 1773587123
Аноним 11/08/20 Втр 09:36:22 1773824124
>>1773587
Какой бюджет? Ноут с 8гб озу и пятым райзеном можно взять за 40к и дешевле, чего вполне достаточно для комфортной работы.
Из бюджетных я бы смотрел в сторону какого-нибудь VivoBook
Аноним 11/08/20 Втр 21:56:56 1774693125
Аноним 11/08/20 Втр 23:14:00 1774749126
>>1773519
поставь линуху, из-под нее запусти
Аноним 12/08/20 Срд 02:00:44 1774797127
Здравствуйте, андроидобояре, будет ли нормально работать Андроид Студио на процессоре типа Ryzen 2200g, 3200g ?
Аноним 12/08/20 Срд 13:02:57 1775015128
Аноним 12/08/20 Срд 16:12:11 1775210129
>>1773519
попробуй в termux запустить. или через adb shell
Аноним 12/08/20 Срд 19:27:49 1775430130
>>1773824
Бюджет минимальный. Денег очень мало.
Аноним 13/08/20 Чтв 08:07:47 1775742131
Добавляю событие в календарь гугл из своего приложения андроид следующим образом

Intent intent = new Intent(Intent.ACTION_INSERT)
.setData(CalendarContract.Events.CONTENT_URI)
.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, millis)
.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, millis + 60 60 1000)
.putExtra(CalendarContract.Events.TITLE, evtext)
.putExtra(CalendarContract.Events.DESCRIPTION, evtext)
.putExtra(CalendarContract.Events.HAS_ALARM, true)
.putExtra(CalendarContract.Reminders.EVENT_ID, CalendarContract.Events._ID)
.putExtra(CalendarContract.Events.ALLOWED_REMINDERS, "METHOD_DEFAULT")
.putExtra(CalendarContract.Reminders.MINUTES, 1)
.putExtra(CalendarContract.Reminders.METHOD, CalendarContract.Reminders.METHOD_ALERT)
.putExtra(CalendarContract.Events.AVAILABILITY, CalendarContract.Events.AVAILABILITY_BUSY);
startActivity(intent);



Все работает вот только уведомление о событии выскакивает за 30 минут до самого события
Как программно указать что я хочу получать уведомление скажем за 1 минуту до события?

.putExtra(CalendarContract.Reminders.MINUTES, 1)

почему то не срабатывает
Android 8.1
Аноним 14/08/20 Птн 14:39:27 1777214132
Котаны, последнее время испытываю проблемы с градлевыми зависимостями.

Например: google-http-client-1.22.0, который нужен кому-то из инструментов сборки, резолвится в url jcenter.bintray.com/com/google/http-client/google-http-client/1.22.0/google-http-client-1.22.0.jar скачивается только из-под американских проксей, а напрямую d29vzk4ow07wi7.cloudfront.net бросает PR_IO_TIMEOUT_ERROR и хуй че сделаешь. И така хуйня постоянно.

Сижу с tele2 spb.

Было у кого подобное? Смог решить?
Аноним 14/08/20 Птн 16:56:50 1777413133
А есть ли солюшены для запуска андроид-приложений (.apk) на пк или вебе? И чтобы не сильно висло
Аноним 14/08/20 Птн 17:56:39 1777485134
Аноним 16/08/20 Вск 00:19:46 1778487135
>>1775430
Хромбуки поддерживают андроидстудио, если что.
Но это больше для энтузиастов, вдруг там что-то будет работать не так как ты хочешь и ты скажешь что я посоветовал хуйню, но лично я возьму ноут или трансформер на хром ос.
Но гугл рекомендует покупать хромбуки с ай5 процом и 8 гб озу для андроид студио. Но я думаю что и на более слабом железе вытянет.
Аноним 16/08/20 Вск 00:22:52 1778489136
>>1777413
Эмулятор в андроид студио с виртуализацией для быстродействия
Аноним 16/08/20 Вск 00:47:19 1778500137
>>1750676 (OP)
Как-то я завис на многопоточности. Все эти AsyncTask, Handler, Service я еще могу понять. Но в чем смысл корутин и RX ? Нужно ли их изучать и что лучше использовать?

Говорят, что RXJava на все случаи достаточно. Но некоторые говорят, что вообще чисто AsyncTask используют и все. Что вы используете в проектах для многопоточности?
Аноним 16/08/20 Вск 12:25:11 1778637138
>>1778500
сам перекатываюсь в ведроид и тоже в ахуе со всего, особенно с всяких джетпаков андроидкс и прочтих аппкомпат, но насколько я понял, корутины дял котлина, а rx- для джавы. Для себя решил, что надо всё изучать последовательно от джавы и её обвязки на андроиде до котлина с его фичами
Аноним 16/08/20 Вск 12:34:05 1778640139
ктонить в хуявей делал релиз?
Аноним 16/08/20 Вск 12:56:22 1778654140
>>1778640
я думал, но потом передумал. Они и так почти все ставят гугл сервисы через какую-то хуйню.
Аноним 16/08/20 Вск 13:29:51 1778667141
Привет. Я начинающий андроид-разработчик и моя мечта - работать на удаленке $10/h.

Заканчиваю гугловский Android Developer Nanodegree, до этого прошел Android Basics Nanodegree. Хочу сделать крутой проект, чтобы показать уважаемому барину-работодателю.

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

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

Какие могут быть проблемы? Ну или предложите другой интересный проект на несколько месяцев. Лично у меня была еще идея сделать современную борду, чисто для андроид-юзеров. Потому что смотришь на все эти макабы, вакабы, на сосач тот же - функционал и ui ужасно устаревшие, зумерам скоро будет нужно что-то поновее, иначе совсем все в ТикТок свалят.
Аноним 16/08/20 Вск 15:27:35 1778737142
>>1778637
Rx нужен в проектах с java или какими-то задачами, которые проще решить с помощью него или они лучше всего вписываются именно в rx-инфраструктуру больше вопрос гибкости, корутины для Котлина, но, опять же, иногда удобнее использовать rx, если он может покрыть потребности и позволить не тянуть лишние зависимости в проект, либо просто сделать его чище.
Аноним 16/08/20 Вск 20:09:06 1778934143
САП андроидач, вопрос такой, как мне запилить приложение калькулятор типа, что бы я мог считать вещи которые я постоянно считаю на работе на обычном калькуляторе, допустим короткие формулы типа pgh, ПR2H1 - ПR2H2, что бы не запоминать что от чего отнимать и на листке на записывать я хочу сделать себе хуйню на телефон, я это все делаю в екселе, но как перенести на свое ведро? Я мучаюсь, помогите пожалуйста, и еще я далбоёб, я постоянно забываю блокнот перед выходом, а на производстве считать приходится в цехе, и я как еблан запоминаю, и это очень долго все. А так бы я просто вписывал циферки и вылезало решение, только не посылайте нахуй, христом богом молю
Аноним 16/08/20 Вск 20:15:24 1778943144
кто пилит на флаттере?
Аноним 16/08/20 Вск 21:37:53 1778997145
>>1763090
>Коммерчески это все почти не используется
а что тогда?
Аноним 17/08/20 Пнд 18:44:53 1779738146
image.png 58Кб, 652x374
652x374
Аноны, findByViewId VS авто-импорт, кто что предпочитает?

Каждый раз когда надеюсь на авто-иморт у меня СТРАХ что оно повалится к хуям если контекст проебется, поясните где я долбоеб?
Аноним 17/08/20 Пнд 22:04:23 1779911147
>>1779738
View Binding для рефов без даты, либо Data Binding, если есть что биндить. Или же fvbi, но точно не синтетика.
Аноним 18/08/20 Втр 02:06:42 1780096148
Почем котлин затухает?
Аноним 18/08/20 Втр 02:11:40 1780097149
Аноним 18/08/20 Втр 02:49:12 1780107150
Аноним 18/08/20 Втр 09:57:50 1780209151
>>1780107
В тред Котлина, очевидно
Аноним 18/08/20 Втр 12:53:20 1780395152
>>1779911

>, но точно не синтетика.

почему?
Аноним 18/08/20 Втр 14:23:35 1780491153
>>1780395
Сравнительно частые миссы, которые не всегда фиксятся ребилдом.
Аноним 18/08/20 Втр 17:08:06 1780612154
>>1779738
View Binding сейчас стандарт, нул сейфти легкость использования и вообще даже нож для масла в честь его селфдиприкейтнулся.
Аноним 19/08/20 Срд 17:57:30 1781977155
image.png 50Кб, 1200x345
1200x345
image.png 101Кб, 800x400
800x400
Аноны, а есть ли альтернативный годный плагин для студии для дебага SQLite - чтобы можно было запросы писать, схему дрочить, етц?

Пробовал stetcho и дебажить с помощью браузера, но там как-то люто неудобно писать запросы.

Посмотрел на sqlscout, выглядит огонь, но 50$ за лицензию ЖАБА ДУШИТ, учитывая что прожект non-profit.

Может я чото упускаю
Аноним 19/08/20 Срд 19:09:33 1782075156
>>1781977
Нативный AS дебаггер в 4.1
Аноним 19/08/20 Срд 22:52:24 1782196157
>>1781977
Почему ты просто не откроешь интерпретатор который с sqlite-tools идет в консольке? Там все есть.
Аноним 20/08/20 Чтв 10:35:36 1782441158
image.png 126Кб, 226x223
226x223
>>1782196

Нихуя не понял, ты имеешь ввиду качать sqlite'овый файл и отркывать его в любом гуевом вьювере?

Так и делаю, по сути, но это неудобно, т.к. приходится качать фаел с девайса/виртуалки
Аноним 21/08/20 Птн 16:14:10 1784100159
>>1782441
Подними какой-нибудь samba и используй его для хранения - и с компа и с мобилы доступ тогда будет, а дальше в чем хочешь работай с ней.
Аноним 22/08/20 Суб 11:39:18 1784729160
>>1750676 (OP)
Есть задача - отслеживать все нотификации в бекграунде. Есть NotificationListenerService. На чем его запускать? Стандартный Service или же WorkManager?
Аноним 22/08/20 Суб 14:58:16 1784864161
У меня в приложении есть recyclerView, в нём 350 элементов. Если посмотреть на выделение памяти элементов, то при создании его, не будет выходить за пределы даже 5 МБ,однако сам Fragment, на котором лежит RecyclerView загружается почти половину секунды. Пробовал в тред это закидывать, но RecyclerView же не может в бэкграунде ui переделывать. Чё делать чтобы грузилось быстрее?
Аноним 22/08/20 Суб 18:12:35 1784996162
Аноним 22/08/20 Суб 18:14:47 1784998163
Еу программисты, как сделать экран блокировки для андроид? Я гуглил, а там для рукожопов только как включить его в настройках.
Аноним 22/08/20 Суб 18:18:34 1785000164
>>1784864
Откуда приходят данные? Как ты их дёргаешь?
Аноним 22/08/20 Суб 18:39:04 1785010165
>>1784998
Через интент фильтры лока экрана и бродкастрисиверы
Intent.ACTION_SCREEN_ON
Intent.ACTION_SCREEN_OFF
Intent.ACTION_USER_PRESENT

и флаги типа WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED:
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD

Аноним 23/08/20 Вск 00:45:01 1785187166
>>1782441
Сделай грэлд таск на adb pull файла бд
Аноним 23/08/20 Вск 13:31:34 1785443167
>>1784996
О, класс. Стояла анимация перехода от одного фрагмента к другому, раньше из-за полсекундного лага её не было видно,хотя полсекундный лаг и остался, но зато теперь анимация видна, так что теперь этовыглядит нормально, спасибо
>>1785000
Данные из SQLite в массив грузятся,но это происходит быстро, там проблема именно с отрисовкой RecyclerView была, но тот человек уже скинул инфу, так что в принципе всё в порядке уже


Аноним 24/08/20 Пнд 22:54:01 1787063168
>>1750721
Страховка от бана аккаунта
Аноним 26/08/20 Срд 08:43:51 1788330169
Сколько уйдет времени на изучение ведра, чтобы можно было пойти устраиваться ждуном при условии, что имеются базовые университетские знания (кресты, высшая математика, алгоритмы и все такое)?
Аноним 26/08/20 Срд 09:00:55 1788336170
>>1788330
Тебе лет 10 и то шансы на вкат у тебя малы, ведь ты спрашиваешь полную хуйню.
Аноним 26/08/20 Срд 09:06:55 1788341171
Аноним 26/08/20 Срд 14:09:17 1788663172
>>1788330

> Сколько уйдет времени на изучение ведра, чтобы можно было пойти устраиваться ждуном при условии, что имеются базовые университетские знания (кресты, высшая математика, алгоритмы и все такое)?

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

Есть разве что ниша в лице УЕ4 (10% от рынка геймдева, остальное - юнити), но там в связи с последними скандалами от эпик геймс похоже всё тухло.

Аноним 27/08/20 Чтв 00:43:23 1789215173
>>1755587
Такое случается если делать всякие if и прочее дерьмо. Ресайклервью работает нормально только если он все данные получает со списка. Хотя там есть некоторые ухищрения, чтобы сделать например expandable вью холдер, чтоб его нажал и показало больше данные в нем, например. И для этого есть гайдлайн гугл, погугли. Они делают через setActive и прочую дичь.

Кароче, чтоб работало норм - никаких if и все данные обезательно переназначать в каждом вьюхолдере. Хотя бы if else, чтобы засетать как null или как-то так.
Аноним 27/08/20 Чтв 00:50:29 1789218174
>>1778500
Писос, сначала пойми для чего все это нужно, понимание придет. Советую вообще забыть что такое асинктаски и лоадеры, корутины наше фсе, реактивщина - флоу, в пизду РхЖабу.
Аноним 27/08/20 Чтв 01:13:06 1789224175
Аноним 27/08/20 Чтв 03:18:21 1789255176
>>1789218
>в пизду РхЖабу
Зря. Это наиболее близкая к идеальной реализация реактивного подхода, которая избавляет от костылей во многих случаях читай: имеет больше юзкейсов + способствует пониманию концепции как таковой. В настоящее время она выигрывает, а там как покажут релизы. надеюсь, что скоро
Аноним 27/08/20 Чтв 06:06:52 1789288177
>>1788663
Спасибо, я в курсе. Сколько у тебя времени ушло на вкат?
Аноним 27/08/20 Чтв 09:54:20 1789366178
>>1789288
да буквально пару недель
Аноним 27/08/20 Чтв 14:37:39 1789769179
furryboybypaper[...].png 135Кб, 400x487
400x487
>>1750676 (OP)
Пытаюсь собрать проект: https://github.com/MobiSciLab/Baresip-DemoAudioCall
Получаю ошибку:

2020-08-27 13:41:59,434 [ 45390] WARN - e.project.sync.GradleSyncState - Gradle sync failed: Collection contains no element matching the predicate.

Подробностей больше нет. Что это может быть?

Аноним 27/08/20 Чтв 20:03:51 1790229180
Сап. Околоджун на андроиде. Эмуляторы во время разработки нормально юзать или без настоящих девайсов не обойтись? Если говорить о профессиональной разработке
Аноним 27/08/20 Чтв 20:48:30 1790260181
>>1790229
Да, но лучше тестить на девайсе. нескольких, если говорить о профессиональной разработке
Аноним 29/08/20 Суб 13:23:56 1791812182
>>1789255
есть гайд по переходу с риксжабы на корутины?
Аноним 29/08/20 Суб 14:59:20 1791869183
>>1790229
Хуево неудобно нужен девайс сталин-3000. Для разработки очка пойдет б/у девайс
Аноним 29/08/20 Суб 15:02:18 1791872184
>>1791869
Конечно ниже 4 ондроед не бери и то только за копейки
Аноним 29/08/20 Суб 16:23:45 1791911185
>>1791812
на медиуме почитай, там есть гайды по миграции
Аноним 29/08/20 Суб 16:55:41 1791942186
>>1791911
а есть профиты в переходе? кроме того, что модно молодежно
разве корутины могут полностью заменить рх с их операторами (фильтрами, таймерами, мапами и проч проч)
Аноним 29/08/20 Суб 18:36:28 1792037187
>>1791942
Флоу может заменить большую часть функционала, но не весь, как я уже писал ранее. Ты получишь функционал, который проще внедрять, но не будешь уверен в том, будет ли он достаточен.
такова текущая картина для средне-сложных проектов С rx таких проблем не возникнет. Профиты ты получишь только в том случае, если он на 100% покрывает твои задачи в контексте сложности и ты уверен в том, что не придется ломать ноги. Если нет, лучше использовать rx.
Аноним 29/08/20 Суб 23:46:45 1792255188
Аноним 30/08/20 Вск 14:24:11 1792636189
как вы шапку то проебали нахуй...
вот мне гайд по вкатыванию из пхп макаки нужен, че терь делать то а
Аноним 30/08/20 Вск 14:32:37 1792645190
>>1792636
Вот тебе гайд;
Читаешь оф доки
Делаешь тудушку
Аноним 30/08/20 Вск 17:10:10 1792809191
Приветствую
Я уже разбираюсь в теории андроид разработки, знаю всякие полезные библиотеки современные по типу RecyclerView, Retrofit и тд. Теперь следующим этапом хочу начать уже собственно разрабатывать. Как и куда податься? Какие сайты фриланса лучше выбирать именно под тему андроид разработки? Может быть какие советы дадите еще. Буду крайне признателен.
Аноним 30/08/20 Вск 21:22:39 1793040192
>>1792809
Нихуясе. А ты с яйцами. Выучил как делать базовый адаптер для RecyclerView и готов уже с Кумарами по $5 тягаться. Мне бы так.
Аноним 30/08/20 Вск 22:42:46 1793083193
>>1792809
> Может быть какие советы дадите еще
Делать свои проги, а не для дяди.
Аноним 01/09/20 Втр 17:03:56 1794945194
>>1793083
Ну и сколько ты на этом заработал, швабодный?
Аноним 01/09/20 Втр 22:34:02 1795131195
>>1794945
в августе всего 20к $
Аноним 02/09/20 Срд 04:38:43 1795211196
Стикер 255Кб, 484x512
484x512
Аноним 02/09/20 Срд 11:15:58 1795315197
2020-09-0211-15[...].png 7Кб, 644x459
644x459
Аноним 02/09/20 Срд 12:24:01 1795350198
>>1795315
все мы умеем дивы изменять.

Видео показывай, с обновлением страницы.
Аноним 02/09/20 Срд 12:41:17 1795362199
>>1795315
Ну нихуя. Сорри что не верил.
Игоры делаешь?
Аноним 02/09/20 Срд 13:17:06 1795385200
В анроидах 8.0+ выпилили старый конструктор метода requestFocusAudio(...) (который принимал листнер, стримТайм и durationHint, ну вы поняли) и вместо него теперь в конструктор посылается всего один объект AudioFocusRequest.
Я правильно понимаю, что если у меня minimum SDK стоит ниже 26, то по-хорошему для воспроизведения аудио в моей приложухе я должен реализовать сразу два метода: один для старых андроидов, другой для новых? И пометить каждый аннотацией, для новых или старых сдк оно создано? Или че вообще делать?
Спс
Аноним 02/09/20 Срд 13:20:05 1795388201
>>1795385
requestAudioFocus и стримТайп*, конечно
фикс
Аноним 02/09/20 Срд 15:30:55 1795479202
Аноним 03/09/20 Чтв 06:14:58 1795889203
Хуй знает куда писать, спрошу тут, только не стукайте.
Есть рабочий apk, который как я понимаю работает с конкретными ссылками, грубо говоря берет с определенных 3rd party источников инфу и выдает тебе.
Вопрос, можно ли каким-то образом сделать декомпайл? разобрать приложение и поменять ссылки на свои, из которых оно берет информацию и скомпилировать по новой имя только apk файл?
Аноним 03/09/20 Чтв 10:24:17 1795999204
Аноним 03/09/20 Чтв 22:01:00 1796762205
Аноним 04/09/20 Птн 08:11:15 1796966206
>>1795385
if (Build.VERSION.SDK_INT > 26) {
...
} else {
...
}
Аноним 04/09/20 Птн 17:46:15 1797391207
>>1796966
А покруче никак нельзя?
Аноним 04/09/20 Птн 18:10:38 1797411208
Привет двач. Я не особо ярый пользователь андроид студии, поэтому мб слегка даунский вопрос.
Вообщем, есть файл (.pb). И есть либа (OpenCV), которая знает что с ним делать. Есть метод
Net model = Dnn.readNetFromTensorflow(String modelFile);
И там нужно выбрать каким-то неведомым мне образом в параметр путь к этому файлу. И у меня вопрос. Куда положить в проект этот файл, что бы он был в апкшнике, и как прописывать путь к нему?
Аноним 04/09/20 Птн 18:54:30 1797440209
>>1797391
Можешь создать утилитку для проверки.
fun checkSdk(version: Int) = Build.VERSION.SDK_INT > version

var a = if (checkSdk(26)) 0 else 1
Аноним 04/09/20 Птн 19:22:36 1797451210
Вы лучше скажите как вы свои говноприложения пиарите
Аноним 04/09/20 Птн 19:49:11 1797460211
йоу, не могу сделать обычный fetch запрос к публичному апи, он прост не выполняется в эмуляторе, ошибок никакхи нет, такое чувство будто android emulator блокирует все интернет запросы в main/AndroidManifest.xml есть <uses-permission android:name="android.permission.INTERNET" />

что я делаю не так?
Аноним 04/09/20 Птн 20:11:22 1797483212
>>1797460
Как ты билдишь его?
Аноним 04/09/20 Птн 20:12:45 1797486213
Аноним 04/09/20 Птн 20:23:42 1797492214
Аноним 04/09/20 Птн 20:26:57 1797494215
>>1797486
Действительно годно, оценил
Аноним 04/09/20 Птн 20:56:50 1797567216
>>1797492
>>1797494
Что не так? react native треда нет, вот тут и спросил
Аноним 04/09/20 Птн 22:12:46 1797611217
>>1797567
Дідько, ну почему в твою смышленую и светлую голову не прошло еще понимание того что описание проблемы равно пропорционально шансам что тебе кто нибудь да и поможет.
Аноним 04/09/20 Птн 22:18:07 1797619218
>>1791942
Есть и не мало, вот возьми и погугли. Практически весь функционал с рхЖавы существует, но неосиляторы и старые пердуны которые нихуя не хотят учить хрюкают что бы не напрягаться.
Аноним 07/09/20 Пнд 12:39:14 1799401219
>>1794945
200-500 баксов в месяц от оче популярной проги 2к закачек в день. Игры не делаю.
200 баксов сча получаю, во время коронавируса. Мне кажется пенсионеры в Украине больше получают))0
Хорошо что живу в доме родаков и трачусь тока на еду немного.

Прланирую вкатиться в игры.

Все зависит от удачи и от необходимости продукта, внимания в деталям, красоты и тд. .. .. попробовать стоит, кароче.
Аноним 07/09/20 Пнд 13:13:23 1799428220
Андройд
Аноним 07/09/20 Пнд 13:14:47 1799430221
>>1799428
Как я вас затролел, а?
Аноним 07/09/20 Пнд 13:40:58 1799449222
ФУКСИЯ БЛИЗКО
>>1799430
Вот как надо
Аноним 07/09/20 Пнд 13:49:16 1799456223
Аноним 07/09/20 Пнд 14:09:33 1799484224
Как называется подвид Master Detail Flow, при котором элемент списка, чтобы показать детали, просто расширяется, оставаясь на том же месте? Не могу нагуглить как это правильно делать
Спс
Аноним 07/09/20 Пнд 19:21:33 1799745225
>>1799484
скорее всего ты имеешь ввиду transission между скринами
Аноним 08/09/20 Втр 07:48:10 1800200226
/
Аноним 08/09/20 Втр 16:02:47 1800788227
Учу джавакор какое-то время на изичах. Месяца через 2 добью учебник.
Думаю поучить дальше андроид. Вопросики:
1. С чего начать изучение на джаве? Тут раньше вроде кидали на какой-то сайт англоязычный.
2. Под новые андроиды тоже на джаве можно писать? Для начала учебы не хотелось бы вообще лезть в котлин.
3. Какая версия джавы нужна(разные сдк разные версии джавы ведь поддерживают)? Джавы 8 нигде нет без десахаризации? Думаю минапи - 23.
4. У меня сейчас древнее устройство на 6-ке. Думаю купить еще бюджетку на 10ке. Норм будет такие два устройства, чтобы смотреть, как работает?
Аноним 08/09/20 Втр 19:57:02 1801044228
>>1800788
1) С туториалов
2) Можно
3) 6 - дефолт, 8 - подруб под новые фичи
4) Вполне
Аноним 08/09/20 Втр 22:12:14 1801148229
>>1801044
>1) С туториалов
>3) 6 - дефолт, 8 - подруб под новые фичи
Можешь раскрыть немного поподробнее? Какие конкретно туториалы и ситуация с версиями джавы.
По джаве месяца полтора убил на перебор учебников/видеокурсов/текстовых туториалов, чтобы мне хоть немного заходило.
Аноним 08/09/20 Втр 22:36:26 1801179230
Уметь с нуля писать master detail flow - это хороший левел для джуна?
Аноним 08/09/20 Втр 23:49:16 1801255231
>>1801148
>Какие конкретно туториалы
Какие зайдут, тут уж пробуй. Можешь посмотреть курсы, либо прочесть книгу, можешь последовательно изучать доку и проходить гугловские туторы. советую читать medium Любой из этих вариантов может дать тебе хороший результат.
>ситуация с версиями джавы
Не вижу смысла расписывать особенности версий, об этом много инфы. Ставь минапи 21 и пиши код - по ходу дела столкнешься с необходимостью добавить 1.8, чтобы реализовать те или иные фичи. к примеру, это необходимо фреймворкам с кодогенерацией с помощью аннотаций
Вообще, читай инфу по мере возникновения вопросов в написании кода, иначе ничего толкового не выйдет, если застрянешь на теории. я не знаю твой уровень владения программированием как таковым, поэтому даю новичковый совет
Аноним 09/09/20 Срд 01:16:36 1801284232
а как же главный совет ньюфагу?
Всегда открывай две студии, пока первая не упала, вторая будет запускаться
Аноним 09/09/20 Срд 01:17:35 1801286233
Есть ли смысл юзать findViewById, если есть няшный viewBinding?
Аноним 09/09/20 Срд 01:23:49 1801291234
Аноним 09/09/20 Срд 13:15:01 1801515235
>>1801286
Всегда юзаю файнбайайди. Новомодный вьюбайдинг не юзал ещё. Погуглил, что-то слишком сложно и заебисто. Буду юзать православный файд бай айди.
Аноним 09/09/20 Срд 16:43:45 1801722236
Кстати, как я понимаю findViewById(R.id.x) будет искать x прежде всего в лайаоте текущей активити, но если не найдет, то пойдет искать вообще во всех лайотах пакета. И иногда он так находит что-то совершенно из другого места
С viewBinding же сразу видишь, из какого лайота идет айдишник
Аноним 09/09/20 Срд 20:43:24 1802036237
Фрилансеры на месте? Пилите стори как начинали. Пиздец как стремно заказы брать
Аноним 09/09/20 Срд 20:50:45 1802053238
.png 1513Кб, 998x650
998x650
>>1801722
> findViewById(R.id.x) будет искать x прежде всего в лайаоте текущей активити, но если не найдет, то пойдет искать вообще во всех лайотах пакета
Аноним 09/09/20 Срд 22:38:22 1802166239
Аноним 10/09/20 Чтв 00:15:32 1802254240
>>1750676 (OP)
Как узнавать точные названия зависимостей для градла?
Например, мне нужно заимпортить CardView, а анроидстудио автоимпорта не предлагает (особенно если работаешь в .xml)
Аноним 10/09/20 Чтв 00:55:45 1802279241
Какие плюсы и минусы разработки под Android?
Как с рынком дела?
React Native или сайты адаптивные не убивают рынок нативных приложений?
Аноним 10/09/20 Чтв 02:04:09 1802312242
Че там в новом андроиде интересного, шарит кто-нибудь?
Аноним 10/09/20 Чтв 14:17:12 1802577243
>>1802279
Ну вот я беру андроид студио последнюю. создаю там проект выбираю меню навдрейер и все - больше ничего не делают
запускаю его в эмуляторе - а меню не работает
запускаю на планшете - а меню не работает

норма. это ж андроид разработка
Аноним 10/09/20 Чтв 19:20:47 1802901244
блять, хотел узнать как быстро вкатиться в андроид разработку на котлине, если уже хорошо шаришь в программировании, а у вас даже нормальной шапки нет, ну нахуй
Аноним 10/09/20 Чтв 21:07:59 1803041245
Поясните за синглактивити приложения
там же 1 активити и куча фрагментов
вопросы:
1 а как вьюмодели соотносятся к фрагментам? не делать же одну вьюмодель
2 а если мне внутри фрагмента нужны еще фрагменты допустм переключать как в основной активити основные фрагменты то тут как делается?
Аноним 10/09/20 Чтв 21:28:26 1803057246
>>1803041
1. во-первых ты путаешь понятия: вьюха и модель - разные вещи. модель вообще по-хорошему одна должна быть, которая полностью соответствует табличке в БД, но одной модели может соответствовать несколько бизнес-сущностей
2. слушай ну тут либо if + else, либо switch case, либо EventHandler (ну делегаты там и прочие штуки, по другому никак)
Аноним 10/09/20 Чтв 21:35:43 1803059247
>>1803057
1 это ты что то напутал. я говорью про ВЬЮмодели, те которые ViewModel. https://developer.android.com/topic/libraries/architecture/viewmodel
и их еще используют как средства шаринга данных между фрагментами и создаю я их в активити
модели и база данных вообще из другой области
2 Я не про это. есть 1 активити и там навигатионхост который и переключает фрагменты
вот боковое меню и контент тому пример. Но если мне точно так же нужно сделать чтобы уже фрагмент выступал как хост для подобного же переклчения
Аноним 11/09/20 Птн 00:03:19 1803195248
>>1803041
1) У каждого фрагмента должна быть собственная вьюмодель, которая реализует только те юзкейсы, за взаимодействие с которыми он отвечает. Это нужно, это правильно, это создаёт позитивные ограничения.
2) Никакого фрагмента внутри фрагмента быть не может. У тебя есть активити, которая является "энтри поинтом" и контейнером для фрагментов, которые друг друга заменяют, либо накладываются друг на друга(зависит от заданного поведения). Она может содержать логику управления общими UI-компонентами например, прогрессбаром или меню и фрагментами их жц и ограничениями, которые необходимы при работе с навхостом, всевозможные коллбэки или сессионные данные, которые необходимы для правильного поведения фрагментовбандл с маркером для навигации, например.
>>1803059
>и создаю я их в активити
Вот этого не понял. ViewModel должна быть отдельным классом/файлом
>Но если мне точно так же нужно сделать чтобы уже фрагмент выступал как хост
Навхост нужен для того, чтобы создать чёткую последовательность действий, которую пользователь не сможет нарушить и зайти "не туда". "Переключать" должна активити - navController должна видеть только она, но ты можешь вызывать её методы через интерфейс, методы которого она реализует.
Аноним 11/09/20 Птн 00:18:00 1803216249
Тут вообще есть люди, которые реально вкатились в какую-нибудь студию? Или чисто по фану свои говноприложения делаете?
Аноним 11/09/20 Птн 01:10:41 1803253250
>>1803195
А что по производительности? Смысл вообще бзать всего одну активити на всю приложуху?
Аноним 11/09/20 Птн 01:11:40 1803254251
>>1803195
2) ну вот стандартное навигатион дрейер приложение пустое. там одна активити с навхостом и несколько фрагментов страниц
ну вот мы открываем страницу - и внутри же нам нужно мудрить содержимое. А это фрагменты. В обычном приложении у нас есть активити и в нем мы юзаем фрагменты. А мы уже во фрагменте (который в навхосте)

1) кто создает вьюмодель для фрагмента? сам фрагмент?
>и создаю я их в активити
примеры в инете создают вьюмодели в активити и даже если лезут к ним в фрагменте, то снова
pageViewModel = ViewModelProviders.of(requireActivity()).get(PageViewModel.class);

3) и что будет если я захочу сделать подобие навхоста на уровень ниже
то есть мы имеем основную активити и навхост. навхост уводит нас во фрагмент страницы
а внутри страницы у нас слева список, который справа сменяет контент. Причем по тому же принципу что и навхост. Навхост больше неьлзя да? руками пилить обработчики переходов?
есть же какой то "Move to Nested Graph > New Graph". это что?
Аноним 11/09/20 Птн 01:12:35 1803258252
>>1803253
ну лично я задрался рисовать левое меню на каждой странице с активити
только так я смог подружить с датабиндингом
Аноним 11/09/20 Птн 02:58:25 1803300253
>>1803253
Всё нормально. Проблемы могут возникнуть в исключительных случаях, но такого рода ошибки очевидны и быстро фиксятся. Смысл юзать? Фрагменты гибче, активити становится своеобразным контроллером, куда можно вынести общую логику. Наибольшее удобство заключается в разделении presentation слоя на отдельные модули, архитектура выглядит стройнее.
>>1803254
>В обычном приложении у нас есть активити и в нем мы юзаем фрагменты. А мы уже во фрагменте (который в навхосте)
Вот во фрагменте мы и пишем код.
Представь, что каждый фрагмент - отдельная активити, которую ты запускаешь из одного класса, в котором содержится метод startActivity для каждой из них.
>кто создает вьюмодель для фрагмента? сам фрагмент?
Ты создаешь ViewModel для фрагмента, а затем получаешь реф во фрагменте. Тут нечего выдумывать.
>то есть мы имеем основную активити и навхост. навхост уводит нас во фрагмент страницы
а внутри страницы у нас слева список, который справа сменяет контент. Причем по тому же принципу что и навхост.
Проще всего задать правила, при которых список будет изменять поведение согласно состоянию и использовать отдельный граф.внутри того же навхоста, где может быть много графов, ведь он содержит инфу обо всей навигации, которая у тебя имеется
Аноним 11/09/20 Птн 03:54:48 1803307254
Почему андроид-тред такой дохлый и в рф мало вакансий на андроиде? Ведь андроид очень быстро развивающаяся платформа и по пользователям и по трафику.
Аноним 11/09/20 Птн 06:43:08 1803326255
>>1803307
>рф мало вакансий на андроиде

А каких много тогда?
Аноним 11/09/20 Птн 12:01:19 1803475256
>>1802036
взял 2 заказа у стремного филлипинца, декомпилял и хакал какое-то местное приложение для такси. Худший экпириентс, но 2 отзыва в карму
Получил 3й фикс заказ за 200 бачей ради отзыва у какого еврея. Перелопатил тонны говнокогда, постоянно делал правки, как он меня заебал, доделай еще то, и это. Чуть его уже нахуй не послал, но он раздобрился, и написал отзыв (на 4 вроде, пидор)
Потом мне повезло и схватил норм контракт на 20$ в час (тоже говнокод индусский, но мне заебись было), сидел несколько лет на нем. это было пиздец давно, потом все фриланс площадки скурвились
Аноним 11/09/20 Птн 12:02:39 1803476257
Блин я полный нуб в Андроиде, у меня приложение на РН. Когда билдаю аппку получаю Failed to transform lifecycle-common-java8-2.2.0.jar
Default interface methods are only supported starting with Android N (--min-api 24): void androidx.lifecycle.DefaultLifecycleObserver.onCreate
Мне надо что бы Sdk осталось каким есть, меньше 21, это реально вообще сделать?
Аноним 11/09/20 Птн 12:10:43 1803480258
лучший фреймворк для написания простых 2д игор?
Аноним 11/09/20 Птн 12:40:53 1803501259
>>1803300
>Ты создаешь ViewModel для фрагмента, а затем получаешь реф во фрагменте. Тут нечего выдумывать.
где создаю? не в активити же. Слово реф намекает что вьюмодель создана уровнем выше. А уровнем выше активити. И если она одна на все приложение то получаем вечноживущую активити, что неправильно.

>что каждый фрагмент - отдельная активити
если воспринимать фрагмент как активити в которой еще будут фрагменты, то тогда все нормально - если это правильный подход конечно (что я и выясняю)
Аноним 11/09/20 Птн 15:00:23 1803621260
>>1803501
>где создаю?
Создаешь класс NameViewModel, который экстендит ViewModel. Инжектишь его, а затем получаешь ссылку внутри фрагмента через nameViewModel by viewModels(), например. Это отдельный класс, который ты связываешь с фрагментом.
>Слово реф намекает что вьюмодель создана уровнем выше
Уровнем ниже, т.к. vm: 1) ничего не знает о фрагменте(и не имеет доступа к контексту, что является best practice), 2) реализует юзкейсы.
>если воспринимать фрагмент как активити в которой еще будут фрагменты
Есть видос с докладом о фрагментах на официальной конференциина канале AndroidDevelopers, попробуй посмотреть его.
Аноним 11/09/20 Птн 19:25:25 1803851261
Сеньеры, че делать, если мне в аппбаре одновременно нужен и navigation drawer, и кнопка "Back"?
Аноним 11/09/20 Птн 20:21:11 1803880262
Почему вы выбрали андройд а не айос? Если исключать отсутствие макбука. ГОворят зарплаты выше
Аноним 11/09/20 Птн 21:33:45 1803942263
>>1803216
Есть. В аутсорс.
Пошел на собес будучи штудентом. Прошел. Принял оффер. Вот уже 3.5 года полет ОК.
Аноним 11/09/20 Птн 21:36:28 1803944264
>>1803880
Та хз, так получилось. Изначально думал в жову штырьпрайз идти. Но как-то довелось попробовать писать под Ондроед - оказалось, ничего так. Так и пошло-поехало.
Аноним 11/09/20 Птн 21:42:04 1803947265
>>1802279
> минусы разработки под Android
разработка под Android))))))))))))))))))))) ололо
> рынком
Ну, судя по рынку вакансий ин Юкрэйн, неплохо, весьма неплохо. Да, и сорока напела, что хорошо все с проектами сейчас.
> React Native или сайты адаптивные
Нээээ, ты шо. Не убивают. Пока это остается нишей несмотря на то, что большинство приложений смузятина ебаная это, по сути, тонкие клиенты. Кстати, за все эти реакт нэйтив слышал не очень лестные отзывы, на самом деле - поговаривают, раз на раз да глюк херовый вылезет.
Аноним 11/09/20 Птн 21:43:45 1803949266
>>1797451
niqaque, пускай клиенты пиарят
Аноним 11/09/20 Птн 22:42:08 1803998267
Собираюсь потратить кровные 1800 рублей на разрешение заливать свое говно в гугол, подводные?
Аноним 12/09/20 Суб 01:03:51 1804081268
В приложухе есть 5 длинных статей и требуется добавить возможность прослушать их
Ясно, что озвучивать никто ниче не собирается и придется юзать бота
Преобразование текста в речь лучше сделать в рантайме или просто тупо сэкономить ресы проца и залить заранее готовые raw для каждой статьи? спс
Аноним 12/09/20 Суб 01:05:39 1804084269
>>1804081
Фикс, там 50 статей, не 5
Аноним 12/09/20 Суб 11:33:42 1804271270
>>1803880
Изначально выбор был ограничен тем что мне предложил братишка и тем, что был только Windows ПК. На этом этапе знания про iOS разработку были на уровне пары статей из интернета. Затем пока готовился к вкату, работая на другой работе накопил на Macbook Air 2015 и даже тогда не посмотрел в сторону iOS разработки. А потом когда устроился на первую работу Android-разрабом, то там вообще как-то не до изучения новой платформы было.
Зарплаты там и правда выше по сравнению Android, потому что специалистов гораздо меньше на рынке труда, а толковых тем более.
Аноним 12/09/20 Суб 11:35:26 1804273271
>>1804081
Хранить локально все эти статьи не очень хорошо, потому-что твое приложение будет весить необоснованно дохуя. Сейчас есть технологии которые могут тебе позволить все сделать в рантайме.
Аноним 12/09/20 Суб 13:24:54 1804340272
>>1804273
А может просто из интернета их выкачивать при необходимости? Я думаю это будет оптимально
Аноним 12/09/20 Суб 13:52:11 1804358273
>>1804340
Да, как вариант. Но тут уже нужно заморачиваться с воспроизведением аудио по ссылке.
Аноним 12/09/20 Суб 17:22:29 1804485274
Сап
Есть спиннер на вьюхе, значение для которого пользователь обязан выбрать. Если ниче не выбрано - вывести предупреждение
Я правильно понимаю, что предупреждение нужно выводить с помощью каллбэка спиннера OnNothingSelected? Спс
Аноним 12/09/20 Суб 20:27:15 1804658275
Вопрос оче легкий, прошу помочь, прям оче важно
Короче, есть активити. Она запускает новую активити по прошествии некоторого времени, при этом новая активити должна получить некоторые данные с нашей первой активити
Как лучше передать эти данные?
1. Через putExtra или
2. Сделать поля с данными первой активити статическими и считать их содержимое уже в новой активити
Плз. Спасибо!
Аноним 12/09/20 Суб 22:05:33 1804760276
>>1804658
При открытии второго активити у тебя данные уже доступны в первом активити?
Аноним 12/09/20 Суб 22:06:27 1804762277
Аноним 12/09/20 Суб 22:12:47 1804768278
>>1804760
Да, первая активити уже не нужна становится
Аноним 12/09/20 Суб 22:21:01 1804773279
>>1804768
Можно в intent которым ты открываешь вторую активити из первой, положить нужные данные в Bundle, во втором активити эти данные получить.
Либо sharedViewModel, но если данные какие-нибудь примитивы, тогда проще первый вариант использовать.
Еще можно создать singleton репозиторий и к нему обращаться из любого места в приложении, но боюсь не осилишь этот вариант.
Аноним 12/09/20 Суб 23:26:07 1804817280
>>1804773
Спасибо, буду юзать Bundle

Кстати, а как бы сделал сеньор?
Аноним 12/09/20 Суб 23:55:14 1804847281
>>1804658
Никаких статических полей, только бандл.
>>1804773
>singleton репозиторий и к нему обращаться из любого места в приложении
Если тебе нужен репозиторий, чтобы передать данные из одной активити в другую, значит ты уже сделал что-то не так. перемудрил
>>1804817
>как бы сделал сеньор?
Делал бы всё в одной активити
юзал бы бандл
Аноним 13/09/20 Вск 13:57:06 1805153282
3b71272ac21b4f9[...].jpg 73Кб, 900x880
900x880
Подскажите, а нормально для управления состоянием UI использовать такой подход внутри ViewModel?

private MutableLiveData<UIState> uiStateLiveData = new MutableLiveData<>();
private UIState uistate = new UIState();

private void someLogic(){
uistate.show_progress_bar = true;
uistate.button_exit_enabled = false;
uiStateLiveData.postValue(uistate);
}
Аноним 13/09/20 Вск 13:59:13 1805156283
Снимок.PNG 7Кб, 610x137
610x137
Аноним 13/09/20 Вск 15:40:39 1805253284
Здарова, мужики. Есть тут кто зарабатывает на андройд приложухах? Как вообще сейчас на этом рынке дела? Помню в 12 году анон платил по сотке баксов за одну только идею игры/приложения под андройд.
Аноним 13/09/20 Вск 15:48:35 1805259285
Аноним 13/09/20 Вск 15:52:29 1805266286
unkw.png 13Кб, 679x119
679x119
Аноним 13/09/20 Вск 17:56:16 1805370287
Лол, а что, Navigation Drawer позволяет юзать только фрагменты в качестве назначений?
Аноним 13/09/20 Вск 18:03:03 1805382288
Аноним 13/09/20 Вск 18:47:59 1805448289
>>1805156
Как по мне тут излишне держать глобальную переменную для модели. Если ты так делаешь, то скорее всего у тебя поля в модели изменяемые.
Аноним 13/09/20 Вск 20:25:52 1805557290
>>1805448
Тогда придется на каждый чих заводить свой observer
Аноним 13/09/20 Вск 21:40:10 1805640291
>>1805557
Зачем? У тебя итак состояние модели хранится в LiveData обертке.
Аноним 13/09/20 Вск 21:59:01 1805659292
>>1805153
Нет. ViewModel не должна вообще чем-либо управлять, тем более UI, она может только провайдить что-то. Ты можешь создать LiveData и засовывать туда что-либо, а затем изменять состояние внутри активити/фрагмента, исходя из тех данных, которые туда приходят, либо их наличия как такового, но все методы, которые влияют на состояние, либо объекты, которые содержат в себе информацию о нём, должны быть созданы в a/f.
Аноним 14/09/20 Пнд 09:09:39 1805854293
>>1805659
Тогда какой толк от ViewModel, если там нельзя разместить всю логику?
Где её тогда размещать и как тестировать?
Мне нужно отобразить 3 снекбара и 1 диалог, в зависимости от настроек системы.
Аноним 14/09/20 Пнд 09:11:52 1805858294
>>1805640
>>1805448
Как тогда вызвать обсервер, когда изменю поле ui_state.show_progressbar = true?
Аноним 14/09/20 Пнд 09:58:29 1805895295
>>1805854
Читай про Clean Architecture
Аноним 14/09/20 Пнд 10:53:39 1805931296
>>1805854
>Тогда какой толк от ViewModel, если там нельзя разместить всю логику?
Уже отвечал, что там можно размещать только данные, в т.ч. и о состоянии. Почитай о шаблонах и компонентах
>где размещать
В активити
>как тестировать
Отдельно тестировать UI и VM
>Мне нужно отобразить 3 снекбара и 1 диалог, в зависимости от настроек системы
В singleactivity это пишется в активити. VM может хранить данные о состоянии, т.к. находится в presentation слое, но не может содержать логику управления.
Аноним 14/09/20 Пнд 10:56:12 1805934297
image.png 136Кб, 300x300
300x300
>>1750676 (OP)
Привет, анонимы. Есть вопрос. Знает ли тут кто-нибудь как сильно ебёт модерация Гугла при опубликовании приложения в Google Play? Проверяют ли они по какой лицензии распространяются картинки, используемые в приложении или в каком стиле оформлен дизайн приложения? Можете обрисовать подводные камни при публикации, если не сложно? Был бы очень признателен :3
Аноним 14/09/20 Пнд 12:08:12 1806011298
как вы боретесь с засильем xml в res/layout? там же невозможно ориентироваться.
Аноним 14/09/20 Пнд 14:46:22 1806139299
>>1805931
Всю логику внутри View?
А если View слишком большой?
Аноним 14/09/20 Пнд 14:54:08 1806147300
>>1806011
Создают же рядом layout файлы и потом include их в основной.

>>1805854
В Entities бизнес логика
В UseCases логика приложения.

Но если экран маленький то и во вью модели офк делать можно.

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

>>1803880
На начальном этапе. Потом одинаковы, как и у всех. Я накопил денег а потом в айос перебежал. Здесь лайтовей, приятней, без костылей. Без вот этих
>>1795385
>В анроидах 8.0+ выпилили старый конструктор метода requestFocusAudio(...)
>minimum SDK стоит ниже 26,

мимоиосник. вспомнил молодость.


Аноним 14/09/20 Пнд 14:57:24 1806153301
>>1806147
>Создают же рядом layout файлы и потом include их в основной.
я как раз про количество файлов. там же одноуровневый список файлов разметки.
Аноним 14/09/20 Пнд 15:26:24 1806194302
А если юзать Navigation Components, то там есть специальный аргумент для передачи данных с одного экрана на другой. Правда придется юзать всего одно активити на всю приложуху

>>1804658-кун
Аноним 14/09/20 Пнд 16:27:08 1806281303
Я правильно понимаю, что по рекомендациям гугла ЛЮБАЯ приложуха должна юзать navigation component?
Аноним 14/09/20 Пнд 16:28:08 1806285304
Cука, гавна неудобная. Как эту ебаную рекламу встраивать
Аноним 14/09/20 Пнд 16:32:47 1806292305
>>1806281
> рекомендациям гугла
буэ

>>1806147
> без костылей. Без вот этих
> if #available(iOS 9, *) {}
А с такими?
Аноним 14/09/20 Пнд 18:04:41 1806386306
>>1806139
>внутри View
Внутри активити. активити - не вью
Активити не должна быть слишком большой god object'ом с таким подходом, потому что ты создаешь и переиспользуешь все необходимые компоненты, которые тебе нужны(всевозможные бары и менюшки). Реализацию она содержит только в том случае, если её невозможно запилить в другом месте во фрагменте. Всю остальную юайную логику, которую ты можешь реализовать "на месте"во фрагменте, ты пилишь именно там. Любая реализация должна быть уместна, тогда не будет никаких проблем.
Аноним 14/09/20 Пнд 23:03:24 1806737307
Раз шапки нет - вопрос.
С чего, собственно начать? Писал что-то буквально 15-20 лет назад последний раз и то на ассемблере, паскале и т.п. так что нулевой в общем.
Что читать, куда смотреть, за что хвататься? Цель довольно прозаична - нужны бывают приложения которых нет, простые довольно (калькулятор по техкартам, калькулятор растворов, расчет параметров продукта по температуре времени процесса и т.п.), мелочи, которые чуть ли не в бейсике можно реализовать в принципе, но нужно в телефоне и удобно, потому что для тупых. В перспективе, конечно, хотелось бы все калькуляторы вместе свести, техкарты сделать интерактивные и т.п. Но пока хотя бы азы.
Аноним 14/09/20 Пнд 23:06:32 1806739308
>>1806737
Java, сайт StartAndroid - чтобы быстро начать делать хоть что-то(для твоих целей сойдет, судя по всему)
Более серьезно - лучше найди шапку старых тредов
Аноним 15/09/20 Втр 01:18:19 1806893309
>>1806739
>Java,
А вы садист однако
Аноним 15/09/20 Втр 09:53:28 1807024310
>>1806893
Котлин требует знания JDK поскольку сам обладает довольно скудной стдлибой.
Аноним 15/09/20 Втр 11:47:38 1807102311
>>1806737
>>1806739
Двачую, можно вообще ограничиться Java, если хочется иногда пилить приложения для себя. Она даст тебе возможность "просто сделать то, что будет работать". Котлин больше для проданшна, так как экономит приличное количество времени.
Аноним 15/09/20 Втр 12:05:31 1807111312
Сап. Есть какая-нибудь вменяемая реализация Backdrop из Material Design? Спс
Аноним 15/09/20 Втр 14:15:24 1807193313
>>1806147
>В Entities бизнес логика
>В UseCases логика приложения.
Такой воды полно везде. Говори конкретно.
Clean architecture читал - вода водой, очевидные вещи.
Единственное что полезно из этой дискуссии:
- viewmodel только для сохранения состояния
- вся логика текущего экрана внутри fragment/activity
Аноним 15/09/20 Втр 14:29:08 1807203314
Здравствуйте, хочу делать свои приложения для андройд пока на определенную тематику.

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

Я так понел, сразу в Котлин вкатываться и пропустить яву?

мимо всю жизнь кое что делал на питоне
Аноним 15/09/20 Втр 14:39:55 1807218315
>>1807203
>Я так понел, сразу в Котлин вкатываться и пропустить яву?
да. жава выучится в ходе гугления "а как сделать это".

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

лишь бы от котлина не тошнило
и от андроида )
Аноним 15/09/20 Втр 14:49:36 1807236316
>>1807218


Ну в следующие 10 лет андройд юзеров будет более 5 миллиардов, так, что я думаю найти себя в области с наибольшим количеством юзеров так сказать.


>сразу aac (навигация, биндинг, вьюмодели, обсервабле бла бла)

Гугл выдает непонятное про кодеки, можно транслейт

https://kotlinlang.org/

Вообще меня тут обучат так я понел? и нужно ли делать приложухи вместе с индусами с ютуба для оптимального обучения?
Аноним 15/09/20 Втр 15:05:43 1807256317
>>1807236
aac- Android Architecture Components
это они посидели подумали и наконец выдали что-то удобоваримое. И стало сильно лучше.

>Вообще меня тут обучат так я понел?
в шапке есть ссылка котлин для питонистов. почитай ужаснись

Аноним 15/09/20 Втр 15:06:05 1807257318
>>1807236
>Вообще меня тут обучат так я понел?
упс. в шапке темы про котлин )
Аноним 15/09/20 Втр 16:24:05 1807335319
Ребята, есть ли в андройде ремоут? Можно ли с нуля джава мидлу вкатиться и получить работу в приземленные сроки, ибо в моей мухосрани андройдом даже не пахнет?
Аноним 15/09/20 Втр 17:09:14 1807378320
Аноним 15/09/20 Втр 17:37:24 1807416321
>>1807378
меня да

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

меня в итоге выбесило и я ушел на хамарин с его каким никаким, но xaml
Аноним 15/09/20 Втр 18:39:53 1807461322
>>1807416
На Котлине синглтон делается за бОльшее кол-во строк кода, чем в джаве.
Аноним 15/09/20 Втр 18:53:58 1807467323
>>1807461
не больше
но куда более эзотерически
Аноним 16/09/20 Срд 15:58:06 1808176324
Если я юзаю viewBinding, нужно ли объявлять приватные поля с вьюхами для класса активити (private TextView mTextView и т.д.)? Или будет норм напрямую к вьюшкам обращаться через binding.myTextView? Спс
Аноним 16/09/20 Срд 16:51:44 1808237325
>>1808176
Лучше объявлять, так чище и понятнее
Аноним 16/09/20 Срд 18:31:00 1808371326
32bb3ad41f40a66[...].jpg 22Кб, 222x300
222x300
>>1750676 (OP)
Сюп. Не знаю, туда ли зашел, но может сориентируете? Сколько примерно стоит разработка приложения по моему ТЗ? Приложение, допустим, нечто вроде простого агрегатора такси: карта города, на ней видны водилы/пассажиры, прикручена оплата. Описал просто примерно для оценки, на самом деле суть приложения будет другая. Профессиональная разработка не нужна, нужна просто заглушка в гугл-плэй для теста ниши, сойдет любой говнокод, лишь бы хоть как-то работал. Сколько за такое просить и где вообще искать разрабов?
Аноним 16/09/20 Срд 20:21:31 1808463327
>>1808371
>Сколько за такое просить
лучше предлагать.
Аноним 16/09/20 Срд 20:25:02 1808468328
Как забиндить MutableLiveData<Long> на TextView android:text

не может найти сеттер
пишу конвертер

@BindingConversion
fun convertNullableLongToString(value: Long?): String? {
return value?.toString()
}

работает, но подчеркнуто красным. мол в сеттер лезет MutableLiveData<Long>
Аноним 16/09/20 Срд 20:36:52 1808470329
работает, но в студии подчеркнуто красным. мол в сеттер лезет MutableLiveData<Long>
ну думаю может ему трансформацию. нужно
делаю трансформацию

@BindingConversion
fun convertMuttableLiveDataLongToString(liveData: MutableLiveData<Long>): LiveData<String> {
return Transformations.map(liveData) { uiii -> uiii.toString() }
}

(сука ебучий спам лист бестолковый)

красное подчеркивание исчезает и все работает.
Но удаляю первый конвертер convertNullableLongToString и он не собирается
"Cannot find a setter for \u003candroid.widget.TextView android:text\u003e that accepts parameter type \u0027androidx.lifecycle.MutableLiveData\u003cjava.lang.Long\u003e\u0027\n\nIf a binding adapter provides the setter"

да ну бред пит какой то. Как правильно то прописать?
Аноним 17/09/20 Чтв 18:09:35 1809222330
>>1808371
80 тр, делал такое и заказчика тоже здесь нашел.
Сроки 2 недели, дольше там нечем заниматься. При условии, что серверная часть готова.
Не возьмусь, дел много.
Аноним 18/09/20 Птн 16:50:26 1810042331
Аноны, есть ли возможность использовать firebase(db, storage) для десктопного клиента? (котлин/торнадо) Если нет, какой сервис посоветуете?
Аноним 18/09/20 Птн 17:16:59 1810084332
Часто заказчики просят заделать еще и виджет для приложухи?
Аноним 18/09/20 Птн 19:33:06 1810209333
>>1810084
Не часто. Ничего сложного.
Аноним 19/09/20 Суб 11:15:22 1810631334
androidx, сентябрь 2020

опять приходится писать костыли для EditTextPreference, потому что android:inputType="number" или android:inputType="numberDecimal" бесполезны ибо вылезает полная клавиатура, а также сохраняется в преференсес строка, а не Int

Это я какую то доку не прочитал или все так и осталось как и было раньше через жопу?
Аноним 19/09/20 Суб 22:33:28 1811148335
>>1810084
если ты с 2013 то часто
Аноним 21/09/20 Пнд 12:09:40 1812342336
Аноны, у меня приложение выкачивает музыку. Подскажите, куда ее складировать? В папку приложения, на съемную sd карту или на внутреннее хранилище?
Аноним 21/09/20 Пнд 12:28:12 1812358337
>>1812342
Если есть sd-карта - на неё, если нет - во внутреннее.
Аноним 21/09/20 Пнд 15:08:19 1812527338
>>1812358
а как sd карта относится к постоянной записи на нее файлов? Нет ли какой-либо деградации?
Аноним 21/09/20 Пнд 15:23:16 1812555339
>>1812527
лучше уж пусть она помрет чем внутренняя память телефона
Аноним 21/09/20 Пнд 16:06:10 1812603340
>>1812555
т.е. получается, что мне предпочтительней писать временные логи именно на sd?
Аноним 21/09/20 Пнд 16:30:17 1812632341
>>1812603
флеш память есть флешпамять. если ты ее мучаешь - она изнашивается
Аноним 21/09/20 Пнд 19:33:51 1812799342
>>1812632
А если читать? Как в Андроиде узнать какая память флеш, а какая внутренняя.
Аноним 21/09/20 Пнд 21:57:23 1812900343
image.png 128Кб, 630x335
630x335
Анон, имеющий богатой ебли с базами под андроидом, скажи, как тебе Android Room?

Я впервые разрабатываю приложение на андроид, где нужна база, и по старой бекендовской привычке решил что это должен быть СКУЭЛЬ и официально(с) рекомендуемая(с) ОРМ(или вроде того) от Гугла.

Однако я вдоволь наебался уже на данном этапе (имея порядка 15 таблиц) с сохранением связанных структур и ограничениями Room'а, который в целом смахивает не на ОРМ, а на тонкую прослойку-помощник.

Вопрос простой - есть ли у анона действительно приятный ОПЫТ работы с какими-либо еще ОРМ-ками? Возможно, более БОГАТЫМИ в плане функционала. Возможно не SQL, хоть и не желательно.
Аноним 22/09/20 Втр 00:14:52 1813000344
>>1812799
Сначала чекаешь возможность записи. Если её нет - просишь разрешение.
Затем чекаешь наличие sd-карты(secondary external storage), иначе пишешь в primary.
fun checkSecondExternal() = getExternalStorageState() == MEDIA_MOUNTED && isExternalStorageRemovable() импорт из android.os.Environment, но можно делать такое и через контекст
Флаг MEDIA_MOUNTED - смонтрован ли external, isRemovable - является ли он sd-картой.
Далее получаешь путь и используешь.
Аноним 22/09/20 Втр 00:35:17 1813003345
>>1812900
>Room
Если нужно сделать что-то простое или на скорую руку, то норм. Для чего-то более сложного выберу скорее SqLiteгибче, но, опять же, зависит от задачи.
>Room'a, который в целом смахивает не на ОРМ, а на тонкую прослойку-помощник
Так и есть, это сахарный слой. Гугл рекомендует юзать именно Рум, дабы была возможность ловить ошибки, а не щёлкать клювом, когда у тебя что-то ломается.
Есть ещё Realm, он вполне себе хорош, ничего плохого не скажу. не помню, на самом деле, но проблем с ним точно никогда не было
Аноним 22/09/20 Втр 01:15:53 1813014346
>>1812900
Все ОРМ говно по определению, потому-что:
1) Ограничивают тебя в написании SQL(тьюринг полного языка, между прочим).
2) Код превращается в кашу из аннотаций с SQL'ем внутри них, когда у тебя более-менее сложная модель и кастомные SQL запросы

Попробуй SQLDelight.
Аноним 22/09/20 Втр 03:46:16 1813032347
Android Basics на udacity еще актуален для первого знакоства с андроидом?
Аноним 22/09/20 Втр 11:40:33 1813106348
Андроны, мне нужно сделать фоновую загрузку файлов с Ftp, пока я просто хуйнул активити и еще создал класс где в asyncTask веду загрузку. Подскажите это норм тема? Или надо как-то там через некие механизмы андроида вроде сервисов все это организовывать?
Аноним 22/09/20 Втр 11:48:13 1813109349
>>1813003
>SqLite гибче

Но ведь room не запрещает разработчику использовать SQL напрямую?

>была возможность ловить ошибки

То верно, это очень годно, но цена тому весьма раздутый слой логики работы с бд, он чуть меньше, чем если бы писать везде сырой sql, но намного больше, чем на бекенде с полноценными ORMками и прочими activerecord'ами.

>>1813014
1-2 - все так, да.
Посмотрю SQLDelight, спасибо
Аноним 22/09/20 Втр 12:57:36 1813187350
>>1813109
>Но ведь room не запрещает разработчику использовать SQL напрямую?
Да, но смысл в том, что я бы не стал тащить Room в проект, где уже используется SqLite.
Аноним 22/09/20 Втр 13:47:27 1813234351
>>1813000
спасибо! потратил время на меня, привел кусок кода. Мое увожение. Благодраствую от души. Приятно с такими людьми на борде одной находиться!
Аноним 22/09/20 Втр 14:13:41 1813250352
>>1812900
>а на тонкую прослойку-помощник.
А оно это и есть. Схему создает, миграции может, CUВ простой и R маппинг на POKO объекты.
Необходимый минимум без оверхедов. Самое оно для андроида
Аноним 22/09/20 Втр 19:34:07 1813498353
Аноним 23/09/20 Срд 09:42:10 1813866354
>>1813498
Использую их для фоновых задач, но почему они прекращают работу после закрытия приложения (свайпом из недавних)? Я уже что только не пробовал (BroadcastReceiver, Service, Worker, и.т.д), из всего работу не прекращает только Foreground Service, но уведомление висит ненужное. Ебал я эту политику энергосбережения
Подозреваю сейчас Xamarin в этом, может, следовало на жабе писать
Аноним 23/09/20 Срд 10:43:13 1813917355
>>1813866
>Подозреваю сейчас Xamarin
А он тут причем? Это политика андроида, начиная с oreo
Если нужно работать постоянно, то юзать нужно Foreground Service с иконкой
Как хак можно собрать под более раннюю версию SDK - тогда андрюша будет считать что приложуха не знает про новые правила анальных ограничений и не ограничивать их, имхо. (в моем случае это помогло, а так то я нихера не знаю)
Аноним 24/09/20 Чтв 12:38:07 1814991356
Зачем нужен DI на Андроиде?
Аноним 24/09/20 Чтв 13:49:58 1815073357
>>1814991
Затем зачем и везде.
Другое дело, что он на андроиде кошмарен
Аноним 24/09/20 Чтв 15:16:40 1815119358
>>1814991
Уже отвечал в этом треде.
>>1815073
>он на андроиде кошмарен
Чем же?
Аноним 24/09/20 Чтв 15:38:37 1815143359
>>1814991
Ну, вообще, потому что так модно. Серьезно. В принципе, пользователь не узнает что там "под капотом". Да ему и пофиг что там. Но дань моде - это дань моде, ей нужно следовать безпрекословно. Чтобы было все прогрессивно, cutting edge, так сказать.

Это как есть отсталые реднеки прошлого века со своей маскулинностью и вот этим своим "КАКМУЖЫК", а есть современные толерантные прогрессивные молодые люди, которые поддерживают идеи феминизма, BLM, экологической борьбы и так далее. Это, в принципе, одна из главных определяющих характеристик не только отрасли мобильной разработки, но и человека в принципе.
Аноним 24/09/20 Чтв 15:43:02 1815150360
>>1814991
> Зачем нужен DI на Андроиде?
Та он в принципе не нужен.
Аноним 24/09/20 Чтв 16:02:19 1815171361
>>1815119
>Чем же?
мы щас о чем говорим? я про конкретную реализацию даггер2
А так DI понятно зачем нужен. это ж DI.

>Ну, вообще, потому что так модно. Серьезно. В принципе, пользователь не узнает что там "под капотом". Да ему и пофиг что там. Но дань моде - это дань моде, ей нужно следовать безпрекословно. Чтобы было все прогрессивно, cutting edge, так сказать.
гуморыст
Аноним 24/09/20 Чтв 16:46:56 1815206362
>>1815143
Если ты пишешь "зеркало" или просто размазываешь код в одной активити, то да - можно вообще не запариваться. Если же ты пилишь что-то более сложное и имеющее намёк на структуру, di сэкономит время. надеюсь, что телега про определяющие характеристики - рофл, потому что это действительно забавно
>>1815171
>мы щас о чем говорим?
Об этом:
>он на андроиде кошмарен
Почему он кошмарен?
Окей, что именно тебя не устраивает в реализации даггера? di-утилиток много, так-то. Не можешь в даггер - бери то, что попроще, либо просто больше нравится
Аноним 24/09/20 Чтв 17:03:49 1815223363
>>1815206
А какие еще di с кодогенерацией не в рантайм?
Аноним 24/09/20 Чтв 19:41:21 1815351364
Вы что, реально шапку проебали или демпингуете рынок вкатунов?
Аноним 24/09/20 Чтв 20:52:39 1815457365
Посоны, хотел захпилить приложение, и встал вопрос, щас делают стандалон или клиент сервер? Где б почитать про плюсы минусы?

мимо си девелопен
Аноним 24/09/20 Чтв 20:53:17 1815458366
>девелопер
Аноним 24/09/20 Чтв 20:56:12 1815461367
А, ну забыл написать конечно, что приложение без мощных вычислений и всякой такой залупы, то есть полностью реализуемое локально.
Аноним 25/09/20 Птн 11:31:07 1815738368
>>1815457
А что тебе от приложения надо-то? Уже несколько лет даже нейронки и обработку фото/видео гоняют полностью на клиенте, мощностей для такого хватают.

>Где б почитать про плюсы минусы?
Плюсы и минусы для какого приложения?
Тут вопрос вообще-то к тебе — нужен ли сервер для работы твоего приложения (оно клиент-серверное, нужна синхронизация, пользователи должны авторизоваться в твоём сервисе, тебе надо рассылать пуши/прочий спам и тд). А даже если нужен, то можешь взять какой нибудь BaaS типо Firebase и шлёпнуть на нём за пару дней весь функционал.

А если не нужен — из плюсов: работа оффлайн, прайваси.
Из минусов: твой рокетсаенс будет жрать батарейку и греть телефон как тварь, конкретно на андроиде куча девайсов за 5000р, пользователи которых будут отгружать тебе в стор тонны говна в виде комментов "нихуя ни работаит разраб кривой аптимизируй сука(9".
Аноним 25/09/20 Птн 11:32:44 1815739369
>>1815461
Короче, блядь, напиши что именно ты хочешь сделать, так консультировать — это как помогать искать сегфолт без кода, лол.
Аноним 25/09/20 Птн 11:45:21 1815744370
>>1799401
Доход типо чисто на рекламе?
Аноним 25/09/20 Птн 15:02:52 1815863371
PROG.png 35Кб, 232x601
232x601
Сап. Вкатываюсь в анроид с июля, прошел курс на Udacity Android Basics. Курс понравился, но следующий (Android Developer) уже устаревший, не юзает Jetpack. Попутно написал пару своих простых приложений.

Теперь я изучаю официальные гайды от гугла. Планирую пройти все эти 20 секций на пикриле к январю, за эти две недели изучил все по Activity - каждая страница была мною прочитана раз по 5 + воспроизводил на память все самплы кода, которые они там приводят. Конечно, там дофига инфы и я уже что-то забыл, но процентов 70-80 в памяти осталось.

Как вам такая стратегия изучения? К середине зимы хочу писать код, юзая все компоненты джетпака, что-то вроде такого: https://github.com/android/sunflower

Мечтаю вкатиться на удаленку.
Аноним 25/09/20 Птн 15:30:44 1815883372
>>1815863
>К середине зимы хочу писать код
чего тянуть. уже пиши
Аноним 25/09/20 Птн 15:53:58 1815899373
>>1815883
Так я пишу небольшие приложухи + все их самплы. Вижу, например, что они советуют оверрайдить onBackPressed только в случае создания confirm quit диалога, и при этом все равно вызывать родительскую имплементацию внутри, - пишу пустую приложуху с этим confirm quit.

Типа к зиме-весне теоретических знаний у меня будет как у милда, опыта - как у джуна++, я думаю (надеюсь), с этим можно на удаленку или даже фриланс идти.
+ хорошие знания в material design, я типа дизайнер вообще
Аноним 25/09/20 Птн 15:57:00 1815904374
>>1815899
так ты пиши большую приложуху
конечно будешь тупить на каждом шагу ну и что
так и учатся.
и сразу котлин лучше
Аноним 25/09/20 Птн 16:05:42 1815914375
>>1815904
Ну хз, я в начале сентября как раз сел писать большое приложение - и это пиздос, просто постоянный гуглеж + слабое понимание того, что нагуглить все-таки получилось. Тот же гугловский гайд Navigation components ты слабо поймешь, не прочитав их Activity и Architecture components, а ведь это основа
ИМХО будет быстрее поступательно двигаться, 100 мелких-мелких приложух, а потом уже писать большие

Но я слышал стори, что не каждый джун способен внятно рассказать, что такое активити, например. И их все равно на работу берут. Это правда? Мб я тогда рили оверкиллингом занимаюсь, хз
Аноним 25/09/20 Птн 16:16:03 1815930376
>>1815914
Ну-ка, что такое активити? Без подглядывания.
Аноним 25/09/20 Птн 17:01:12 1816017377
>>1815930
Экран, занимающийся отрисовкой UI. Более общно, это основной компонент любой приложухи; активити работают сообща внутри приложения, но при этом слабо связаны между собой. Использование приложений на десктопах и мобилках отличается тем, что на мобилках юзеру часто нужен конкретный функционал в приложении, а не его стартовый экран и т.п. - и ввиду того, что активити слабо связаны между собой, из приложения А мы без особых проблем можем запустить нужное нам активити приложения Б. Активити может находиться в состояниях Resumed (foreground), Paused (потеряло фокус, может быть частично видно или полупрозрачно), Stopped (не видно совсем), причем реализовывать поведение компонентов, зависящих от текущего стейта жизненного цикла, лучше с использованием API LifecycleObserver, а не в callback-методах onCreate, onStart, onResume, onPause, onStop, onDestroy. С помощью lifecycle-aware компонентов мы должны сохранять стейт, очищать инициализированные ресурсы (но но увлекаться этим в ходе Stopped стейта, потому что он очень короткий), переходить к меньшему потреблению мощностей (например, не так часто обновлять местоположение пользователя).

Если нужны ресурсы, то система никогда не разрушает напрямую активити, а только процесс, хостящий активити, причем стейт процесса соответствует жизненному стейту активити, в порядке убывания важности: Resumed, Paused, Stopped. При этом даже после того, как система вызвала onDestroy, она сохраняет визуальный стейт активити в Bundle instanceState; реуомендуется не держать в визуале больше 50KB инфы. Можно положить в этот бандл и другие свои данные с помощью onSaveInstance, но не рекомендуется увлекаться, чтобы избежать лишних затрат на сериализацию и десериализацию. Если данных много, то их нужно хранить с помощью ViewModel. Сам ViewModel мы должны очищать только в случае, если юзер эксплицитно клозает активити (нажимая на Back Button, например), мы не должны трогать вьюмодель, если чел просто перешел в multiwindow режим или перевернул девайс - определить че происходит можно с помощью isFinishing(), если все-таки экспилицтное завершение, то очистить вьюмодель с помощью onCleared(). Вьюмодель никогда не должна юзать Context, никогда не должна генерировать данные (только запрашивать).

Вместе активити составляют Task - задачу по реюзабилити различных активити (не обязательно одного приложения) в целях пользователя. На уровне абстракции Task, активити хранятся в back stack и не могут перемещаться внутри него - только удаляться или добавляться (last in, first out). Начало любого таска происходит в app launcher'е

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

Норм если такое на собесе выдам? За милда сойду?

БЛЯТЬ ХОЧУ НА ФРИЛАНС
Аноним 25/09/20 Птн 17:07:50 1816027378
>>1816017
брррр. просто брррр. ох и нагрузил
Аноним 25/09/20 Птн 17:16:23 1816042379
>>1816027
Лол, а хули еще делать, хочется типа хорошо знать сразу
Аноним 25/09/20 Птн 17:22:11 1816053380
>>1816042
можешь ты знать как угодно
но вот такое вывалить - и будет казаться что джун по верхам почитал там по бырому и воду наливает. Вроде инфы много, а кажется что знания пытаешься водой залить
Аноним 25/09/20 Птн 17:27:42 1816065381
>>1816053
>и будет казаться что джун
Ура, мама, я уже джун!
Аноним 25/09/20 Птн 17:31:51 1816072382
>>1816065
джун. конечно джун. мама подтвердит
а вот джун-разработчик ли - это хз

Но по написанному впечатление что у тебя в голове просто каша. То есть ты явно читал, но не видно того, что ты понимаешь само устройство что да как
Аноним 25/09/20 Птн 18:00:46 1816131383
>>1816017
>Вьюмодель никогда не должна юзать Context, никогда не должна генерировать данные (только запрашивать).
Молодец, я об этом постоянно говорю карликам, а они всё равно продолжают спрашивать о том, как закостылить контекстно-зависимую фичу внутри vm.
>Не принимал во внимание, что в приложухе должна быть скорее одна активити, суть ясна.
Изучай фрагменты в контексте single activity и сопряженных с подходом ограничений и требований которые, в свою очередь, непосредственным образом связаны с архитектурой. Это в набольшей степени актуально и очень качественно тебя забустит.
>Норм если такое на собесе выдам? За милда сойду?
Как тебе сказать. Кто-то оценит, кого-то это не заинтересует, тут уж зависит от предпочтения собеседующего и того, на чем строится его механизм оценивания. Говоря о собеседовании, первостепенная задача - показать, что твои знания покрывают весь цикл разработки и структурированы в достаточной мере, чтобы иметь четкое представление о каждом этапе построения приложения как системы. Сюда же относится знание используемых технологий, подходов и принципов, которые направлены на построение максимально эффективного рабочего процесса. Важна не столько "площадь покрытия" теории, сколько способность работать в контексте недетерминированности алгоритма построения многокомпонентной системы, включая возможность качественно анализировать и соотносить достоинства и недостатки потенциального способа решения задачи, а ещё сроки, возможности и другие плюшки. Но если говорить проще, ты должен показать, что уровень твоей квалификации достаточен для того, чтобы самостоятельно принимать те или иные решения. это особенно актуально для удаленки Фриланс же отличается тем, что тебя оценивает только твой клиент, поэтому и требования несколько иные, так как ты имеешь возможность адаптировать рабочий процесс под себя, игнорируя чужие требованиялида/команды, формалистского подхода как такового, хотя сделать это не так просто, как может показаться, имея дело с заказчиком, которому просто нужен готовый продукт.
Аноним 25/09/20 Птн 18:18:14 1816164384
Аноним 25/09/20 Птн 18:35:25 1816186385
>>1816131
>как закостылить контекстно-зависимую фичу внутри vm.
Вопрос как вопрос. ну не должна вьюмодель знать про контекст. Она должна знать тех, кто имеет право знать про контекст. И это не костыли, а норма как бэ
Аноним 25/09/20 Птн 18:54:27 1816201386
>>1816186
Как закостылить - читай: как передать контекст в vm
Аноним 25/09/20 Птн 23:21:57 1816368387
Правда что в сборки андроид от васянов с XDA могут щашивать любой код и собирать потом с руткитами и прочим дерьмом?
Аноним 26/09/20 Суб 10:35:34 1816504388
>>1815863
спасибо анону за линк
наконец то удалось прикрутить этот ебучий hilt как надо
Аноним 28/09/20 Пнд 12:04:38 1817998389
Сап. В сторону каких марок смартфонов недорогих лучше глянуть со свежей системой?
Нужно для тестирования относительно легковесных приложений. Думаю, что одним эмулятором обойтись не получится, а сам пользуюсь яблоком.
Глянул цены на сяоми, охуел. Думал, что раза в два дешевле.
Аноним 28/09/20 Пнд 12:09:03 1818000390
>>1817998
>Глянул цены на сяоми, охуел. Думал, что раза в два дешевле.
и при этом цена на яблоко тебя не смущает. гм.
Аноним 28/09/20 Пнд 12:10:40 1818002391
>>1818000
Пока писал пост, самому смешно с этого было.
Аноним 28/09/20 Пнд 18:46:07 1818319392
image.png 30Кб, 603x236
603x236
Товарищи, помогите. Веб-вьюха выбрасывает html, в котором есть что-то из Vue.js, т.е. не хавает почему-то этот вьюжс.
С меня 1000 бочек нефти
Аноним 28/09/20 Пнд 23:53:33 1818504393
Как с вакансиями обстоят дела?
Аноним 29/09/20 Втр 00:07:18 1818507394
андроид.webm 5956Кб, 960x533, 00:01:37
960x533
Чет давно не заходил в тред, потому что додик оп бесил. Щапку проебали, молодцы, она была гавно все равно.
Вкатывальщиков в этом треде дохуя, поэтому освящаю тред
Аноним 29/09/20 Втр 01:21:40 1818538395
Тупой вопрос : как из второй активити вызвать notifydatasetchanged у адаптера первой активити без извращений?
Аноним 29/09/20 Втр 16:44:04 1818897396
>>1750676 (OP)
Всем привет
Бля, шапка проебана, а я как раз вкатывальщик
Нужно для своих нужд написать андроид-приложение, по функционалу похожее на навороченную записную книжку, которая в себя будет аккуратно упаковывать данные, ну и проводить с данными всякие там действия, нужные мне.
Потенциально было бы здорово синхронизировать данные с Гугл аккаунтом, но это уже потом, сильно потом
Остановимся на записной книжке
Но я вообще хз, на чем писать это самое приложение
Есть какой-то признанный хотя бы парой анонов туториал степ-бай-степ гайд? Ну, какие-то основы, базовые вещи для приложения, чтобы познакомиться с языком / языками / спецификой?
Короче, авторитеты, посоветуйте, с чего начать ньюфагу?
В программировании е
Аноним 29/09/20 Втр 17:32:04 1818959397
>>1818897
что значит "на чем писать"?
на том что знаешь конечно.

под андроид можно на многих языках писать
Аноним 29/09/20 Втр 17:58:25 1818991398
Объясните глупому новичку: программы на Android следует писать с помощью Java или можно работать с JavaScript?
Игры например?
Или приложения?
Или под Андроид можно писать на многих языках, как сообщил анон выше?
А на Питоне можно работать?
Аноним 29/09/20 Втр 18:06:14 1818998399
>>1818991
жава просто нативный (ну теперь и котлин)
так что если знаешь жава или котлин то на нем и пиши
если дарт то flutter
если шарп то хамарин
если питон то kivy
если жс то там свой набор говна



Аноним 29/09/20 Втр 18:15:47 1819009400
>>1818998
>если жс то там свой набор говна
Анонче, а почему так грубо про JS?
Что в нем плохого?
Аноним 29/09/20 Втр 18:20:33 1819021401
>>1819009
всё. это ж жс. а уж электрон софт я себе даже не ставлю. не заслуживает это говно чтобы я на него ресурсы системы тратил
Аноним 29/09/20 Втр 18:22:15 1819025402
>>1819021
Я сейчас учу Питон, и насколько я понял - это язык BackEnd.
Мне нужно изучать JavaScript для FrontEnd?
Аноним 29/09/20 Втр 18:23:21 1819027403
>>1819025
а ты хочешь фронтенд? ты мазохист?
Аноним 29/09/20 Втр 18:24:49 1819028404
>>1819027
Я хочу быть ФуллСтек разрабом сайтов.
Это правильно? Или я не того хочу?
Аноним 29/09/20 Втр 18:27:10 1819032405
>>1819028
тогда придется есть это дерьмо
правда это уже не про андроид
а вообще если есть возможность не трогать фронт лучше не трогать.
Аноним 29/09/20 Втр 18:30:44 1819034406
>>1819032
А ты бы что посоветовал изучать и в каком направлении двигаться?
Аноним 29/09/20 Втр 18:33:49 1819037407
>>1819034
не знаю. ты не в тот тред с этими вопросами.
Аноним 29/09/20 Втр 18:36:58 1819038408
>>1819037
Точно.
Ладно, крайний вопрос: если я буду создавать игру с открытым миром на Андроиде, Python Kiwi позволит мне реализовать это максимально хорошо?
Или лучше юзать Java и Kothlin?
Аноним 29/09/20 Втр 19:10:11 1819052409
>>1819038
>Или лучше юзать Java и Kothlin?
Kotlin
Лучше юзать Unity
Аноним 29/09/20 Втр 20:34:05 1819127410
>>1818897
>>1818998
Такой вопрос: а kivy норм?
Я просто имею некий (именно некий) бэкграунд в питоне, так что на бумаге киви будет вполне себе хорошим выходом, тем более, что мне не нужно пилить какое-то хитровыебанное шустроработаюшщщее приложение

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

И если не kivy, что из этого попроще?
>жава просто нативный (ну теперь и котлин)
>так что если знаешь жава или котлин то на нем и пиши
Это проще, с учетом того, что я язык не знаю? Хотя и питон я не знаю, так, костыли умею хуячить...
Аноним 29/09/20 Втр 20:50:15 1819135411
>>1819127
Бля, с первого раза kivy не установился. И почему я не удивлен?
Аноним 29/09/20 Втр 20:53:45 1819138412
>>1819127
все что не нативное - априори шаманство. Даже нативное это шаманство, но проще найти решение
Аноним 29/09/20 Втр 20:56:08 1819140413
>>1819127
Бери Джаву или Котлин что понятнее, ищи тутор по созданию записной книжки, затем пытайся запилить все те фичи, которые тебе нужны, имея какую-то основу. Думаю, это самый простой вариант. да и задача простая
На Kivy ты далеко не уедешь, имея "некий" бэкграунд, так что лучше не трать время.
Аноним 29/09/20 Втр 21:59:30 1819175414
image.png 5Кб, 395x119
395x119
Наверное платина. Пытаюсь вкатиться, поясните как в андроид студио нормально сделать билд для SDK < 30. Скачал сдк 19, поменял в пикрил, билдится с ошибками всё.
Аноним 29/09/20 Втр 22:12:40 1819182415
>>1819138
Так есть варианты успеха для написания приложения уровня записной книги на питоне, или лучше (как советует анон ниже) взять что-то javakotlin?
>>1819140
А все непонятно
Тут мы возвращаемся к тому, за чем я пришел в тред
А есть какой-то окологодный тутор, который можно использовать как отправную точку? Мало ли есть что-то, что признано аксакалами треда. Что-то, что даст большее понимание, чем какой-то видос уровня "на котлин за 30 минут без знания языка!"
Аноним 29/09/20 Втр 22:21:02 1819183416
>>1819182
чем нативнее язык тем удобнее средства разработки и возможности и гугление
и с выходом котлин и aac стало более менее приятно кодить на андроид (до этого был лютый ад для мазохистов)

сам я шарпист, но предпочитаю котлин, а не хамарин просто потому что намного меньше костылить нужно

если ты питонист то поможет это чтиво
https://github.com/Khan/kotlin-for-python-developers
Аноним 29/09/20 Втр 22:31:13 1819188417
>>1819182
>тутор
Codelabs туториалы + поищи на ютубе видосы, где пилят записную книгу.
Аноним 29/09/20 Втр 23:18:29 1819219418
хотел вкатиться, но шапки нету. придется в ios
Аноним 29/09/20 Втр 23:27:04 1819225419
Здарова
Пытаюсь отправлять данные из одного фрагмента в другой без использования viewmodel с использованием fragment manager. По необъяснимой причине не получается проставить листнер в принимающий данные фрагмент

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

пробовал через getParentFragment().getFragmentManager(), но у этой хуйни все равно нет сеттера setOnFragmentResultListener( ... )

че это вообще такое? как это понимать? минимальная сдк проставлена 21, все норм. гайд от гугла, в котором они все это каким-то образом делают: https://developer.android.com/training/basics/fragments/pass-data-between
Аноним 29/09/20 Втр 23:31:27 1819229420
>>1819225
все, разобрался
эта фигня в альфа версии, нужно импортить androidx.fragment:fragment:1.3.0-alpha08
Аноним 30/09/20 Срд 00:22:34 1819253421
вообще, насколько быстро можно будет начать писать на котлине, если хорошо умеешь кодить на джаве под ведроид?
Аноним 30/09/20 Срд 00:23:09 1819254422
Аноним 30/09/20 Срд 00:23:42 1819255423
>>1819188
>>1819254
это речь про видосы с приложениями, коделапс - с этим все понятно.
Аноним 30/09/20 Срд 00:36:35 1819258424
>>1819254
По каким критериям ты определяешь нормальность? Ознакомься с разными, а далее смотри те, что зайдут.
Аноним 30/09/20 Срд 13:26:13 1819599425
Есть ли более-менее достойные аналоги ARCore со схожим функционалом (например, motion tracking, plane detection и всё такое), но чтоб работало всё это на большинстве устройств (хотя бы с 5-ым ведром), а не на 3,5 топовых флагманах?
Аноним 30/09/20 Срд 13:33:43 1819605426
Аноним 30/09/20 Срд 17:18:33 1819833427
как происходит sql иньекция на аднроиде с апкешках?
Аноним 30/09/20 Срд 18:43:24 1819904428
>>1813187
Ну и лох значит. Простой sqllite должен выпиливаться

Легаси должно разгребаться
Аноним 30/09/20 Срд 18:58:49 1819910429
>>1819904
>Простой sqllite должен выпиливаться
Ты либо юзаешь sqlite, либо полностью его выпиливаешь и переходишь на room. Иначе тебе придется разгребать ещё больше.
Аноним 30/09/20 Срд 22:38:40 1820054430
Ребят, есть ли разница между 1) прописанным ключом и кредами в build.gradle и нажатием Build APK(s) на релизном варианте и 2) нажатием Generate signed APK. Вроде и там, и там всё подписано, но я вижу, что файлы различаются по весу.
Маркету пофигу, а вот одна MDM ругается, что в первом варианте приложение не подписано.
Аноним 01/10/20 Чтв 10:27:32 1820273431
image.png 168Кб, 1273x750
1273x750
Бляяяяяяять
Я нихуя не понимаю, что не так с моим кодом пикрил
Вызываю интенты, но они НИХУЯ не запускают соответствующие активити, вызывается только диалог "Share", содержащий вообще какие-то левые хуйни
mindsk 30, на эмуляторе стоит API 30
Спс за помощь
Аноним 01/10/20 Чтв 10:30:13 1820274432
Аноним 01/10/20 Чтв 10:51:04 1820285433
>>1820273
ебать я сука брейки забыл добавить
Аноним 01/10/20 Чтв 10:51:26 1820286434
кто эту хуйню вообще придумал
Аноним 01/10/20 Чтв 11:59:27 1820329435
>>1820273
Разбей на методы, используй разные лисенеры
Аноним 01/10/20 Чтв 14:20:46 1820412436
Аноним 01/10/20 Чтв 17:10:05 1820530437
>>1750676 (OP)

Я тоже не понимаю, что может нравится в банальном формошллёпстве под андроид. Не Энтерпрайза, не бизнес логики, ничего. Какой то джаваскрипт под телефон. Взял данные с апи и отобразил, скукота для школьников. Вот и спрашиваю, как может нравится писать под андроид, посколько не особо понимаю, что в этом может нравится
Аноним 01/10/20 Чтв 19:29:10 1820664438
image.png 18Кб, 495x199
495x199
БЛЯЯЯЯ
интенты это самое уебищное что есть в андроиде
вот почему нахуй сука интент пикрил без проверки запускается, а с ней - хуй там? КАК ТАК БЛЯТЬ ПОЧЕМУ СУКА RESOLVEACTIVITY ВОЗВРАЩАЕТ НОЛЬ КОГДА СУКА У НАС ЕСТЬ ЕСТЬ НАХУЙ АКТИВИТИ ДЛЯ ОБРАБОТКИ АКШНА КАК БЛЯТЬ КАК НАХУЙ ТАКОЕ ВОЗМОЖНО

проверка через packageManager.queryIntentActivities(...) тоже дает ноль (пустой список)
ну как
ебана
Аноним 01/10/20 Чтв 19:49:26 1820696439
image.png 36Кб, 303x315
303x315
ТГ конфа есть? Расшарьте, пожалуйста
Аноним 01/10/20 Чтв 20:27:19 1820750440
Аноним 01/10/20 Чтв 21:40:00 1820810441
Поясните за RecyclerView (GridLayoutManager) с картинками из инета.
RecyclerView знает ширину себя и количество колонок. но он не может же знать конечную высоту картинки. И если используя scaleType и adjustViewBounds картинка впишется не теряя соотношение сторон, то высота строки будет куда больше.

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

Я решил тем, что вычисляю высоту строки при создании холдера, но блин это ж не дело.
Аноним 02/10/20 Птн 14:36:57 1821227442
Аноны, привет! Я бэкенд-макака. Умею в пхп и нодеjs.
В данный момент возникла необходимость сделать несложное мобильное приложение, человеку будет выводиться карточка с информацией.
В мобильной разработке я нолевой ноль.
Масштаб времени - месяца три.
На какой стул мне сесть? Флаттер? Или реактНатив на обычном реакте могу немношко писать?
И вообще возможно за три месяца изучения по паре часов в день что то адекватное запилить? Или больше ремени уйдет?
Аноним 02/10/20 Птн 17:33:56 1821393443
image.png 273Кб, 1280x720
1280x720
Аноны, подскажите, может есть годная альтернатива AutoCompleteTextView?

Чтобы было более ГИБКО и кастомизируемо.
Например, выводить все элементы по дефолту, когда поиск пустой, или чтоб выделять наматченную подстроку.

Погуглел библиотеки, но годноты не нашел
Аноним 03/10/20 Суб 16:23:39 1822060444
>>1750676 (OP)
Приветствую аноны. Подскажите вкатывальщику - решил вкатываться в андроид. Стоит ли сразу учить котлин или же для начала изучить джаву?

Почему спрашиваю? Опять же если начинать с джавы это займёт N-e количество времени, а моя цель скорейший вкат.

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

Добра.
Аноним 03/10/20 Суб 16:32:56 1822069445
>>1795315
Что пилешь анон? Игры? По какой модели дейстуешь?

Тупей и проще или качественно и дороха?
3d/2d ? Если 3д в блендере модельки делаешь? Лоу поли?
Аноним 03/10/20 Суб 16:37:30 1822072446
>>1821227
>И вообще возможно за три месяца изучения по паре часов в день что то адекватное запилить? Или больше ремени уйдет?

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

>На какой стул мне сесть? Флаттер? Или реактНатив на обычном реакте могу немношко писать?

Флатер офкорс

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

Если правильно понял твою цель, то за 2 недели на изи состряпаешь.
Аноним 03/10/20 Суб 16:46:07 1822082447
>>1815914
>Но я слышал стори, что не каждый джун способен внятно рассказать, что такое активити

Ты бы видел меня как я начал маня-маневры делать 3 года назад на собесе при подобном вопросе и очень удачно сменил тему. В итоге устроился на галеру с первого же собеса, оче повезло что интервьеру понравился нет не пидор , суть заключается не в том знаешь или не знаешь , а как ты это подаешь.
Аноним 03/10/20 Суб 16:56:32 1822085448
>>1822072

>>если правильно понял твою цель, то за 2 недели на изи состряпаешь.
Думаю правильно, на сервере есть данные, человек на приложение через api сервера должен получать json с данными.
Сервер на пхп делают? Или сразу лучше nodejs?
>>Если твоя цель только одна мелкая приложуха то быстрей, намного быстрей.
Спасибо обнадежил. Значит буду изучать флаттер.
Аноним 03/10/20 Суб 16:57:43 1822087449
>>1805934
>каком стиле оформлен дизайн приложения
Проверяют
>Проверяют ли они по какой лицензии распространяются картинки
Если владелец картинки пожалуется на тебя, то тебе пиздец. Минимум попросят удалить картинку из приложения, максимум забанят аккаунт. Если владелец кабанчик, может и в суд подать, но это из разряда раз на миллион.
Аноним 03/10/20 Суб 17:00:33 1822089450
>>1803326
Джава-бэк например
Аноним 03/10/20 Суб 17:05:50 1822093451
>>1822085
>Сервер на пхп делают? Или сразу лучше nodejs?
firebase потести. А так ноду если знаешь, не критично от слова вообще.
>Спасибо обнадежил. Значит буду изучать флаттер.
А так ты незнаешь его, попробуй лучше java core и котлин потом.
Аноним 03/10/20 Суб 17:24:29 1822111452