Android Development ThreadТред для тех, кто пытается вкатиться в андройд разработку или что-то похожее. По возможности стараемся угощать ньюфагов чаем и поливать друг друга радугой.> Хочу вкатиться в разработку под Android! С чего начать?С видеокурсов от Udacity. Они бесплатны и затрагивают основы разработки даже если не умеешь писать на Java.https://www.udacity.com/course/android-development-for-beginners--ud837Для тех, кто не хочет учиться по юдасити существует скучный кат от гугла: http://developer.android.com/training/index.htmlЕсли имел опыт в програмаче, можешь посмотреть видосики отсюда https://web.stanford.edu/class/cs193a/videos.shtmlОчень доходчиво и интересноТак же есть книга, которая затрагивает основы разработки и имеет 2-е издание с 2017 года: https://www.amazon.com/Head-First-Android-Development-Brain-Friendly/dp/1491974052Большинство приложений написано на Java, необходимо понимать что ты пишешь, в уме достаточно знать базовый Core т.к. 90% времени придется тыкаться в Android SDK. Полезные обучалки от анона :https://habr.com/company/golovachcourses/blog/215275/ - смотри Головача если совсем даун и не шаришь нихераhttps://www.amazon.com/Head-First-Java-Kathy-Sierra/dp/0596009208 - книжка для ньюфагов. Хорошо заходит.https://www.amazon.com/Thinking-Java-4th-Bruce-Eckel/dp/0131872486Неплохим вариантом для изучивших джава будет книга https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997Алсо можешь читануть паттерны, рано или поздно все равно базовое знание понадобиться https://www.amazon.com/Head-First-Design-Patterns-Brain-Friendly/dp/0596007124Существует два текстовых ресурса для закрепления андройда на русском. Первый - несмотря на старость описывает базовые вещи, на которых построены мощные либы, второй - продавшийся говноед с котиками http://startandroid.ru/ и http://developer.alexanderklimov.ru/android/https://commonsware.com/Android/ - толстая книга для гиков, стандарт решенийТак же можешь смотреть видосики от Mail.Ruhttps://habr.com/company/mailru/blog/345252/https://github.com/ybereza/technotrack-resources - ресурсы к лекциямИли от Яндекса. В некоторых моментах спикеры рассказывают важные детали, которые кроются в мелочах:https://www.youtube.com/watch?v=5EvxWifIgro&list=PLQC2_0cDcSKBNCR8UWeElzCUuFkXASduz[Развернуть]В дальнейшем потребуется базовое знание SQL, понимание XML и JSON.> Я прошел курсы Udasity, а дальше что?После прохождения курсов у тебя должно сложиться базовое представление о создании приложения; жизненные циклы Activity/Fragments, AsynsTask, Http, Json, SQLite.Дальше закрепляешь знания путем просмотра видосов выше +Написание парочку приложений на свой вкус. Так же стоит уделить внимание BroadcastReceiver, IntentService, поиграться с Loader's, хендлерами, Contest providers и прочее, построить очередной Weather or ToDo must have list.>Не могу разобраться в потоках. Хендлеры, хуендлеры хуйтаски. Как быть?http://codetheory.in/android-handlers-runnables-loopers-messagequeue-handlerthread/ - Хорошая статья, которая экономит время. После нее можно сразу переходить и тыкаться в хендлерах.https://blog.mindorks.com/android-core-looper-handler-and-handlerthread-bd54d69fe91a - еще одна от миндоркса.https://blog.nikitaog.me/2014/10/11/android-looper-handler-handlerthread-i/ - еще одна интересная.>Хочу изучать популярные либы и не быть говноедом!Если ты сразу после курсов переползаешь сюда - будь готов, что ты не будешь знать как это делается под капотом, и в конце концов соснешь когда-нибудь.Retrofit - стандарт для взаимодействия с сетью. Она идет в комплекте с okhttp3, начинаешь с последней, а потом переползаешь на сам ретрофит. Так же для справки можешь гуглить volley.RxJava - одно из решений для выполнения кода в бекраунде. Ниже ссылочки, смотри и поглощай.https://www.youtube.com/watch?v=YPf6AYDaYf8-[Развернуть] rxJava идея с нуляhttps://www.youtube.com/watch?v=3jdvLrYZfB4&t=[Развернуть]https://www.youtube.com/watch?v=0IKHxjkgop4[Развернуть]https://coursehunters.net/course/master-klass-po-rxjava-s-mvvm-dlya-razrabotki-pod-androidhttps://www.youtube.com/watch?v=t34AQlblSeE[Развернуть] - retrofitНеплохо было бы и изучить MVP. Вообще его следует изучать сразу. Видишь MVP - сразу пиши нормальный код. Никаких нахуй асинтасков внутри активити. Для самообразования можно написать его голыми руками или прогуглить, как это делается.https://github.com/ArturVasilov/AndroidSchool - здесь рассматривается архитектура, и как ее ели с 2011 года.MVP:https://javarush.ru/groups/posts/505-mvp-v-android-dlja-samihkh-malenjhkikh - для пониманияhttps://github.com/Arello-Mobile/Moxy - плюшка для поворотов экранаhttps://github.com/sockeqwe/mosby - англоязычная плюшкаMVVM - костыли от гугла:Для нормального понимания желательно знать AAC.https://startandroid.ru/ru/courses/architecture-components.html - свежие уроки от Димонаhttps://proandroiddev.com/the-missing-google-sample-of-android-architecture-components-guide-c7d6e7306b8f - для продвинутыхПример MVVMhttps://github.com/ericmaxwell2003/MvvmTipCalculatorВышеописанные два подхода - всего лишь обертки, чтобы вынести логику из views. Для более углубленно изучения рекомендуется почитатьthis: https://habr.com/company/mobileup/blog/335382/Пример на котлине:https://github.com/hitherejoe/GithubTrending> Хочу анимировать мои говноподелки!https://www.youtube.com/watch?v=dzB-1VlHJW8[Развернуть]Онли теория. Первые двадцать минут покрывают больше половины статей, которые можно найти на медиуме и т.д.Здесь побольше практики на любой вкус: https://labs.ribot.co.uk/exploring-meaningful-motion-on-android-1cd95a4bc61dТак же можно подробно почитать про смены сцен: https://blog.prototypr.io/applying-meaningful-motion-on-android-a271a873bd78> Я заебался. Почему мои приложения постоянно падают в проде и как эту хуйню фиксить?Для этого придумали тесты. Для общего понимания читаешь короткую статьюhttps://medium.com/android-testing-daily/the-3-tiers-of-the-android-test-pyramid-c1211b359acd> Не хочу писать на Java!- Kotlin — JVM-совместимый язык от JetBrains. Есть лямбды, стримы и делегаты. С 17.05.2017 поддерживается официально.https://www.youtube.com/watch?v=-H98SWHayL4[Развернуть] - свежие лекции на русском, объяснение корутин прост бжствноhttps://www.amazon.com/Kotlin-Action-Dmitry-Jemerov/dp/1617293296 - библияhttps://kupdf.com/download/kotlin-for-android-developers_59a05e2ddc0d60992a18496b_pdf - Kotlin for Androidhttps://www.udacity.com/course/kotlin-for-android-developers--ud888 - курсы Udacity> Есть что-то кроме нативных приложений на Java/Kotlin?- Flutter - кросс-платформенный фреймворк от Google. Js с аля строгой типизацией. Если совсем поехавший можешь начинать с него.https://flutter.io/docs/ - документацияhttps://www.udacity.com/course/build-native-mobile-apps-with-flutter--ud905 - курсы от UdacityОстальные куски:ReactNative — мочаскрипт во всей красе.- PhoneGap/Ionic/Titanium — имя им мочаскрипт-младшие, принципы у них разные, кроссплатформенность одного кода. Популярность у них разная как и размер комьюнити. Вопросы по ним — в js-тред.- Qt — кросс-платформенный фреймворк на C++. Используется в основном для игры и для приложений с высокими требованиями к производительности (обработка изображений, звука, ГИС-системы). Спрашивать в C++ треде.- Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Спрашивать в C#-треде.- BugVM — кросс-платформенный фреймворк, написанный на Java. Форк невинно убиенного RoboVM.> Хочу писать игры!LibGDX - слишком медленная параша для больших проектов, но познакомится можешь. Unity - для адекватных, Corona SDK, LOVE, Defold и другие. Спрашивать в /gd/.> Что нужно, чтобы взяли джуниором? Что учить в первую очередь?Нужно хорошее знание Java, понимание базовых принципов Android (жизненный цикл activity/fragment, что такое Context, intents, services, UI thread, support library и ее версии (уже androidx), shared preferences, SQLite, Handlers, Executors, Content-Providers), знание популярных библиотек типа Retrofit + Glide/Picasso + RxJava2 + Dagger2(по обстоятельствам) + гугловские поделки jetpack, понимания СОЛИД и других паттернов проектирования. Базовое понимание что вообще такое Gradle. И хотя бы несколько готовых приложений.Полезные ссылки:https://coursehunters.net/mobile-development - очень много уроков и не только по ведройду. Почекай и посмотри, вдруг зайдет.https://www.youtube.com/channel/UCSwuCetC3YlO1Y7bqVW5GHg - канадский челик, поясняет за архитектуру и отвечает на разные вопросы на стримах.https://github.com/toddmotto/public-apis - бесплатные API для создания приложений.https://github.com/AlexeyZatsepin/Android-ORM-benchmark - бенчмарки на вопросы о том, какую БД выбирать.https://androiddev.apptractor.ru/category/podcast/page/0/ - подкасты ведройд разрабов которые шарят про все и вся
>>1534623 (OP)Старая шапка, но похуй, какую нашел в архиваче.Можете 500ым постом запостить новую, если у вас есть.
приветствую всехвопрос от нюфагаработаю не погромистом, но на текущем месте появилась возможность переквалифицироваться. В последних тредах всплывали фразы, что мобайл сейчас уже не такой хайп, а в будущем будет скатываться, да и вообще лучше вем. Хуйня?
>>1534760Хуйня, штмл и жс на девайсах все еще работает со скоростью говна и с таким же юзерэкспериенсом.
>>1534766СпасибоНе для холивара вопрос: такое будущее касается и ведроидов (название треда видел)? Сам я обладатель девайса для геев, но по работе задача актуальна для обеих платформ.
>>1534771Иос еще более анально ограничен, они в жизни не пустят хтмл говно в стор просто из-за того, что им нужно анально привязывать разрабов к макам.
>>1534966Дарова ебать, вот тебе PWA как он естьhttps://apps.apple.com/app/id1232780281Да и мобильные приложения на веб-хуйне - это не хтмл-цсс-говно в вебвьюхе, а самые настоящие нативные элементы. Прочитай как react native работает. Его узкое место - это жс-мост, от которого в ближайшем будущем избавятся и будет на уровне флаттера фпсы выдавать.
>>1534760Нейтив не сдохнет, потому что в платформозависимых и узких местах его не заменить, но потеснить его могут. Из кроссплатформы сейчас главныеReact Native+ большое комьюнити реактодебилов+ создает элементы нативно+/- жопаскрипт- низкая производительность- нищие девтулзыНамечается ре-архитектура, которая должна пофиксить последние два пунктаПример приложения https://apps.apple.com/ru/app/id985746746Flutter+ высокая производительность+ хорошие девтулзы- язык - что-то среднее между явой и жопаскриптом, нигде больше не используется- рендерит все сам, вендорлокКогда-то там должна выйти фуксия с юай на немПример приложения https://apps.apple.com/us/app/id1241229134Куда вкатываться не понятно. По опыту десктопов победит жс-дрысня, если пофиксят проблемы с производительностью
>>1534974PWA это не среакт. Это 100% тормозящая вебвью говнина. И я знаю как работает твой среакт.>>1535026Ну пусть катится в кросплатформу, хули. У флаттера в 15 раз меньше вакансий на хх, у реакт нейтива в 3. И конечно же опустим маленький момент, что при работе с кроссплатформой, нужно знать хотя бы одну из этих платформ, чтобы не приспустить в штаны, когда понадобиться взаимодействие с нативной частью и ебашить бриджы. Алсо, все жду новые статьи из разряда "как мы отказались от среакта" как у Эирбнб.
>>1535056Это зависит от сложности и функционала приложения. У меня много примеров успешных приложений, которые обошлись без нейтива или использовали уже готовые пакеты. Разумеется, если ты хочешь быть только мобильным разработчиком, который может сделать что угодно, то ты должен знать нейтив. Но ты не учитываешь что на реакт нейтивом занимаются фронтендеры, а для них вакансий больше.
>>1534760> последних тредах всплывали фразы, что мобайл сейчас уже не такой хайп, а в будущем будет скатыватьсяСмотря о каком будущем речь идет, сейчас рынок мобилок только растет еще больше, чем раньше. Вон все крупные игровые компании начинают активно клепать игры под мобилки, чтобы кусок такого жирного рынка себе забрать.Вкатывайся в Kotlin Multiplatform, пока технология только развивается, а в будущем будешь востребован, ибо все эти флаттеры и реакты полная херота.
>>1535132Флаттер и реакт - фреймворки для юай, а котлин мультиплатформ про бизнес логику. В будущем они скорее в тандеме будут работать, а не против друг друга.
>>1535141Не, флаттер и реакт в целом в помойку пойдут, потому что для ui появится мультиплатформенный Jetpack Compose.
>>1535188Нет, но очень желательно. Можно конечно на плюсах, на Xamarin, на кордове, но это все залупа из под коня и тебе не нужно. Самое то это котлин, но учить колин не зная жабы = быть дауном. Ах да, Flutter еще есть, но читать код на дарте то еще удовольствие
Короче, аноны, если кто-то постиг азы и совсем не может в инглиш советую тытуб вот этого парня, мне в свое время очень помог. Там есть достаточно годные волосики по RxJava2, лично просил, чтобы ускорить их выход. Там всякие Moxy, Dagger тоже есть, хотя вместо даггера я бы советовал коин
>>1535141> Флаттер и реакт - фреймворки для юай, а котлин мультиплатформ про бизнес логикуЧе за хуйню я читаю?> будущем они скорее в тандеме будут работать, а не против друг друга.А, не ты ли тот дегенерат, который подключил котлин мультиплатформ к флаттеру и высрался на медиум по этому поводу? Вот я знатно проорал тогда. Нахуй тебе писать логику на котлине, если ты можешь писать ее на жс или дарте, ебанутый?
>>1535159> планы именно такиеМожно для начала хотя бы мультитредовые курутинки в нейтив завести? И меморимодель пофиксить, чтобы не было форсед иммутабилити с костылями на атомикреференсах?
>>1535329В андроиде котлин используется для того, чтобы подкидывать новые данные на ui, бизнес логики в приложении должно быть по минимуму, потому что она инкапсулируется на сервере в rest запросы. По сути, твоя задача получит и отобразить, все. Причем тут колин и бизнес логика ваще понятно
>>1535220https://www.youtube.com/channel/UCxGXkPks1Ykbx2Plt4DgZlAВ тред написал, а ссылку не кинул, уебан
>>1534760Вакансий для джунов нету, в снг одни говнопроекты короткосрочные на мобайл(ios/android). Для вката иди лучше во фронтенд.
Попробовал курсы от udacity, не совсем понравилась подача, будто прямо совсем для детей. Какие другие курсы посоветуете, желательно на русском? Из шапки от Яндекса и майл ру подойдут новичку для основы?
Правильно ли понимаю что No .exe installer это портабельная версия? Не хочется тратить канал на проверку, кто-нибудь ставил уже?
>>1535169Нету, потому что это пока только планы. Компоуз будут в мультиплатформу допиливать либо гугл, либо через опенсорс. Джетбрейнсы вряд ли этим будут заниматься.
>>1535242> Можно для начала хотя бы мультитредовые курутинки в нейтив завестиУже завезли и их можно даже потестить вроде. Скорее всего они появятся в 1.3.70. Меморимодель фиксить скорее всего не будут. Но в целом это не мешает, просто надо уметь готовить. Как пример - Reaktive от badoo, они там запилили мультитред в нативе.
Хелп, работал кто-то с Navigation Drawer? Как адекватно работать с фрагментами, можно как-то настроить их связь с полноценной активити, которая будет за них отвечать или мб есть вариант как сам фрагмент сделать активити? Не могу найти вменяемой инфы по этой теме. Конкретно, хочу сделать фрагмент с картой, навесить на нее маркеров и т.п. Буду благодарен за подсказки или ссылки на инфу по теме
>>1543425Нихуя блять не понял, но можешь спокойно выпиливать Navigation Drawer, использовать обычный DrawerLayout и делать в нем вообще че хочешь.
>>1543825Спасибо, попробую, не думал, что эту херню можно просто добавить как layout. По поводу того, что ты не понял, как я понимаю при navigation drawer к итемам этого дравера нельзя при установке на них слушателя привязать активность(отдельный activity класс для каждого элемента), можно лишь привязать класс, который екстендит Fragment, таким образом этот класс по сути может обрабатывать лишь примитивные ui манипуляции и больше нихуя, я спрашивал, может ли этот класс екстендить не Fragment а полноценную активити, либо быть каким-то образом связаным с полноценной активити.
Планирую сделать бота, используя что-то навроде opencv, но представлений о работе системы не имею. Поэтому возник вопрос, есть ли у приложения возможность задетектить мою сиимуляцию кликов или ещё как-то спалить подозрительный процесс?
Есть сорцы приложения:https://github.com/BijoySingh/Scarlet-NotesЯ клонировал репозиторий и установил андроид студию. Ставил с оф. сайта. Как теперь собрать приложение? У меня линукс, если это важно.Алсо, до того как поставил андроид-студию с оф.сайта - я ставил её флатпаком. При импортировании проекта мне предложили скачать(?) какой-то gradle и использовать его. Я нажал ок, там что-то начало собираться, но в конце посыпались ошибки о неправильной версии gradle или типа того. Ну и я решил, во-первых, поставить студию с оф.сайта, чтобы траблы с флатпаком исключить, ну и заодно попросить у вас инструкцию как и что вообще делать.Короче. Вот я клонировал репу и поставил студию. Дальше что?
>>1545515Пройти нахуй с такими вопросами. Если ты не можешь решить этот вопрос, то даже не стоит начинать.
>>1545649Что начинать, шизоид? Мне понадобилось приложение собрать, у меня не получилось, я пришёл за советом. Я разрабатывать ничего не собираюсь, внезапно. Энивей, я уже всё собрал.
В новом дарте запили нуллсефети и экстеншен функции.Пока котлин стоит на месте и пилит какую-то мультиплатформенность, дарт уже стянул все лучшее.
>>1545865Мне котлин наоборот кажется этаким пхп, в которых натаскали все что модно лежало, а потом фиг пойми как это все вместе работает.
>>1545899Не согласен с тобой. Мне, например, нравится то, что Котлин позволяет максимально полно применять функциональный подход в условиях строгой типизации. Можно максимально ёмко реализовать любую функциональную модель. Он, по сути, взял лучшее от Джавы и функциональных языков. Раз уж на то пошло, с пхп можно как раз сравнить Дарт, учитывая его ориентированность. Он изначально создавался для веба и он довольно неплох, на самом деле.>фиг пойми как это все вместе работаетСтранно видеть подобное. Так и работает, устройство работы чего именно тебе непонятно?
>>1546075Только бизнес-логика из функциональщины, дальше обычных простых лямбд, превращается в не сопровождаемую кашу.Поэтому для мобильных приложений аля тяп-ляп grud еще терпимо, а куда что сложнее, начинается боль.ФП интересно писать, как вот сопровождать, нет. Поэтому ФП в чистом виде скорее ненужный квест на переусложнение, чем прагматичная практика.
Котлин лег на неокрепшие умы хорошим хайпом и пиаром. И может даже кого-то удивил, кто не видел скалы, груви или питона. Но, к сожалению, этими неокрепшими умами язык сам по себе не продвинуть. Как барахтался внизу рейтингов так и остался языком для андроид разработки (в прочем, внизу и ваш дарт и го и прочее).Один только плюс в сторону дарта, у него хотя бы нет этого наивного пиара, он просто продвигается за счет флагманского проекта. Что, я считаю и должен делать каждый новый язык. Ну и у дарта там есть хот-релоуд, компиляция (котлин нейтив там что-то уже несколько лет вязнет в самом себе).
>>1546305Сопровождаемость напрямую зависит от правильности проектирования. Если придерживаться принципа "разделения ответственности" в отношении условных функциональных блоков, никаких проблем не возникает. Камень преткновения функционального программирования в том, что оно предоставляет большее количество возможностей обосраться, отсюда и сложности. Надо просто быть внимательнее и своевременно делать тесты, дабы обеспечить должную гибкость в модифицируемости.>>1546311А что тебе даёт место в рейтинге? Это не влияет на развитие языка и его эффективность в решении задач. Это отражает его востребованность на рынке, но реальность такова, что любая технология может однажды умереть. Если ты не "сиделец за зарплатку", покрытый пылью инертности, то проблем с переходом на любую другую технологию не возникнет.
>>1546491>Камень преткновения функционального программирования в том, что оно предоставляет большее количество возможностей обосратьсяСлишком абстрактно навалял, не о чем. ООП выдрессировал программистов мыслит обобщенно, видишь ты метод, аля searchInDirectory() и ты приблизительно понимаешь что там и надо ли тебе туда лесть, а ФП вместе с лямбдами городит кишки наружу, мне всегда нужно пройтись по лесенке кишок чтобы понять гениальную мысль очередного ФэПэшера.Языки которые пошли по масштабному пути ФП, обречены.Спасибо джаве и питону, что не пустились в свое время на волну хайпа.>А что тебе даёт место в рейтинге?Как что? Ты вчера в айти пришел?Мне это дает понять, -стоит ли вообще обращать внимание на технологию или это выпук, -есть ли будущее у проекта, стоит ли на нем вообще что-то начинать-будут ли доступны программисты и насколько дорого придется их потом нанимать, если язык так и будет скребсти об пол рейтинга.-будут ли на нем определенное число библиотечных решений.-будут ли библиотечные решения качественные (1,5 фалловира библиотеку не отдебажат)-будет ли нормально число документаций, примеров, чтобы мне в сорцах не ковыряться.и так далее...
>>1546890>ФП вместе с лямбдамиООП вместе с классами...>городит кишки наружу, мне всегда нужно пройтись по лесенке кишок чтобы понять гениальную мысль очередного ФэПэшера.Это проблема не ФП, а людей, которые пишут на ФП. В ООП тоже можно нагородить ебанутой хуйни из абстрактных фабрик синглтонов, в ИП можно нахуярить глобальных переменных.
>>1546890>мне всегда нужно пройтись по лесенке кишок чтобы понять гениальную мысль очередного ФэПэшераСлушай, ну ебланов никто не отменял. Качественный ФП-код вполне читабелен.>и так далее...Вполне достаточно отслеживать и анализировать тенденции, которые позволяют увидеть более полную картину.
>>1546975>ООП вместе с классами...Противоречий тут нет, просто ты "шаблонно-мыслящий" и слышал эту фразу только в связке дополнения к перечислению и не можешь иначе воспринимать. в данном случае ставиться усиление на классы или лямбды>Это проблема не ФП, а людей, которые пишут на ФПОчередное "это не язык/парадигма плохая, это программисты кругом плохие". Вот питон не дает сделать спаггети-код из лямбд и там его нет, в отличие от каши в котлине.
>>1546491Почему все фп-адепты никогда не приводят конкретный язык? Может потому что они на нем не пишут?И если сподобишься - принеси ещё проект с "нормальным" фп, чтобы посмотреть можно было.>>1547047Так это же Stream, он и в Java есть.
>>1547047>на питоне нет Х, чтобы хуячить говнокодТам же можно лютые односторочники на генераторах писать.
>>1547047У тебя на пике джава и код вполне себе читаем и понятен. Я бы еще в паре мест перенос строки ебнул и стало бы вообще отлично. Алсо у тебя на пике только одна лямбда.
>>1547140Я понимаю, что котлинисты ущербы с одной извилиной, но к чему это ты щас конкретно высрал? Даже без каринки читаемого функционального котлиносинтаксиса?
>>1547242Согласен, котлин даже не настоящий язык, это просто синтаксический сахар на жабой, 8-ки по функционалу хватает для всего, для чего позиционируют котлин.
>>1547047Не тот пик запостил, но в целом тоже вложенная лапша, котлин дает просраться еще сильнее в этом плане.
Нет будущего у котлина. Как совет, не слезайте с жабы.Первой ошибкой было натянуть прокси джавы, а не начать с язык нуля, со своей парадигмой, а не фиксом джава бойлерплейта, слизывая все со скалы, груви и еще чего-то.Достаточно было посмотреть на скалу и груви, чтобы понять, что это максимум что можно выжать с прокси языков.хотя эти потуги и победы в мобильной разработке, это зачетВторая ошибка, это командой IDE разработчиков делать язык общего назначения. Я не слежу за новостями, но что-то у меня ощущение что они сейчас просто стагнируют с таким охватом желаний. Что там котлинконф вам принёс?Третья ошибка, вложиться в хайп, вместо в флагманского проекта или библиотек. Мне довелось наткнуться на достаточно фанатичное и токсичное комьюнити, я думаю, виноват именно этот хайп. Не понимаю, зачем привлекать к себе не тру-программистов, а всякий ваннаби скам, который наиграется и слиняет так же легко, как пришел.Четвертая фундаментальная ошибка, язык ограничен возможностями IDE, не думаю что там когда-то появиться какая-то мета-шняга, которая не по силам IDE. Туллинг должен помогать, а не ограничивать. Ну и привязка к одному вендору это всегда печально привет шарпистам.Пятая, язык не привносит ничего нового, даже убогий го дает тонну технических плюшек, ради которых его еще можно терпеть но не стоит.
>>1547276Я хз где она, мне лень искать, я думаю ты и без меня видел ФП лапшу, на которую требуется определенное время чтобы разобраться, вместо звучного перечисления методов из ООП, которое легко читается и понимается как текст. Но конечно, тебе не хватит мозгов, или гордости, чтобы принять этот факт и ты напишешь в духе - да тут все просто, подумаешь потратил ресурс мозгов на ненужные кишки логики, которые торчат у каждого ФП наружу.Мне ФП напоминает времена, когда нужно было в говнокоде лесть в кишки функций, чтобы понять что там происходит или как она работает.
>>1547300Так себе совет - не слезать с инвалидной жабы 8, которая никогда уже не будет развиваться в андроиде, в котором нету будущего у джабы. Весь андроид уже по сути перекатился на котел. Если судить о котле как о языке в целом, то тоже сомнительное заявление. Градл перекатывается на котлин, спринг перекатывается на котлин и т.д.
>>1547409Я думаю на андроиде не будет будущего jvm-подобия.Накатывать на закате лет котлин, так же весело, как надевать лыжи весной.
>>1547300Котлин писался с нуля для внутренних нужд компании, которая разрабатывает IDE для джава платформы. Джава, видимо, показалась все таки неудобной (с чем я с ними согласен), поэтому сделали свое, в первую очередь для себя.> Вторая ошибка, это командой IDE разработчиков делать язык общего назначенияЧто за язык общего назначения? А какой еще может быть для jvm? А тогда какой язык делать - не ошибка? С учетом исходной цели - получить удобства для работы под jvm.> Третья ошибка, вложиться в хайп, вместо в флагманского проекта или библиотек.Ну тоже сомнительный поинт по поводу флагманского проекта. Наверняка IDEA почти полностью на котлине уже. И тот же Space, который на конфе анонсировали, полностью на котлине, от фронта, до бэка. Гугл вон использует И вообще, зачем переписывать библиотеки, когда котлин предлагает гладкий интероп с джавой - то есть можно просто использовать уже готовые и привычные джава библиотеки, ничего не переписывать, а продолжать их использовать и просто писать на котлине с его удобными фичами и сахарком.> Четвертая фундаментальная ошибка, язык ограничен возможностями IDEВ каком месте он ограничен IDE? Бери качай компилятор, тулзы и пиши в блокноте, кто мешает? Все находится в опенсорсе. Хочешь эклипс - качай плагин и пиши в эклипсе. Я как раз тут вижу ситуацию, когда наоборот присутствует удобный и поддерживаемый туллинг.> Пятая, язык не привносит ничего нового, даже убогий го дает тонну технических плюшекХорошая шутка про го. Дает тонную плюшек, например, отнимает дженерики и ООП.
>>1547248>>1547300Эксперты на 5 рублей. >Мне довелось наткнуться на достаточно фанатичное и токсичное комьюнити, я думаю, виноват именно этот хайп.>Нет будущего у котлина.Потому что никому нахуй не нужно мнение диванного эксперта. Есть у него будущее или нет - решит рынок. В большей степени токсичны как раз джава-карлики, потому что им не нравится тот факт, что Котл уже вытеснил её из рынка мобильной разработки. Никто не станет создавать новый проект на Джаве, а это о многом говорит. Плюс код Котла короче, читабельнее и прагматичнее - это важно, когда важна сопровождаемость. Ещё, кстати, Котлин всё чаще используют в связке со Спрингом, но это всё выдумки, не верьте. Не слезайте с Джавы, окажите услугу.>>1547314>не хватит мозгов, или гордости, чтобы принять этот факт и ты напишешь в духе - да тут все просто, подумаешь потратил ресурс мозгов на ненужные кишки логики, которые торчат у каждого ФП наружуГде связь между недостаточным уровнем знаний и ФП?) Если ты не можешь в качественный ФП код, это не значит, что это что-то плохое.>в говнокоде лестьСразу представляется картина говнокода с лестными комментариями, забавно.>>1547409Пусть сидят на ней дальше, убеждая себя в том, что у Котлина нет будущего. Это же дефолтные аффирмации деревянных работяг.
>MVVM - костыли от гугла:>Для нормального понимания желательно знать AAC.выпал из промышленной разработки пару лет назадlivaData и ViewModel от гугла так и остались костылями и все юзают rx или это уже стандарт в разработке??
>>1547468> ViewModelЭто обычная замена ретейн обжекту, не обращай внимание на название. Можно пихать туда че угодно, что должно не пересоздаваться на конфиг чендже.
>>1547451>Если ты не можешь в качественный ФПОпять программисты виноваты.Да где вас таких выращивают?? У ФП четкая проблема, она вытаскивает кишки кода наружу. Его не плохо готовят, он неудобен в сопровождение, это факт. Да, удобно список по фильтрам пустить, но этим же не заканчивается.>Есть у него будущее или нет - решит рынок.Ты готов инвестировать свои силы и время в пустоту? Ну я рад за тебя. Другим же дали мозги и возможность анализировать.>Если ты не можешь в качественный ФП кодСам придумал, сам покритиковал. Умница, че.
>>1547700>это фактНет, это твоё субъективное мнение.>инвестировать свои силы и время в пустотуЧто значит в пустоту? Ты конвертируешь их в профессиональный рост и получаешь деньги, в чём проблема? И развиваешься ты как технический специалист, т.е. в целом, понимаешь? Я могу без особых проблем пересесть на любой другой язык и освоить используемый стек. Все технологии похожи, поэтому сделать это легко. Если нужно будет, или если захочу, я это сделаю.Аж грустно стало от того, что ты написал. Нельзя же так строго связывать своё будущее с одним языком и стеком, ещё не раз пересядешь на что-то другое.>Сам придумал, сам покритиковал. Умница, че.Я предположил, без обид.
>>1547714>Нет, это твоё субъективное мнение.Тебе просто не хватает опыта работы. Ты видишь через призму "раз это писать легко и интересно, значит и сопровождается это легко и интересно".ФП - усложняет сопровождение кода, когда его критическая масса в коде становится большой. Именно поэтому ФП языки не популярны. Не потому то это интеллектуальная задача для избранных любителей борщей, а потому что это не практично для реальной работе.>И развиваешься ты как технический специалист, т.е. в целом, понимаешь?>Я могу без особых проблем пересесть на любой другой язык и освоить используемый стекНе, не можешь, любой стек и технология отнимает определенный бесценный ресурс (как твою память, так и время). Причем чем больше ты углубляешься, тем более ненужными твои знания становиться. Представь ты стал специалистом какого-нибудь спринга, а условно завтра он стал ненужен. Целый вагон знаний и опыта просто обнулился. надеюсь ты не из тех кто начнет спорить за сипринг, это был примерВ ИТ очень много конкурирующих технологий и чтобы к 30 не оказаться на обочине, надо анализировать перспективу уже сейчас.Тут аналогия ближе к скачкам. Ты либо ставишь на фаворитов и имеешь шанс победы, или ты ставишь на аутсайдеров, но успокаиваешь себя что получил опыт, знания и вообще процесс важен чем результат.>Я предположил, без обид.Поговорив сам с собой, ты никого не обидел.
>> Если имел опыт в програмаче, можешь посмотреть видосики отсюда https://web.stanford.edu/class/cs193a/videos.shtml>> These videos are privately uploaded and are for viewing by Stanford CS 193A students onlyкак смотреть?
Имею профильное образование, писал на крестах, шарпе, но жабу все время обходил стороной, сейчас решил попробовать мобильные приложения, и тут два стула, жава и котлин. На какой лучше сесть в почти-2к20?
Друзья, будьте добры, ответьте на пару вопросов:1) Когда используется MVP, а когда MVVM?(Я так понял, что в Андроиде используют только их) Не могу разобраться до конца. То есть в MVP отсутствует связывание данных, есть интерфейсы представления, которые отвечают за состояние и слушатели, а MVVM - связывание данных, т.е. view меняется автоматически и ни с кем не взаимодействует - только отображает изменения. MVVM, полагаю, реализует более строгое разделение ответственности. Правильно? Если нет, объясните. Если можно, про MVI расскажите. Применяют ли его? В каких случаях?2) Если я залью пару приложений в плей маркет, есть ли смысл лить исходники в гит? Как лучше поступить?3) По поводу Jetpack Compose. Я так понимаю, что это альтернатива ui-xml, т.е. каждый ui-элемент создается в коде, что позитивно сказывается на производительности, т.к. ресурсы выделяются в момент вызова(как с инлайн функциями), соответственно, такой подход предусматривает отдельный жизненный цикл. Верно?Большое спасибо тому, кто ответит на вопросы.
>>15515061) На вкус и цвет, все три паттерна применяются, выбирай какой душе угодно.2) Можешь залить, а можешь не заливать. Лучше вообще в стор не заливать, там и без тебя говна хватает, да и 30 баксов сэкономишь. Апкшку можно в гитхаб релизы залить.3) Цикл определяетя активити, а не вьюшками. На счет производительности еще хз, нужны бенчмарки. Можешь про компост забыть до следующего гугл ио спокойно.
>>15516131. Так вот, вопрос в том, когда применять тот или другой?2. 30 баксов не жалко, вопрос только в целесообразности. В моем проекте с используется C++ ndk, алгоритмы реверсивной обработки bitmap, кастомная реализация визуального поиска, не хотелось бы лить это в паблик. Мб сделать приватный реп и показать его, если попросят, а для галочки показывать сами приложения?3. Compose пока не используют в продакшне, т.к. он сырой, как я понял?
Господа, мне прилетела идея приложения завтра хуй забью, которое пользует стороннее паблик-апи. Информацию, полученную с этого стороннего апи, мне ещё необходимо агрегировать перед отправкой на UI. Вопрос, собственно, заключается в том, как мне к этому апи обращаться:1. напрямую колать и агрегировать на устройстве;2. через свою бекенд-прослойку, которая будет агрегировать и отправлять на устройство готовые данные, которые просто надо отобразить на UI;3. Ваш вариант.
>>15517141. > выбирай какой душе угодно2. Ну значит залей в плей стор, епт, в чем проблема то? Залей исходники в битбакет, можешь даже отдельный акк с ридонли правами завести для этого приватного репо, чтобы скидывать кому хочешь. Ну или в приватный гитхаб, там вроде тоже до 5 человек в приватные репы добавлять можно.3. Он в пре-альфе, конечно не используется.
>>1534623 (OP)Вкатываюсь с нуля. Т.к. в СНГ плохо с хай-тек промкой, а впахивать на ЗАО "Гос. сиська и КОбанчики" (суверенный дистр линукса/драйвера для гос. скотозагонов), кормя паразитов, мягко говоря, не хочется, то остается только веб и мобильная разработка. То есть, остается только второе. Остановил выбор на Kotlin/Java/Scala. Т.к. живу в мухосрани на 600 к, то текущие вакансии таковы (после беглого мониторинга одного из сайтов, поэтому выборка не полная): Java - 20, Kotlin - 4, Scala - 2. Стоит также отметить, что ява подходит везде, именно котлин или скалу никто отдельно не указывает. Как понимаю, вкатываться в последние два можно только если ты из ДС-1-2, т.к. не возникнет проблем с поиском подходящего места. Выходит, что в мухосрани наиболее целесообразно вкатиться в яву, а потом уже плавно перекатываться на котлин? Было бы лучше сразу надрочиться на один синтаксис, но провинциальные реалии не оставляют выбора. Что можете сказать по своему опыту?
>>1552793Учи не джаву хуяву котлин хуетлин, а андроид сдк. О того, что ты прошел задачки с джавараш хуйни, на ведро ты писать не научишься.
>>1553195Ну если знаешь только шарпы, то да, больше вариантов нету. А если язык не главное, то уж лучше тот же флаттер тогда освоить с мерзким дартом. Но лучше конечно под натив на котлине писать.
>>1553443Ты хуй обещал забить.Зависит от паблик апи. Я вот например платное юзаю с бесплатным лимитом использования, поэтому кеширую все запросы на своем серве. Если апиха бесплатная и тебе поебать, то можешь на клиенте ебашить.
>>1553262Почему дарт мерзкий? Мне он показался как-то ближе (наверное потому что ближе к джаве), котлин я вообще местами не понимаю (если их противопоставлять). До сих пор не пойму зачем они так над конструктором надругались
>>1553457Что за сфера? Для людей или для себя? Если для людей, то сколько скачиваний и монетизировал ли?
Господа, я у мамы не погромист и не собираюсь, но надеюсь на помощь. Есть у мамы меломан, который слушает всё дискографиями и на флешке 100гб музыки (и то тому что смарт больше 128гб не видит флешки). Этот меломан я, офк. Так вот, первым смартфоном был LG-e455, на котором был крайне удобный дефолтный плеер с околодревовидной структурой файлов. Долго он у меня был, потом я начал перекатываться на другие смарты и оказалось что НИКТО БЛЯДЬ НЕ ДЕЛАЕТ ПЛЕЕРЫ С ДРЕВОВИДНОЙ СТУКТУРОЙ ВООБЩЕ БЛЯДЬ ГОВНО ЁБАНОЕ ОДНО КАКОЕ-ТО, ПЛЕЙЛИСТЫ-ХУИСТЫ,.Еле-еле нашёл ровно джва плеера которые так делают - Lisna (пикрел) и ещё похожее говно оформленное только в совкостиле.Данные плееры - говно ебаное, шо по дезигну, шо по куче всего остального. Пользуюсь Лисной. Итак, вводные закончились, теперь вопросы.Во сколько мне обойдётся реализация подобной идеи руками мамкиных фрилансеров (если местные хотят и могут то я контакты оставлю)? Вариантов три, як я понимаю:1. Раскопать в интернете дефолтный плеер от того телефона и что-то там поменять в коде, дабы он не ругался на то что я запускаю его не на LG (давным-давно час потратил на поиски, еле нашёл и вытащил, а мне говорят, мол дружок-пирожок, нахуй иди со своим сяоми). Вариант, кмк самый дешёвый, но опять же, я нихуя не уверен что системное приложение 2014 года будет нормально работать на ведре 2020го.2. Разработка плеера с нуля. Тут я не ебу, скорее всего есть там всякие сборочки бесплатные и опенсорнсные, и нужно будет прикрутить только вот подобный интерфейс. Но опять же хз, я не разбираюсь.3. Создание плагина/мода для любого плеера вроде Poweramp, который добавит такую хуйню. Подытоживая. Нужнен плеер с древовидной стуктурой и возможностью менять дезигн (темы нинужны, максимум смена цветов фона/текста, плеера ну и поставить картинку какую на фон мб).Так воть, господа, куда мне идти и во сколько мне это встанет по деньгам?
>>1553521За бутылку пива напишу, те такую хуйню. На следующей неделе выходит новый фреймворк, хочется потестить. Если не найдешь плеер, отпишись.
>>1553521>Подытоживая. Нужнен плеер с древовидной стуктурой и возможностью менять дезигн (темы нинужны, максимум смена цветов фона/текста, плеера ну и поставить картинку какую на фон мб).100-300к.
Аноны, какие паттерны проектирования чаще всего используются в Андроид-разработке? Где можно почитать об этом?
>>1552793Scala не нужна. Вкатывайся в котлине, но после понимания основ ждавы). А лучше обрати внимание на flutter.
>>1555051Паттерны для задротов, просто хуяч код так, чтобы понятно было. Как минимум половину из них ты будешь сам использовать даже не осознавая.
>>1555135Насколько флаттер лучше, чем реакт нэтив? Насколько я понимаю, и там и там все равно нужно иметь хоть какой-то опыт в нативной разработке, чтобы фиксить платформоспецифичные баги, но на реакт нэтив проект хотя бы не придется разработчика искать десять лет, а это уже охуенный камень в огород флаттера.
>>1555221И реакт хорошая технология) Но если честно не знаю как там взаимодействие с хардвером обстоит.
>>1553585Год ищу, лол, и в моби раза два уже реквестил - нихуя.>>1553617Оки, пиши. Телега - @merm_aids
>>1555390Я серьёзно. Что там должно быть? Кто-то делал себе резюме в виде гит-профиля? (с примерами кода и т.д.) Какие примеры вы там размещали?
Хочу (и есть необходимость) вкатиться в Android-разработку. До этого было 15 лет всякого, JS/PHP/Python/Perl. На Java никогда ничего не писал, но на общих знаниях о том, как устроено программирование в Read-Only я большую часть понимаю. Про gradle, maven и прочие вещи только слышал краем уха. Могу ли я сейчас при таких вводных сразу долбиться в Kotlin и Androidоспецифичные вещи, а на изучение джавы забить?
>>1555593Пишешь свой домашний проект. Который пишешь несколько месяцев. Смотришь какие в вакансиях технологии просят. Основные фреймворки стараешься добавить в свой проект, делаешь хорошо, чтобы не стыдно было показывать свой проект. Если будешь что-то придумывать от себя, тогда вообще сразу с руками и ногами оторвут. Проект нужно тоже какой-нибудь интересный придумать. Туду листы уже никому не интересны, хотя если там будет удобная и неглючная работа по удалению и вставке новых элементов, тогда можешь показать. В том же Google Keep сделано по уебански и тормозяще. Не забываем про использование всяких крашлитиков и тд.
>>1555949Расписал ты пиздато, но его нахуй пошлют 99.99% компаний еще до собеса, так как коммерческого опыта на андройде нету.
>>1555051Factory, Delegate, Singletone, Obsever и т.п. если ты про это.А так читай Clean Architecture и смотри как пишут в гугле. Google I/O приложение можешь выкачать посмотреть. Еще можешь посмотреть как написан Telegram (и охуеть).
>>1555960> коммерческого опыта на андройде нетуПрограммистов на андроид с коммерческим опытом аист приносит?
>>1555960Если угадать с уровнем ЗП, тогда могут взять на какой-нибудь проект, если бюджет позволяет. Нужно уметь себя продавать, как на гитхабе, так и при личной встрече на собеседовании. И вообще не стоит забывать, что есть фирмы, которые постоянно берут себе всяких вкатывальщиков, которые хотя бы приходят на работу вовремя. Такие места обычно опытные разработчики обходят стороной. Поэтому такие фирмы "мы бы и собаку.." берут кто подходит под минимальные требования, т.к. сроки горят/намечается новый проект/старый разраб внезапно съебался.Даже забавный момент был на текущей работе, что фирма не может найти разработчиков со знанием английского на иностранный проект. В РФ не нашли, пошли нашли индуса который умеет в английский и продали его на проект.
>>1555940Да лан нахуй. Я в Мухосрани, проработал до 34 годиков в веб-параше, делая всякую хуйню в основном для нужд интранетов провайдерских. Всё заебало, хочу катиться дальше. Выбрал мобильную разработку потому что от веба уже тошнит, а бэкэнд выбрать не могу потому что опыт хайлоада итп получать негде. Из мобилок есть Android и iOS. По разным причинам я выбрал Android. На джаве я в институте даже какие-то курсовые делал, но это было 15 лет назад, так что называть это знанием джавы я как-то стесняюсь.
Сделал небольшое тестовое приложение на react native, через Android Studio сделал APK и установил на телефон открываю приложение а там белый экран, как это фиксить?
>>1556243Странно, что уже такой взрослый и задаешь такие вопросы. Если хочешь уйти из вэба в Android-разработку, тогда сразу откидывай радужные представления о ней. Здесь так же есть свои проблемы, болячки и несправедливость. Все что ты знал про вэб придется забыть, переиспользовать сможешь только общепрограммистские темы.Говоришь из мобилок есть обе платформы, тогда почему к этим ребятам не подойти? Они тебе с радостью смогут провести ликбез по разработке мобильных платформ.Может ты достиг своих лимитов по возможностям и не стоит вскрывать эту тему? В твои то года это не так просто будет сделать, если ты не одаренный и тебя это затягивает с головой. А так как разработчик под Android советовал бы смотреть в сторону iOS
>>1556881Перекатился из вротенд параши(1.5 года опыта) в ios за месяц. Сидел по 16-20 часов каждый день, уж очень хотел сделать приложение свое.
А есть ли внезапно книги или курсы по Java для тех, кто вкатился в Android сразу через Kotlin? Вопрос может быть и идиотский, но вот книги по Obj-C для Swiftогоспод вполне себе существуют.
>>1558857К чему тогда вообще этот вопрос? Если он гипотетический, то вполне очевидно, что в этом просто нет необходимости. Если ты знаешь Котлин, ты поймешь и Джаву - достаточно применить сопоставительный метод и определить различия, т.к. они очень похожи. внезапноПринцип инверсии: если взять любую книгу по Котлину, где, как правило, объясняются его преимущества читай: отличия, и отбросить его синтаксический сахар, ты получишь желаемый результат. К тому же, Джава в большей формализована и строга, так что понять её со знанием Котлина не составит труда. Имхо, чем больше гибкости в реализации чего-либо - тем сложнее это понять.
>>1559075>Если ты знаешь Котлин, ты поймешь и ДжавуТакое возможно вообще? Как можно накатить котлин не знаю джавы? Это как накатить тайпскрипт не зная джаваскрипт.
>>1559359>Такое возможно вообще?Вообще без проблем, как и в случае со Скалой. Он вполне самодостаточен. К тому же, изучая Котлин, ты учишься читать байт-код, что способствует пониманию Джавы.
>>1559622>К тому же, изучая Котлин, ты учишься читать байт-код,Лол, где вас так зомбируют? Я не хочу читать байткот, зачем он мне.>Он вполне самодостаточен>ты учишься читать байт-кодОкей
>>1559681>>1559690Прошу прощения, перефразирую. Если ты хочешь быть инженером, а не кодером, ты можешь изучить JVM. В этом случае проблем с пониманием Джавы не возникнет, гарантирую.>Он вполне самодостаточен>ты учишься читать байт-код>ОкейKotlin (Котлин) — статически типизированный язык программирования, работающий поверх JVM и разрабатываемый компанией JetBrains.Это самостоятельный JVM-язык.>>1559684>способствует пониманиюПонимание — универсальная операция мышления, связанная с усвоением нового содержания, включением его в систему устоявшихся идей и представлений.
>>1559718>В этом случае проблем с пониманием Джавы не возникнет>Kotlin...Это самостоятельный JVM-язык.Так что ты там понять-то хочешь? Котли или Джаву?Ты умудряешься в одно своем посте сам себе противоречить, инженер.>В этом случае проблем с пониманием Джавы не возникнетУ меня за 15 лет не было проблем с понимаем джавы. Пока какая-то говно-перделка не модифицирует сама байткод, мне в этот байткод лазить не надо. Кстати, котлин полноценный язык или очередная перделка модифицирующая байткод? Риторический вопрос
>>1559718>Kotlin (Котлин) — статически типизированный язык программирования, работающий поверх JVM и разрабатываемый компанией JetBrains.>Если я скопирую цитату из википедии я буду казаться более важным?
>>1559718Обосрался и накопировал цитат с ру-вики.Ты конечно туп, но твои фанатики сейчас ставят акцент, что котлин это не только jvm язык. Так что прекращай сать против ветра.
>>1559845> Кстати, котлин полноценный язык или очередная перделка модифицирующая байткод?А полноценный - это какой? Kotlin Native в бинарники компилится, это делает его "полноценным"?
>>1559936На всю страну 96 вакансийИ видимо для совсем вкатывальщиков из тех 96 вообще на пальцах 1 руки посчитать можно
>>1559845>Так что ты там понять-то хочешь? Котли или Джаву?Анон задал вопрос о том, как изучить Джаву тому, кто знает Котлин, а я ответил ему.>У меня за 15 лет не было проблем с понимаем джавы.Так ответ был не для тебя, можешь гулять.>>1559848Вряд ли.>>1559859Ты ищешь фанатизм там, где его нет.Фанатизм — слепое, безоговорочное следование убеждениям с обязательным навязыванием своей точки зрения другим.Он свойственен тем, кто хейтит Котлин. Какой в этом смысл? Не нравится - не используй, никто не заставляет.
>>1555949>>1555949>Туду листы уже никому не интересныВсем здрасти, я давеча придумал очень нужное (мне) приложение с туду листами, если вдруг кто-то хочет сделать туду листы в целях обучения, для портфолио или просто для души, отзовитесь, могу поделиться занятной концепцией, а также помочь по мере возможности опыт на джаве: есть, опыт на андроиде = 1 месяц курсов + пару простых прилаг.
Тред тухнет, куда девали легион школьников вкатывающиеся в мобилки? В мо или юнити? Куда они перекатились?
Очень далёк от мобайл-разработки. Но всегда было интересно: вы тут в основном занимаетесь просто ui? Или обычно это ui + большое кол-во бэкенда? Стоит ли вообще пробовать, если от большого кол-ва ui тошнит?И ещё вопрос: как дела вообще с удалёнкой? Как в джаве? Или есть большой шанс поработать дома?
>>1565195Потому что приложения новые нахуй не нужны на нативе. Обычному (быдло)юзеру - телега/ватсапп/вайбер, вк, банковское приложение, ютубчик и каг бы все. Ну разве что создать анонимную мобильную имиджборду(не клиент харкача).
>>1550372>Имею профильное образование>писал на крестах, шарпе>спрашивает что выбрать - жаву или язык на его основеЯркий пример что пидорашьи вузы выпускают васянов которые не идут дальше языков для советских калькуляторов и не могут в гугол
>>1565444> C++> Язык для калькуляторов> UE4, Google Chrome, Photoshop, миллиарды их...> Библиотек на чистом C примерно столько жеЧто-то тут не сходится. Ты же понимаешь, что васян здесь на самом деле ты?
>>1565469Ну так и пиши на D (dlangui), C++ (Qt) и Go хоть под десктоп, хоть под ведро. Чё тебе java c котлиным понадобились?
>>1565469>Google ChromeА что, его на Си писали? Теперь понятно почему он забивает файл подкачки и летит с виндой синим экраном, наверное в 80-х не было 8 гигов оперативы, не справляется язык илитариев техников с современным железом
МОЙ ПЕРДАК В КОСМОСЕ И ПОЧТИ ВЫШЕЛ ИЗ НАШЕЙ ГАЛАКТИКИМеня вывел из себя этот ебучий конченный обоссаный SDK Manager консольный петушиный, который находится в папке с Android SDK.Сука эта мразь никогда у меня не работала, что на старом компе, что на новом. Пизда ебаная открывается консоль и тут же закрывается - вот и вся работа SDK Manager. При этом гугл на своем сайте заботливо говорит "вы там скачайте sdk и если не хотите Андроид Студию, устанавливайте нужные Android API через sdk manager". Сукиииии бляяяяя эта хуйня никогда не работала мразь конченная этот sdk manager блядина обоссаная пизда сука недотраханая ебал я его суку подзаборную вафлю конченную.Фух, аж чуть полегчало. Кхм. В общем парни, у меня не хочет ни в какую работать SDK manager. Ну что ему нужно? Ну почемуууу он не запускается? Неужели я такой криворучка и у всех он работает, а у меня нет? Гугл выдает ответы, но они пока не принесли решения проблемы.Он все время хочет что-то чтоб я ему сделал. JAVA_HOME у меня прописан сука!! Сейчас просит repositories.cfg мразь. Я его создал по совету из гугла просто текстовиком, ВСЁ РАВНО ЭТА МРАЗЬ ЗАПУСКАЕТСЯ, ЧТО-ТО ПУКНЕТ В КОНСОЛИ И ТУТ ЖЕ ЗАКРЫВАЕТСЯ, БЛЯДИНАААААААААА.Почему нельзя просто взять и запустить эту шваль SDK manager? почему???
>>1565596> Пизда ебаная открывается консоль и тут же закрывается - вот и вся работа SDK ManagerТы дурачок или что? Сдк менеджер это консольная утилита, а не гуй.https://developer.android.com/studio/command-line/sdkmanager>>1565672Охуенный мужик и курсы у него четкие нет
Есть что-нибудь почитать по организации интерфейса под капотом, как оно взаимодействует и создается, такое прям годное?
>>1565744>Сдк менеджер это консольная утилита, а не гуй.Это ты дурачок, читать то умеешь? Почему она открывается И ЗАКРЫВАЕТСЯ, олень?
>>1565832А чего ты от нее ожидаешь?Ты даешь ей команду, она выполняет ее и закрывается.Если ты не дал команды - включается и выключается.вот попробуй вызвать с опцией --list
>>1565842>>1565879Хлопцы, вы по русски объясните, как sdk manager запускают нормальные белые люди, чтоб он не закрывался? Научите дебила.
>>15658941. Перейти в папку с бинарем2. В адресной строке эксплорера набрать cmd.exe3. В консоли набрать имя бинаря (используй tab для автодополнения)
>>1565960Первые 2 пункта выполнил. Когда запустил тем самым sdkmanager.bat, он выдал какую-то надпись, которая дошла до 100% и всё.А как этой хуйне какую-то команду дать? Она вообще живая, судя по консоли?Tab дополняет только дописывая названия файлов в директории, того же sdkmanager.bat, но не дает список команд. Я кароч не понимаю...
кое-как набыдлокодил приложение, которая делает и обрезает в нужном месте скрин. какие есть библиотеки/модули, для распознавания и перевода текста? для первого вроде есть тессеракт но мне не очень нравится, что он работает оффлайн, а вот апишка переводчика у гугла платная, перевод их хочется, уж слишком он хорошо переводит азиатщину.
>>1566031Ты в каком классе учишься? Серьезно, без троллинга. Ошущение, что тебе на новый год комп подарили и ты сразу решил стать ниибатьсявроткрутымдевелопером.Загугли уже наконец как работает командная строка.
>>1566031Введи например "sdkmanager.bat --help" - получишь список команд,"sdkmanager.bat --list" выведет все доступные пакеты.
на flutter пишет кто? как там с взаимодействием с google play сервисами? нет ли проблем c iap? всякие крешлитики аналитики завезли? можно ли подключить java либу ?
>>1567231>на flutter пишет кто?Те же люди, что вчера писали на реакт нэйтиве, лол.>как там с взаимодействием с google play сервисами? >нет ли проблем c iap?>можно ли подключить java либу ?Ну и нахуя он тебе, если ты собираешься локнуться на одной платформе? Флаттеры и реакты нужны чтобы сделать какую нибудь приложульку уровня "хачу зокозать пиццу", чтобы хуя-хуяк и кроссплафторменно и рейтинг в 1,5 звезды.
>>1567251Почему под одну, потом и под иосьПросто без некоторых либ никак, например яндексовская аналитика
>>1567260> Яндексовская аналитикаПчел, с нее крашей больше чем пользы. Там умнички олимпиаднички посчитали себя самыми умными и решили сделать кросс-зонд через aidl. Получилось так себе, но работу по знатному зондированию с матчингом юзеров через все приложения с метрикой оно выполняет.Аналитика к тому же спокойно через бридж юзается, даже в хуяндексе так делают, смотри доклад с мобиуса.
>>1567265Не понимаю, к чему ты это написал, как она устроена и так понятно. Лучше б рассказал, если ли аналог их событий с параметрами и возможностью просмотра в отчетах, иначе как бы она плоха не была, альтернативы нет
Прошел все Core Topics от гугл гайдов. Отвечаю на "50 вопросов к собеседованию на андроид девелопера" спокойно, могу искать РАБоту?
>>1567873Разве флаттер кому-то нужен? А мне казалось, что он нахуй никому не нужен. Двум с половиной компаниям, которые приветствую знакомство с ним, разве что. Нормальные люди пилят кроссплатформенность на нейтиве
Аноны, если у кого-то есть новая шапка залейте на pastebin или киньте сюда пожалуйста.Вкатываюсь в андройд, интересно было бы почитать что там в шапке.Кстати, с чего посоветуете начать новичку знающему кор джавы? Стоит ли вкатываться на Java и дальше или стартовать с Kotlin? Как там инфа про флаттер и фуксию? Уже сдохли и дадут спокойно существовать андройду?
>>1568610Тоже вкатываюсь в мобильную разработку но ситуация с вакансиями печальна. В веб парашу(фронт-енд) вообще лезть не хочу.
>>1568738Да. Если ты не один из шизиков, которые вечно срут в этом треде по поводу и без, дабы потом потроллькать, объясню ситуацию: сейчас флаттер используется для прототипирования, в т.ч. и кроссплатформенного. (как Руби/RoR, например) Коммерческой разработки на нём слишком мало, читай почти нет. Есть смысл ознакомиться с ним, но не более.
>>1568826Спасибо, братиш. И поясни, пожалуйста, как все-таки обстоят дела с реакт найтивом? Если ли на нем коммерческая разработка? Стоит ли в него вкатываться? Большой ли порог вхождения?
Как вкатиться в ваш андроид?Как понять, что ты ты готов к тому, чтобы ДАТЬ ПОСАСАТЬ всем няшам-стесняшам-эйчаршам в округе?Достаточно ли запилить несколько своих приложений или нет?
>>1568853>Стоит ли в него вкатываться? Большой ли порог вхождения?Тогда придется идти во фронт(где мобайл будет идти в дополнение), чистых мобилок очень мало.Если идешь во фронт - нужно знать js, ангуляр, вьюжс и прочие местные прибамбасы.Порог вхождения, соответственно, нужно рассматривать в контексте целого стека. Если хочешь идти в чистый мобайл, то лучший вариант - выбрать одну ось, что больше нравится, и найти работу. Если вдруг понадобится по работе, тот же свифт довольно быстро учится. Такая же история и с кроссплатформенной разработкой.
>>1568862> Как понять, что ты ты готов к тому, чтобы ДАТЬ ПОСАСАТЬ всем няшам-стесняшам-эйчаршам в округеКогда у тебя есть строчка хуяндекса в трудовой.
Блджат блять. Как с этой андроид студио вообще можно работать на ноутбуке 2 ядра 4 гига? Ну т.е. студия-то еще норм, но эмулятор просто пипец. Сказал, что ускорение не поддерживает, предложил скачать систему arm, в итоге минут 20 висел лого андроид, потом появился рабочий стол с 1 значком гугл, сообщением об ошибке в каком-то приложении и предложением его закрыть. Т.к. все пиздос тормозит, не понял даже прожался крестик или нет, но еще через минут 5 крашнулся весь avd.Как вообще заниматься андродевом на ноуте? Не надо только историй про макбуки за $кк
>>1569285> Не надо только историй про макбуки за $ккПочему не надо? Кто ж виноват, что у тебя амуде и винда не 10 потому что на 10 есть канари версия для амуде через хипер-в
>>1569330Никто не виноват, говорю же старый бук.>>1569287Такой себе вариантик. А сторонний какой-нибудь эмулятор можно прикрутить?
>>1534623 (OP)1. Почему у приложений на андроид такая ебанутая архитектура?2. Можно ли делать аппы на андроид на чем-то кроме явы с полной совместимостью с ОС?
>>1571699Можно на других jvm языках, на всяких платформах вроде react native и flutter, просто это все говно и на стек оверфлоу проблемы свои быстро не решишь
>>1571699> такаяКакая?> с полной совместимостьюС полной нельзя. С неполной милости прошу с кроссплатформенному шалашу.
Доброго времени, работяги. Буду признателен, если поможете решить одну проблему. Прочел множество материала по паттернам проектирования - MVP/MVVM, но так и не нашел тот, где бы описывался процесс организации пакетов. Если я правильно понимаю, сама структура пакетов - вещь вариативная и её построение зависит от субъективного удобства, ведь самое главное - чтобы соблюдались правила, свойственные паттерну. И всё же, посоветуйте материал, где уделено внимание именно организации структуры проекта. "Как" должен выглядеть проект и "почему именно так".
>>1572660Проще поискать проекты на гитхабе да посмотреть, кто как делает.А вообще, по секрету, все эти "архитектурные паттерны проектирования" и устройство проекта - субъективное удобство. Нету никакой зафиксированной идеальной архитектуры или структуры проекта.
>>1569505Берёшь просто телефон конектишь через кабель с пред настроенной передачей и отладкой по USB и не мучишься
Мужики, есть те, кто перекатывался с тырпрайза? Расскажите как перекатывались, бо заебали ебучие наслоения логики из говнокода, в которых неделями разбираешься, чтобы дописать 2 строчки.
>>1574476> аебали ебучие наслоения логики из говнокода, в которых неделями разбираешься, чтобы дописать 2 строчки.Добро пожаловать в андроид разработку.
>>1574651И как ощущения? Нак настроение у коллег? Цвет их лиц? Наличие мешков под глазами? Не дай бог, блеск глаз?
Алё, ведроёбы, чего притихли? У меня к вам лёгкий вопросец, сам полночи проебался - и что ви думаете? Не поднял.Есть один ведроид-8.0, в него вставлена microSD. Как, сука, на неё писать? WRITE_EXTERNAL_STORAGE выдан, во встроенную память я могу писать, а на внешнюю - хуй. Как я понял, гугл высирает по новому апи для работы с флехой чуть ли не каждую версию, поэтому мне бы только для орейо, будьте добры, плииз.
Я уже опустился до того, что попытался писать в диру, полученную через getExternalMediaDirs() , т.е. /storage/0000-0000/Android/media/hui.pizda.zalupaи оно мне такое выдаёт "Illegal byte sequence" - бля, бля, ну ёпта, а.Разрабы ведроида совсем ебанулись? Это ж внешняя карта со сраной exFAT - на том же ПК туда что угодно писать может. Нагромождайте свою секюрность на встроенном сторадже, а внешняя - это ж помойка по-определению. Пидоры ебаные.
>>1534623 (OP)Поясните, что такое actionscript? Трудно ли вкатиться?Я тут просто узнал что Политопия написана на нем, а я-то думал что для мобилок на андроиде все на джаве. При этом эта игрушка довольна легкая в плане нагрузки и выглядит получшем чем та же Civilization Revolution.
Что айос, что андроид два мертвых треда. Или мобильные разработчики настолько востребованы, что нету времени срать на двачах?
где в консоли разработчика задать эту картинку? все перерыл, не могу найти, и нагуглить не получается
Расскажите как сделать кроссплатформенную приложуху? Я знаю только ведроид, жабу, жс и фреймворки под это дело. Об остальном полный ноль. Стоит задача - чтобы мобильное приложение работало и на ios и на андроид. Следует искать какую-то либу, которая будет if ios / if android и писать код один раз или нужно писать разный код на андроид и айос?
>>1582375В твоем случае легче всего будет использовать либо Flutter (писать на Dart), либо React Native (писать на Javascript).
Сап всем ведройд девелоперам и прочим залуперам. Кароче, вопрос по Firebase. Во-первых стоит ли его ваще юзать как полноценную базу данных? Во-вторых, я вкатываюсь в андроид дев и посему создаю апп. Прикрутил аутентификацию, работает. Пытаюсь создать базу для добавления прочей юзер даты, но это не ебаный sql и все через жопу. Ну и не работает нихуя. На стековерфлоу какие-то дурачки сидят(ну или этот дурак я). ХЕЛП кароче!!
Поцы, а реально ли такую приложуху для андроеда запилить, что бы она работала поверх окон, постоянно свайпала вниз, дабы обновить список, анализировала написанное на экране, игнорила определенную комбинацию слов, например "твоя мать шлюха" и если такие слова не встречаются, то делала бы тап-свайп-тап в нужной части экрана?На каком языке програмирования хуйня для андроеда пишется7 Это так-для общего развития. Если что, я не програмист и не вкатывальшик, я простой заводской парень, подумывающий о том, дабы заказать услуги у таких же братьев-заводчан, вкатывающих в ИТ.
Всем привет. Давно не заходил в Андроид Студию, работал в Идее. Решил сегодня запустить от админа в т.ч. - не запускается, даже процесс не стартует. JAVA_HOME чекнул, там корректный путь к jdkда и Идея работает же. Окей, снёс студию только uninstall и переустановил - не работает, снёс джаву к хуям собачьим, переустановил охуел от того, что теперь нужно логиниться в Оракл-акк даже для jdk SE - нихуя не работает. Идее вообще похуй, её всё устраивает, а студия капризничает. Как фиксить?
>>1534623 (OP)Ваш тред по тегу не ищется.Кстати, дайте соус той телки, которая делала видео по андроиду Is that an android phone in your pocket, or you just happy to see me?
>>1584278Пофиксил. Проблема была в конфиге, где было установлено неподъёмное значение на выделение памяти Джаве.Путь конфига: Users > %username% > .AndroidStudio$version > config > studio64.exe.vmoptionsЕсли студия не запускается, но нет даже старта процесса, логов или ошибки - сначала чекайте системные переменные на предмет наличия проблем с версией или директорией, затем данный конфиг.
>>1534623 (OP)Посяните книжку для вката.С учетом того что жабу не знаю.Надо с нее начинать же? Может есть книжка по джаве именно под андроид?
Коллеги, добрый день, как называется эффект, как на картинке?Когда всё мутнеет, а на переднем плане поздравления с победой и кнопочка.В какую сторону гуглить?
Читал описание шаблона Navigation Drawer Activity. Там в Main Activity Александр Климов описывает следующий код. Однако у меня в проекте совершенно другой, пугающе сложный код.Это статья такая старая, или я не туда смотрю?
>>1586433Потому что под андроид сейчас все на нем пишут, все новые библиотеки на котлине, все новые проекты на котлине, гугл говорит, что для андроида первый язык разработки - котлин и т.д. На андроиде старше 8 версии джавы точно не появится, а это плохо, поэтому будущего у джавы там нету.
>>1587796Потому что де-факто на котлин никто из галер особо не переходит, при том сейчас верх его хайпа. Скоро хайп упадет и будет как с скалой. Хотя сам язык ничего, свои говняшки вне работы пишу на нем.
>>1587962Обзмеялся с таких заявлений. Открой гитахаб твоих андроидных галер да посмотри, что все на котлине уже давно пишут.В джаве никакого смысла на андроиде больше не осталось, джетпаки, компоузы пишут на котлине. Если была задумка научится писать на джаве, чтобы потом можно было перекатиться в какой нибудь бэкэнд/энтерпрайз, то тут тоже облом - на андроиде древняя кастрированная джава 8, знания которой уже устаревают с каждым днем.
>>1588933Ну не, до сих пор многие RX-ы до сих пор юзают. Но у нас в компании полностью на котлин перешли и для асинхронщины тоже только корутины, флоу, каналы юзаем.
>>1534623 (OP)Вопрос по RxJava.Есть один Flowable, который испускает объекты.Мне нужно подписаться на поток этих объектов и запустить некую долгую операцию для каждого из них. Но нужно сделать это так, чтобы эта долгая операция была запущенная одновременно не более чем для n объектов. Для этого в сервисе есть метод, который говорит, готов ли он принимать новые объекты или нет. И если да, то я передаю ему объект. Примерно так, короче: https://pastebin.com/6fQuRybgКак нормально это реализовать? Вроде onBackpressureBuffer() должен что-то подобное делать. Но непонятно, как мне туда свой метод myService.hasFreeSlots() запихнуть.
>>1589836Пальцем в небо у flat/concat/Map есть параметр задающий максимальную конкурентность или полный шедулер, так можно ограничить единовременную параллельность.
>>1589908> Конечно лучше бы сервис переделать, но походу для тебя это не вариант.Вот я тоже думаю о том, что имея только два метода hasFreeSlots() и process() по нормальному и не сделать, видимо. Только если пихать где-то Thread.sleep() и проверять hasFreeSlots() снова. Как его лучше всего переделать было бы? > У тебя колбек onSlotBecomesAvailable есть?Нет. Думаю, его можно сделать. Но ведь тогда его будет сложно подружить с rx, разве нет? Сервис будет говорить мне, когда мне надо запрашивать элементы из flowable, а это ведь не так работает: flowable наоборот посылает мне все свои элементы, когда считает нужным. > А может тебе подойдет просто в тупую вызвать flatMap с maxConcurrency параметром?>>1589969> Пальцем в небо у flat/concat/Map есть параметр задающий максимальную конкурентность или полный шедулер, так можно ограничить единовременную параллельность.Попробую. Но в этом случае непонятно, как узнать, что обработка завершена. Метод process не возвращает ничего, только запускает обработку. Наверное, хорошо бы его переделать, чтобы он возвращал Completable и тогда уже думать, что с ним делать?
>>1590100Сервис не мой, я могу лишь ограничено менять его при необходимости.И нет, у него пока никакого пула нет. И на самом деле он не в разных тредах работает, а другую внешнюю систему вызывает.Так а как его сделать не хуевым тогда?
+- выучился на junior'a. Походил по собесам, понял что надо подтянуть, а что вообще выучить с 0. Котлин.Я неплохо знаю джаву и все фишки котлина которыре +- похожы на яву сразу понимаю(например в яве:void method(int arg...)а в котлинеfun(varargs:Int)Ну вот уже час нихуя не понимаю что такое инфиксные функции.Привидите если не слоожно максимально простой пример и объяснение.Всем хеллов ворлд в этом чатике
Ребзя, а есть толковые книги по Android Jetpack?Кто-нибудь использует весь функционал? Удобно-неудобно? Особенно интересует Navigate.Сейчас думаю начать проект для себя, со всеми новомодными плюшками, которые доступны.
>>1590311Ну инфиксная нотация, это когда у тебя есть выражение 2 + 3, где + = это инфиксная функция, которая складывает два целых числа: https://kotlinlang.org/docs/reference/functions.html#infix-notation
Посоны, как гарантированно разбудить устройство? Пилю свой будильник, суть токова: ресивер получает бродкаст от алармменеджера и запускает службу, которая играет музыку и управляет активити с уведомлением. Все способы пробуждения устройства из документации помечены как deprecated: и wakefulBroadcastReceiver, и wakeLock разных типов, кроме PARTIAL_WAKE_LOCK, который у меня почему-то не работает. Вернее работает, если девайс заснул минут 20 назад. А если будильник поставить на 8 утра, то уведомление срабатывает только когда открываешь приложение.
Так как йос тред мёртв, спрошу здесь. Собираемся командой из 3 человек перекатится в разработку мобильных приложений под яблоко. Какие приложения можно разработать в качестве реальных, коммерческих приложений? Думали сделать читалку, но их и так миллион, думаю, что ещё одна никому не нужна
>>1593440> коммерческих приложенийНикакие. Рынок перенасыщен. Количество устанавливаемых пользователем новых приложений падает уже который год. Рост общего количества установок достигается просто увеличением массы юзеров с мобилками (развивающиеся рынки).Пик 1: more than 50 percent of smartphone users in the U.S. download zero new mobile apps per month. Вас банально не найдут и не скачают в том количестве, чтобы выйти на профит.Пик 2: вероятность того, что ваше говно от вкатывальщиков станет топ 10 приложением на устройстве - 0%.Либо создавайте что-то принципиально новое и вливайте миллионы в рекламу, либо пиздуйте в геимдев и вливайте миллионы в рекламу, все деньги там.
Делайте образовательную прилу с картами, например трек Колумба от португалии до америки, или гражданская война в сша или средневековые войны в европе, Идей на самом деле тьма, просто покапайтесь подольше, они придут в процессе вьезжания в работу
Аноны, объясните суть DI и Даггера. Я вижу это так, что: 1) есть несколько интерфейсов, которые содержат абстрактную реализацию; 2) есть класс, который имплементирует интерфейсы и содержит дефолтную реализацию; 3) есть фабрика, которая описывает создание нового объекта, в котором можно переопределить дефолтные методы класса 2. Получается, что создаваемый объект реализует сразу несколько интерфейсов, но все подробности сокрыты в дефолт-классе, который собирает модель готового объекта. Поправьте, если неправильно.Но всё это делается инструментами из коробки, зачем тогда нужен Даггер? Что именно он делает? Позволяет скипнуть промежуточные шаги и связать объекты без написания части реализации?
Аноны, кто мне сможет помочь с приложухой в Андроид Студии? (Не забесплатно) Я вам опишу проблему, то что я хочу сделать, а вы мне дадите ответ - поможете или нет. В общем обсудим. Здесь не буду публично обсуждать, скажу только что там походу надо с сервером как-то коннектиться... Реализация этого мне и интересна. Моя фэйкотелега: /faikotelega
не совсем тот тред но думаю тут подскажут. аноны, изучаю джаву и интересует такой вопрос: смогу ли я через intellij idea скомпилить в .ехе?
>>1594551> Здесь не буду публично обсуждатьОй пиздец стартапер мамкин.>>1594338Нихуя не понял.Вот у тебя есть вьюмодель. Тебе из нее нужно в сеть ходить через репозиторий. Соотвественно зависимость - вьюмодель - репозиторий - ретрофит. Ты можешь все 3 класса руками инстансировать и в конструктор друг другу пихать, а можешь это дело автоматизировать через DI.Но высока вероятность, что тебе станет лень руками все создавать и передавать, и ты скатишься в поедание говна с синглтонами. А может тебе хватит выдержки, живут и люди с ручным DI.
Обновил я вчера студию, а там появилась возможность создавать c++ классы/ресурс-файлы. Что думаете об этом, аноны?
>>1596376Да, но это новый уровень поддержки, что весьма интересно. И это, вероятно, только один из шагов. Гугл, возможно, планирует работать над уменьшением сложности использования NDK, но почему именно сейчас, вот в чём вопрос. NDK спокойно жил своей жизнью в сопровождении специфических задач, в чём причина такой активности?
>>1596406В смысле новый уровень, создать файлики? Так это года так 2 назад было. Туда же и поддержка cmake.
Вопрос к знатокам эмуляторов из красного лагеря - уже пол-года как появилась поддержка "из коробки" родного эмулятора анроидстудио на AMD процах под виндой с мелкософтовым двиглом. Осенью решил проверить работу - таки работает, убивая Hyper-v остальные эмуляторы. Решил попозже работать с этим и вернул все как было. Недели две назад попробовал снова - хуй там. Нит HAXM! AMD - сасатб! Где ни смотрел все одно и то же - включи аппаратное ускорение, платформу гипервизора, Hyper-v - опционально (в некоторых руководствах он не был включен). Куда пинать все это дело? Беты качать?
>>1596923Стоп машина, только что качнул канари - запустилось без вопросов. Значит сношу стабильную студию - и сижу стильном, модном, молодежном канари.
Друзья, какие материалы посоветуете для быстрого вката в андроид разработку бекенд джава-деву? Чтоб мне не разжевывали стринги с интами по два часа.
>>1599754Почему решил перекатиться с тырпрайза? Как будешь переживать просадку в зп? Почему не Dart с Flatter, он по ходу взлетает?
>>1600657>>1600929Я не перекатываюсь с тырпрайза, хочу выучить для себя, дабы занять вечера все равно делать нехуй, т.к. появилась идея приложения, а знаний хуй да нихуя. Про флаттер наслышан, что его производительность воняет, да и знание котлина лишним не будет, его все чаще последнее время в энтерпрайзе используют по моим наблюдениям. Так что посоветуете? The Busy Coder's Guide to Android Development? Курсы на Юдасити? Must-know библиотеки, без которых никуда в современной андроид разработке? Как делать удобный, отзывчивый, плавный UI мне импонирует в этом плане приложение твича импонирует например?
Ананасы, тема такая: есть папко с кучей картинок на ведротеле. Совершенно похуй где она лежит. Хочу чтоб ебучая Галерея признала ее как альбом и показывала картинки от туда в своем UI. Посоветуйте, как сделать это прощеда, да, я уебан, которого забанили в гугле
>>1608167> NativeActivityЕсли ты хочешь рисовать все в сях> jniДернуть какую-нибудь хуевину / нарисовать на конкретном сюрфейсе.
>>1609627> перехожу с шарпаТебе – нет. Привыкни только к тому, что джава и половины фишек сярпов не имеет.
Порекомендуйте хорошие новостные сайты про андроид, программирование и т.п. Чот нахожу какую то парашу, либо с новостями раз в месяц.
Есть джва апк (arm и arm64) и гугл не даёт загрузить/обновить arm64. "Apk с таким номером версии уже существует" и всё тут. В гугле только то, что надо поменять version code, но он и так меняется с каждым релизом. Что бы ни делал, ошибка все та же. Куда копать, андроны?
>>1534623 (OP)Сап программач, поясните тупому за корректную реализацию такой муйни:есть "Логин" активити, в ней мы логинимся и переходим в активити "Главный экран".Как я понял гугл рекомендует активити главного экрана инитить вью модель условно так в самой активити:private val viewModel: MainViewModel by viewModels( factoryProducer = { SavedStateVMFactory(this) } ...)ооокей, фабрики красота и прочая ебатория, но проблема в том, что на главном экране у меня несколько фрагментов, и:— я должен показать часть данных, которые пришли после логина (условно говоря фио юзера, его инфу и тд).— должен показать ленту сообщений.Это 2 разных запроса.Вопрос, как реализовать передачу части данных в viewModel главного экрана из результата запроса логин активити? Она же интится блядь из фабрики которая вообще в душе не ебет, что там загружено другой активити (ну не лично самой активити само собой, но все же), пиздец я тупой.
>>1534623 (OP)Нужно написать программу с функционалом чтения QR-кодов на Андроид. Есть какие-то библиотеки, которые позволяют это делать на устройстве без подключения к интернету? Нашел вот это: https://firebase.google.com/docs/ml-kit/android/read-barcodesСможет ли эта библиотека работать оффлайн?
НАХУЯ ВОТ Я ГОТОВИЛСЯ К НОВОЙ РАБОТЕ НА ДЖАБА ГАЛЕРЕ БЛЯТЬ СЕЙЧАС И ПРОСТО АНДРОИД ТРОГАЛ, СИДЕЛ ДРОЧИЛ КАК ХОББИ ФЛАТЕР, ОСОБО НЕ ОКУНАЯСЬ С ГОЛОВОЙ. ТОЛЬКО ЧТО ПОЗВАЛИ НА ИНТРЕВЬЮ НА ДЕВА ФЛАТЕРАHello,Right now we are looking for a Flutter developer for a 100% remote position on a contract base initially for 6+ months, but it’s potentially open-ended. (Depends on you skills and productivity.)The proposed salary for this specific position is up to $2500+ per month, depending on interview result.АААААААААААААААААААААААААААААААААА А ТЕПЕРЬ НА ГАЛЕРКЕ БУДЕТ ЗА КОСАРИК ГРЕСТИ
Решил посмотреть вот на эту библиотеку сканирования qr-кодов:https://github.com/journeyapps/zxing-android-embeddedfirebase mlkit слишком мокрописечный. Кроме того, из коробки нету многого функционалаЗдесь рекомендуется использовать Intent. Я читал, что Intent - это как бы внешний сервис, который используется программой (типа как COM или OLE в Windows). Получается, что вместе с программой он будет устанавливаться, да?А как при удалении - он удалится самостоятельно?
Ребят, подскажите. Перемещаю по экрану кнопки, но на нажатие они реагируют только там, где были изначально. Как переместить кнопку вместе с её кликабельной зоной?
Позвали на интервью онлайн, где только три требования, флаттер и фауна дб, ну и англ. Попрошу разбирающихся анонов помочь с вопросами на этом поприще. Я конечно и сам изучал флатер, но чисто для своего проекта, который я пилю сам, ибо это больше как хобби, а тут на работу зовут. Понятное дело что я сейчас смотрю всевозможные 100-200-300 вопросов к интервью по флаттеру за 5 минут подготовка к синьёру-помидору, но хотелось бы узнать ваш реальный опыт и что могли бы спросить, на чем акцентировать бы внимание.
>>1613394Если кому не лень, подскажите, пожалуйста. Нужно элемент сдвинуть по оси Х на середину активности.И сдвинуть чуть правее от середины, до 80% примерно.Хоть команду киньте какую нибудь. А то мне удалось найти лишь пикрил
>>1613796Похоже, нельзя сделать плавную анимацию картинки с сохранением кликабельности.Похоже, мне с такими запросами к игровым движкам
>>1613809Можно. Сначала анимируешь транслейтом, в конце анимации выставляешь нужные лейаут параметры.Падажжи> With the property animation system, these constraints are completely removed, and you can animate any property of any object (Views and non-Views) and the object itself is actually modified.А ты как их двигаешь вообще? Я то думаю, что у меня всегда клики по транслейту работали.
>>1613720Ну же, я точно видел в треде анонов которые говорили, что без флатера никуда и он всему голова или вы и сами без работы сидите?
>>1614115У меня есть элемент, который я бы хотел переместить (1 картинка). В частности я хотел бы изменить строку, которую выделил стрелкой.Могу сделать анимацию через XML файл, или же сразу программно (2 и 3 картинка). Но в обоих случаях элемент перемещается без кликабельной зоны. Варианты решений:1) плавно менять ту строку с первой картинки;2) совершить обычную анимацию, после которой обновить ту самую строку с первой картинки.Как можно всё это реализовать?
>>1614115Падажжи, открыл для себя Property Animation, похоже, это что-то, чего я ещё не пробовал. Сейчас изучу
Ребзя, не подскажите, как мне в андроид студии проиницилизировать ком порт , чтобы получить данные с платы через блютуз? Скиньте почту, с кем можно побеседовать по данному вопросу, горит
>>1534623 (OP)Подскажите очевидно бесплатные инструменты, сдк и т.д., которые бы позволили создавать простые AR приложения. Нужна банальная работа с камерой, GPS и накладыванием моделей/текста на координаты GPS
Привет,нужно что б для разных версии апи(старше и младше китката включительно) использовались разные версии сторонних либ. Для подключения либы использую cmake.
>>1615795Можешь грузить 2 апкшки в стор, одна с мин апи маленьким, вторая с больше кит ката. Но проще дропнуть киткат.
Как напрямую из приложения под андроид подключиться к БД mariadb?Скачал отсюда драйвер.https://downloads.mariadb.com/Connectors/java/connector-java-2.5.4/mariadb-java-client-2.5.4.jarДобавил в проект в студии. Но оно не работает пишетjava.sql.SQLException: No suitable driver found for jdbc:mariadb://
>>1616290А еще вот такая ошибка Didn't find class "java.sql.DriverAction"гугл толком вообще ничего подсказать не может.Вот что за херня? На stackoverflow у всех все работаеттупо Class.forNameDriverManager.getConnectionи все заебца
>>1534623 (OP)Что учить: Java, Go или Kotlin для создания летающих без лагов приложений И ИГР на Андроид? Яву?
>>1617087В душе не ебу че у тебя там с симейком и как туда зависимости суются. Скорей всего 2 модуля, которые тебе плодят сошки с разными версиями либ, а модули через флаворы подключаешь.>>1617186Юнити
>>1617200>ЮнитиЮнити это же тяжелый движок-надстройка, нет? Я хочу для начала делать простые игры, типа шахмат мб
>>1617200>модули через флаворы подключаешьок попробую>как туда зависимости суютсяexternalNativeBuild { cmake и sourceSets {
>>1534623 (OP)Сап, двач. У меня два очень тупых вопроса, один из которых проблематично задать гуглу, а формулировка второго напрямую зависит от ответа на первый.1. Как называется поебень (виджет?), обведенная на пикриле? Да, я знаю, что на пикриле гейОС, но я видел подобные штуки и в андройде. Наверняка у этой хуйни есть какое-то специальное название. Я имею ввиду не кнопки "Переместить" и "Удалить", а вот эти выдвигающиеся штуки. В телеге есть похожая хрень, например, можно почесать пальцем диалог и там кнопки справа появятся.2. Как это запилить в мой хэллоуворлд в андройд студио? На это можно не отвечать, т.к. уже смогу нагуглить, но буду рад, если кому-нибудь будет не лень послать меня нахуй объяснить.
>>1534623 (OP)>С видеокурсов от Udacity.Я конечно все понимаю, инглиш ду ю спик ит?НО курсы на английском что ли только? Смотреть сериалы - это одно, но вот учится программированию на английском - это перебор.
>>1620715Там в первой главе с xml субтитры русские нормальные есть, а текс очень простой, его транслейт понимает хорошо, я все понял.К сожалению дальше написанных сабов нет и я не осилил. Пошел учить джаву - потом может вернусь, или новое что-то появится.
Мне надо как-то получать уведомления из приложения, пробовал через ADB dumpsys notification, но поле context пустое, в приложении это происходит все через firebasе.а) как-то дампать уведомлениеб) дописать в апк в методе получения (гугля я наткнулся на OnMessageRecieved) отправление на сервер (или в бд), я не разбираюсь ни-ху-я в этом, что можно придумать?
>>1534623 (OP)Аноны, нужна подсказка по play console: Если не счету есть невыведенные деньги, их можно как-то использовать, кроме как вывести? старый акк зареган в америке, и счет вроде как нужен для вывода тоже из амер банка
Насколько нужно углубляться в джаву перед андроидом? Очень скучно учить язык сам по себе. Знаю базовые хуйни, но не могу сказать что прям твёрдо знаю java core. По книжке от big nerd иду, но иногда люто туплю. Стоит ли отложить андроид и основательно подрочить жаву или вполне реально параллельно их изучать?
Привет, ребятки, с вами начинающий идиот, который пытается делать вещи без всякой теории и лишь на практике. В общем, я решил спиздить змейку и хотя бы собрать проект. В принципе-то, оно компилится, но есть одно но. Мэйн файл работает, файл игры тоже, а вот с обработчиком на кнопке чёта беда какая-то. Вместо того, чтобы запустить мне змейку, оно вылетает на домашний экран и всё. Объясните, что ли, дурачку, как это должно выглядеть. Код прилагаю.[code]public class MainActivity extends AppCompatActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Button button = new Button(this); button.setText("play чё"); button.setOnClickListener(this::onClick); setContentView(button); } public void onClick(View v) { new View(new fuckingsnake()); }}[/code]
Кто-нибудь организовывал обмен данными нативного приложения с PWA в обе стороны? Такое вообще возможно?
>>1622581Файл игрушки, собственно. Змейка. Отдельно запускал, работает. С обработчком беда именно. Мне нужно сделать так, чтобы после кнопки он и запускался, но что-то идёт не так. Пробовал через сет контент вью, эффект совершенно идентичный, вылетает и всё.
>>1622581>Отдельно запускал, работает.На кампукторе или андроиде? Может просто не хватать либ,например андроид не использует Swing Java>после кнопки он и запускался, но что-то идёт не такможешь запускать во 2 активити через интент https://startandroid.ru/ru/uroki/vse-uroki-spiskom/58-urok-21-sozdanie-i-vyzov-activity.html
Привет. Поясните за такую хуйню. //LinearLayout LL = findViewById(R.id.LL1); //FrameLayout FL = findViewById(R.id.LL2); //View view = View.inflate(this,R.layout.text, LL); //View view1 = View.inflate(this,R.layout.text, FL); //LinearLayout LL = findViewById(R.id.LL1); //FrameLayout FL = findViewById(R.id.LL2); //LayoutInflater layoutInflater = getLayoutInflater(); //View view = layoutInflater.inflate(R.layout.text,LL,true); //View view1 = layoutInflater.inflate(R.layout.text,FL,true);метод inflate и у View, и у LayoutInflater возвращает View, добавляет ее в указанный Layout, и забирает от него LayoutParam (или не добавляет, в зависимости от параметра третьего). В чем разница между методами у этих двух классов ? И почему, когда я жмакую имплементейшн на них, мне показывается вот эта хуета ? Где их реальная реализация ?
>>1622987Из документации:>Inflate a view from an XML resource. This convenience method wraps the LayoutInflater class, which provides a full range of options for view inflation.View реализует метод inflate, выступая в качестве обёртки LayoutInflater. У тебя просто не будет его экземпляра и ты не сможешь манипулировать им/его методами, что ограничивает тебя в возможностях.
Ананасы, как запилить уведомления? Прочел кучу +- одинаковых туториалов про PendingIntent и NotificationManager, но они просто не работают у меня. Более того, нашел готовый пример, установил и он тоже не работает. Все это на мобиле с 10 ведром. Изза этого не работает? Что-то поменялось в нем?
Сап андроидач.ПОдскажите с высоты опыта: вот дизайнер нарисовал мне экран.сверху кусок простого текста, пониже еще кусок текста типа обратного отсчета (то есть каждую секунду обновляется)пониже "лэйаут блок", который используется еще на паре других экранов с внутренностями типа текста, чекбоксов и кнопкиВо что лучше вынести этот блок? Как лучше инициализировать view модель этого экрана, если таких экранов несколько, только меняются данные (онм могут быть захардкожены, но create же вызывается для вью модели без параметров, как фабрике отличить для кого она готовит модель в данном случае?) где зранить эти захардкоженные данные? в репозитории? если нет, то где и чтобы поддерживался переворот экрана (те смерть активити)
>>1623743NotificationManager должен работать. Студия ругается на что-то? Если ты делал по туториалу, проблема может скрываться где угодно. Проверяй в документации используемые флаги/константы. С ним не должно быть проблем, ведь тебе просто нужно передать ссылку на ресурс в контекст, значит проблема в том, что либо оповещение не создается вообще(не может создать инстанс), либо пытается кастить тип передаваемого аргумента(в этом случае вылетает ошибка каста), либо ты ещё где-то накосячил с логикой. Лучше покажи реализацию.>>1623753Если я правильно понял тебя, можно использовать лэйаут в качестве контейнера для отображения фрагментов, имея одну активити, тогда и проблем с переворотом экрана не должно быть. Насчёт хардкодед не совсем понятно, но в любом случае выноси их в строковый ресурс и применяй проверку состояния, используя data binding. Если у тебя есть условный "viewModel.userName", ты можешь указать для него состояние, при котором ссылка на строковый ресурс в нём будет меняться на данные.
>>1623804Код честно спизжен с какого-то сайта. В логах ничего, функция запускается точно, так что даже не знаю в чем может быть проблема. Что странно - я устанавливал готовый APK с одного туториала, и он не работал. Но программы из плея естественно работают с уведомлениями.
>>1623804>Если я правильно понял тебя, можно использовать лэйаут в качестве контейнера для отображения фрагментов, имея одну активити, тогда и проблем с переворотом экрана не должно быть. Насчёт хардкодед не совсем понятно, но в любом случае выноси их в строковый ресурс и применяй проверку состояния, используя data binding. Если у тебя есть условный "viewModel.userName", ты можешь указать для него состояние, при котором ссылка на строковый ресурс в нём будет меняться на данные.В целом правильно понял. Значит, я все верно делаю. Выношу повторяющуюся верстку в наследники лэйаута. Но например представь есть 2 таких блока-наследника лэйаута подряд (с разными данными, которые не грузятся, а просто сохранены в приложении). Значит, у них будет один и тот же класс viewModel (у вас же в андроид принято для простых вьюх использовать вьюмодели?), но как их коректно инциилазировать? Ведь через условный код``` val model: MyViewModel by viewModels()```будет дергаться стандартный конструктор в фабрике моделей, который даже доп параметров не принимает, а мне то нужны 2 разные модели (возмоэно где-то захардкоженные)
>>1623814NotificationCompat, конечно, deprecated, но должен работать.Попробуй создать канал перед тем, как билдить, вот конструктур:>NotificationChannel(String id, CharSequence name, int importance)Затем вызвать у менеджера: >notificationManager.createNotificationChannel(notificationChannel)Его же передаешь в билдер.>>1623826В таком случае имеет смысл поступить иначе и использовать вложенные фрагменты - Fragment и child fragment. Фрагментами в любом случае проще манипулировать, потому что их можно полноценно менеджить. Ты можешь поместить сколь угодно лэйаутов в child фрагменты и дергать их, используя флаги/изменяя видимость, сохраняя правильную последовательность зависимостей. К слову, разные активити могут использовать один и тот же фрагмент через контейнер и транзакции. Я всё ещё не до конца понимаю твой замысел, но что точно могу посоветовать - отталкиваться не от того, что у тебя "может быть не один условный лэйаут, а два", а от того, как предусмотреть возможность их добавления без каки-либо проблем. И не забудь про databinding. Viewmodel у тебя в любом случае должна быть в единственном экземпляре, поэтому твоя задача - опираться на это условие.
Что с рынком андроид разработки сейчас?Получаю вышку на инженера, вкатываюсь во фронт только потому, что так решает рыночек. Но из логики было бы выгоднее вкатиться в андроид, потому что джавы у меня часов по 10 в неделю лекций + столько же наверное дома. Или же рынок реально такой злой и дальше надо будет фронт пилить и страдать?
>>1626057я уже года 3 не искал работу, но мне кажется, что если ты хороший спец, не важно какими технологиями владеть. Главное, ты должен шарить, и шарить хорошо, ты должен в первую очередь решать проблемы клиентов и все такое. стать спецом сложно - поэтому если тебе больше нравиться андроид, а не фронт, то задрачивай его
>>1626884потому что параша, баганая и нестабильная. Посмотри количество issues на гитхабе. Должно пройти года 2-3, чтоб эта помойка была более-менее юзабельной
>>1626884А вообще за последние лет 10 уже можно было бы и понять, что кроссплатформа сосет у нативщины, это уже аксиома. Флаттер - просто очередная страница, которая это подтверждает.мимо анон >>1626911
Ребят, скажите, на этой верхней панельке, где, обычно, название приложения пишут, можно ли вместо текста вставить картинку, да ещё и так, чтобы она у каждой активности была разная?
>>1623743Там каналы для уведомлений теперь обязательны начиная, вроде, с 8 андроида, если в твоих гайдах про них не говорили, то поищи гайды по новее.
>>1627090Панелька называется ActionBar. Можно как вставить картинку в сам бар, так и сделать её фоном для него. Для каждой активити его можно установить в коде через создание экземпляра ActionBar и вызов метода getActionBar(), либо в xml, но первый вариант удобнее в случае привязки к данным. Для чистоты советую реализовать отдельную логику, которая будет дёргать ресурсы/данные по общему принципу, и применять её в зависимости от требуемого контекста.
>>1627136> Для каждой активити его можно установить в коде через создание экземпляра ActionBar и вызов метода getActionBar()Щас бы ActionBar в 2020 использовать вместо того, чтобы шлепнуть Toolbar или абсолютно любую вьюху в xml и кастомизировать его вообще как тебе угодно без ущербного апи.
>>1534623 (OP)Поясните за геймдев. Часто вижу вакансии по разработке казуалок для мобил. На чем лучше писать? libGDX, Cocos или сразу же учить c# и на юнити кросплатформенные пилить игры?Юнити хорош, но блин, я лучше свифт накачу чтобы в перспективе добавить лычку ios разраба. ХЗ в общем, может вообще лучше в геймдев не соваться?
>>1628558> лычку ios разрабаХуйраба.Геимдев с разработкой приложений пересекается примерно никак.Пиздуй в гд в юнити тред.
Ребят, почему, если скрыть ActionBar в res/values/styles.xml, то в положении открывается только Main Activity? При попытке открыть любую другую активность - крах.Хотя через Java-код работает, но это скорее костыль, чем решение.
>>1630625Так, я лютый новичок, так что прошу не ругаться.Я слегка загуглил что такое стектрейс, и я так понимаю, мне, чтобы его осмотреть, нужно запустить приложение на эмуляторе.Но из-за процессора мне приходится пользоваться только виртуальной машиной.Я могу глянуть логкат без эмулятора?
>>1630762> нужно запустить приложение на эмуляторе> Но из-за процессора мне приходится пользоваться только виртуальной машинойЭто одно и то же.Если ты свое говно запускаешь из прямо студии, то в студии нажми на логкат снизу, там будут все логи с крашами.
>>1630841Воот, а у меня в студии не запускается. Вероятно, из-за процессора AMD. Потому прошу помочь мне вслепую.При изменении темы на .NoActionBar в приложении не запускается ни одна активность кроме Main Activity
>>1630965Сходи в магазин и купи андроид мобилу, отлаживайся на ней. Че как лох то я не пойму.>из-за процессора мне приходится пользоваться только виртуальной машиной.>из-за процессора AMDРязань? Если ты на винде, попробуй снести интеловский ускоритель эмулятора и перейти на hyper-v. Наличие поддержки виртуализации тоже проверь и далее по списку.Для коннекта виртуалочки к студии кури adb. Не смотри что в гайдах юсб, через сеть(не обязательно вай-фай) тоже можно подключиться.Удачи.
>>1626743Да я не знаю. Не нравится мне заниматься фронтом и жсом в частности. Но и андроидом я не пользовался лет 5 если не больше.
>>1630965>Вероятно, из-за процессора AMD.на официальном сайте андроид студии описаны ДВА официальных способа запустить андроид эмулятор на процессорах АМД. Первый работает только в виндоус 10 и использует WHPX, второй работает и в 7 и в 8.1 и использует специально разработанный драйвер. Я работал на мемном AMD FX и Win 8.1 одно время и с эмуляцией андроида всё было замечательно. Так что ты просто криворукий баран, не умеющий читать.
у меня одного печет от того что fabric все? все эти пиздатейшие графики и статистика, фильтрация крешей, все будет потеряно , ведь ui firebase жалкое подобие
Как при открытии фрагмента во время его рендеринга показывать другой фрагмент, на котором будет только круглый progress bar? progress dialog это другое В инстаграме, например, при первом клике на вкладку "профиль" некоторое время отображается загрузка
>>1635727Мой фрагмент грузится около 1.3 секунды там нет запросов к api и прочих серверных вещей, только список с картинками и всякие дефолтные элементы, я подумал, что можно в это время отображать другой фрагмент, чтобы ui не выглядело тормознутым, но так нельзя видимо. Можно ли как-то заранее при первом запуске приложения отрендерить этот фрагмент, чтобы его первое открытие не занимало секунду?
>>1636551Там скроллвью с констрэйнтлэйаутом внутри, что там править блять только если список с картинками
У кого-нибудь было так, что при переходах между табами в BottomNavigationView мерцал тулбар (они все разные и задаются каждый в своём фрагменте)? Как фиксится?
Насколько плохо юзать sharedspeferances для сохранения данных, вместо room sqlite?Запихнул все данные в шейред преферансес через JSON. Чувствую себя так как будто сделал что-то очень плохое. Стоит ебаться и переделывать все в sqlite или оставить как есть, пока все работает?
аноны, глупый вопрос но упорно не могу найти - есть ли у гугл плея какие-то требования на сплэш скрин? на иконку есть, а на сплэш скрин? разрешение, глубина цвета, вот это все
>>1639190общим тулбаром>>1639727если много данных, будет грузиться долго, это же обычный xml файл, еще и грузиться на мейне (с этим не уверен)
>>1640351Ну там текст. Кажется что много, но на деле мб 10мб и довольно быстро пока что работает почти на всех телефонах.
Ребят, есть какие-нибудь решения которые сокращают еблю с адаптерами для recyclerview? Хотел попробовать epoxy, но там все примеры на котлине, внятного жабакода не нашел.
>>1640543А мне нравится ебля с ними. Четко, там редко ошибки. >>1640839Хз, шейред по сути тоже файл, только еще бекапиться гуглом.
Посоветуйте лёгкую литературу не нагружающую голову для изучения основ ведра проект стартведройд не советовать слишком поверхностно даёт
Есть приложение, в нем есть переменная строки в функции, нужно написать сохранение этой строки в файл. деньгами не обижу, помогите!tg : @sstzx
>>1643667некоторые говорят, что нет, ведь нужно научится читать на техническом английском. И с каждым днём я всё сильнее убеждаюсь в правоте их слов.
Аноны, кто уже юзал новый ActivityResultCallback? Его можно использовать для получения файлов из файловой системы девайса? В документации нихуя не описано, только высран невнятный пример с prepareCall, который не ясно, как работает.
>>1644118Как они сами заявили, это колбек, который сделает startActivityForResult - OnActivityResult юзлесс говном. По факту, будет что-то в духеgetFile { fileUri -> ...}Но как оно на практике, хуй его. В документации инфы кот наплакал, на всех форумах вообще 0.
Ребзи, есть инфа как получить доступ к кешу приложений (ко всем не системным) чтобы их оттуда удалить можно было? Это вообще законно?
Каким-то образом ломанули пуш-нотификации в моем говно поделии (рассылается реклама). Рекламные пуши попадают в miscellaneous канал (для нормальных есть свой канал). Чекнул логи сервера - с него пушей небыло. В какую сторону копать? Уведомления же можно отправлять только имея server key?
Итак, рубрика "Вопросики от нуфажиков"Книга "Android Programming: The Big Nerd Ranch Guide" - можно ли после нее искать работу?MVVM часто ли юзаете? Стоит ли отдавать ему приоритет, или брать MVP и не париться?Firabase - стоит ли изучать?ORM нужно ли? МБ ROOM?И самый важный. Как выглядит процесс работы в реальной разработке? Новичок занимается дебагингом или чем вообще? Мне просто кажется, что на первой работе мне какую-то хуйню дадут, типа оптимизации макетов под разные мобилки.Как работают с гитом в комманде, как делаются пуши и пул реквесты, что для этого почитать? Может все через гит флоу просто работают или что-то похожее на офисе идет?Для тестов достаточно Мокито/Экспрессо?Я уже и котлин бтв изучил, RecyclerView, SQLite, Java core раз 7 перечитывал из разных источников, Фрашменты, экшн бар, диалоговые окна, работу с камерой. Охуеть как много требуют от джуна по Android. Че дальше то будет? Надеюсь мне хотя бы $600 со старта платить будут. Иначе я бы лучше в дальнобойщики подался.
>>1646670Да, однозначно. Если честно, то на данный момент это единственная архитектура, которую стоит юзать в ведре. Она же за собой помимо знания viewmodel тянет также livedata и databinding.
>>1644153>>1643749Это обычный сахар над стартактивитифоррезалтом всего-то. Можешь хоть сам такую написать. Файлы достаются через SAF.>>1640543Адаптерделегейтс, не смей тащить епохи.>>1646670А ты как то иначе сейчас пишешь?>>1646762> единственнаяКокой ты категоричный.> знания viewmodelНу там конечно "знания" огромные.> livedata и databindingЗачем? Можно спокойно биндить на сабжекты / чанеллы и не завязываться на какую то стремную хуйню с единственной сферой применения (пихнуть во вьюмодель) и прямой зависимостью на андроид сдк (привет роболектрик).
>>1646764Чего грубый-то такой?>Кокой ты категоричный.Не хочешь - не юзай. Твой шанс пройти собес уменьшится раза в 3, все просто. Также по своему опыту прохождения работа есть, но люблю на собеседования ходить, для спортивного интереса + чтоб быть в курсе нового и актуального, если что пропустил могу сказать, что про мввм тебя спросят сейчас абсолютно везде.>Ну там конечно "знания" огромные.Достаточные. То, что ты поменял у себя презентер на вюмодель, а остальное оставил как есть, не значит, что ты понял все правильно. Вьюмодель - очень мощный и универсатльный инструмент, а не просто класс, куда надо запросы кидать, "штоб было))))0". И по твоей следующей реплике в после на 100% видно, что ты фишку вьюмодел и не выкупил.>Можно спокойно биндить на сабжекты / чанеллы и не завязываться на какую то стремную хуйню сallback-hell в 2020? Нет, спасибо.>стремную хуйню с единственной сферой применения (пихнуть во вьюмодель) Яснопонятно. Мы вам перезвоним. На собесе тебя просто разьебут в клочья.>прямой зависимостью на андроид сдк Мань, 99% андроид разработки завязано на андроид сдк. А то что ты упомянул робоэлектрик - твои личные сексуальные проблемы.
>>1646670Стоит. А этого дурачка >>1646764 не слушай, он один из тех, кто юзал раньше МВП, потом поменял класс презентера на класс вьюмодели, не понял, для чего эта самая вьюмодель нужна и в чем разница с МВП, после чего недовольно урчит и пишет, что мввм "нинужна".
Я блять в рот трахал ебаный флаттер, какая сука больная на всю голову скотина придумала этот скотоублюдский язык и этот скотоублюдский фреймворк? Это эмоциональное вступление. Теперь к сути, кто-нибудь сталкивался с проблемой, что двух гет запросах один возвращает всё как надо, второй по неизвестным причинам возвращает нул? Если да, знает ли кто-нибудь способы решения. Я подумал о том чтобы сделать один запрос и уже его по-разному парсить в разных виджетах, но тут столкнулся с проблемой, что непонятно как конвертить future объекты в нормальные, с которыми можно работать. Опять же прошу помощи, если кто-то знает.
>>1647262Кроме мвп больше ничего не знаешь? Давай еще мвц вспомни.> очень мощный и универсатльный инструментОбычный ретеин обжект, только в красивой обертке.> сallback-hell в 2020Это ты к чему вообще? Где у тебя в рх цепочках или курутиновских чаннелах / флоу колбек хелл? У лайвдаты абсолютно нулевое применение, ты вместо нее биндишься из вьюхи на вышеописанное и радуешься жизни.> ЯснопонятноПихаешь лайвдату в рум и ретрифит по гайдикам? Понятненько.> 99% андроид разработки завязано на андроид сдкНу да, лучше же лишний раз роболектрик запустить, чем писать простые и быстрые тесты без явных зависимостей на андроид сдк.>>1647267Хорошо вангуешь.
>>1647622>Кроме мвп больше ничего не знаешь? Давай еще мвц вспомни.MVC и MVP - главенствующие архитектуры андроид проектов в прошлом, причем именно в таком порядке. О какой ты еще хочешь поговорить? MVI ? Юзается полуторами анонами со всего комьюнити, не отличается гибкостью, зато несет за собой пиздецкие нагромождения в коде. Особо не прижилась и не приживется. >Обычный ретеин обжект, только в красивой обертке.Только от гугла, который постоянно развивается, обновляется и расширяется по функционалу, заточен идеально под фрагменты и навигацию по ним.> У лайвдаты абсолютно нулевое применение, ты вместо нее биндишься из вьюхи на вышеописанное и радуешься жизни.Ты совсем ебанутый? Тебе надо на каждом экране иметь несколько состояний загрузки, ошибки, полученого контента етс. При этом чтобы всегда вся эта инфа сохранялась актуальной независимо от переходов, переворотов экрана и т.д. Я еще раз тебе говорю: прекрати обсираться тут привселюдно, зайди в гугл, нарой инфы про вьюмодел и мввм и все досконально прочитай и вникни, ты вообще не понимаешь, что это. Вот как минимум тебе пример - как ты строишь поведение приложения при переворотах экрана? Я конечно на 99% уверен, что ты кладешь на это болт (возможно, ты вообще не делал приложений с поворотами), либо пихаешь тонны инфы в savedInstanceState. Однако, открою тайну, так и быть: вьюмодели, в отличие от презентеров и обсервейблов сохраняются со всеми своими данными и после поворота держат их в себе, даже когда вью полностью пересоздалась. А при помощи лайфдаты, которую ты так и не осилил понять, ты сразу при пересоздании вью показываешь всю актуальную инфу, чего с обсервейблом у тебя сделать не получится.>Пихаешь лайвдату в рум и ретрифит по гайдикам?Среди всего прочего да. Проблемс?
>>1647843> Однако, открою тайнуСпасибо!> чего с обсервейблом у тебя сделать не получитсяBehaviourSubject? UnicastSubject вместо копипасты SingleLiveEvent из проекта в проект? ConflatedBroadcastChannel если любитель курутинок? Есть куча существующих инструментов, которые уже решают ту задачу, которую решает лайвдата. То, что тебя гугл кормит сладким хлебушком, это не значит, что его нужно обязательно кушать.> ПроблемсНу чтож ты так, а как же курутинки, флоу? Это же тру вей от гугла!
Сап аноны, есть такой проект:2 телефона xiaomi на 855 снарпдрагоне, нужно синхронизировать захват с двух и более телефонов (ntp под вопросом) и в идеале получить сигнал на вспышку с этих телефонов. Все это должно работать на скоростях 120+ FPS, это вообще реально обычном андроиде исполнить?
>>1647847+1Глупые недоучки, не могущие в нормальную архитектуру накинулись на сладкий хлеб гугла в виде MVVM как на ману небесную. Та же лапша, недалеко ушедшая от сплошной лапши прямо в активити, но названная гуглом архитектурой. Сами вообще ничего не знают о существующих решениях. Сохранение состояния? - Moxy. Асинхронищина? Биндинги? - Rx. Вы, мамкины программисты как свою бизнес-логику, наполовину размазанную по фрагментам и активитям, тестить будете? Элементарнейшие логические вещи будете Instrumented тестами покрывать?
>>1650256Открыть анроид студио, зайти в .хмл файл мейн активити, открыть графическое редактирование .хмл, перетянуть на экран виртуального телефона элемент textview (элементы слева), нажать на него после добавления, найти параметр text (справа все параметры выбранного элемента), вписать туда "hello world!". Запустить.
Сап анончики, вообщем такая ситуевина. Мне щас 31 год, до 30 жил с маман, работал за 12к не напрягаясь и тратил все бабки на сиги и пивко, параллельно играя в комп. Дропнул несколько универов, так как не видел смысла в дипломе по которому не собирался работать в будущем. И вот год назад меня заебала такая жизнь, я улетел из под мамкиного крыла, нашел работу подсобником - дворником за 23к и осел на съемной хате. Так вот, таская всякую хуйню, подметая дорогу и ныряя с головой в мусорный бак, у меня что то щелкнуло в голове. Я пожалел что проебал 10 лет и так больше жить я не хочу. В один прекрасный пятничный вечер, я начал думать, куда идти дальше по жизни. Я пришел к выводу, что руки у меня из жопы и физический труд у меня не получается, но я люблю сидеть часами за компом, в школе обожал матешу и учился норм, вообщем пришел я к Андройду. Вот уже пятый месяц я ложусь в 10 вечера, чтобы встать в 5 утра и позаниматься перед работой, на работе тоже почитываю литературу и после работы опять занимаюсь. 4 месяца узнавал про java, щас взялся за андройд, в основном учусь по видео урокам. Подскажите как быстро вы подымаете мои ссаные 23к на фрилансе? Работа дворником только тормозит, поэтому хочу для начала во фриланс чтобы хату оплачивать и учиться параллельно. И подскажите плиз, как лучше организовать свое обучение, а то знания быстро улетучиваются.
>>1650621Дешевле и быстрее делать свои проги, есть вероятность что взлетит. Из плюсов:- не надо учить кучу ненужной инфы- сразу делаешь что хочешь, для себя- возможность показать на собеседовании что ты что-то сделал, если таки захочешь на работу- намного легче учить, так как кроме тупой зубрежки реальная практикаИз минусов:- если сделаешь что-то не интересное никому и ничем не лучше конкурентов, скорее всего доход будет минимален, если вообще кто-то это будет качать- даже если и не сделаешь хуйню, прога может набирать популярность долго (пару месяцев-год), без сотен $$$ на рекламу.- наговнокодишь и прога будет неэффективно работать, пока потом не переделаешь, узнав новые штуки (минус нивелируется если сразу пройти норм курс, но он только на юдасити платный и стоит месяц доступа 100 баксов вроде. Мб тут в ОП-пасте есть годные курсы, хз)Лично я проходил бесплатный курс на юдасити, там разработчики андроида ведут курс, но чтобы не говнокодить этого не достаточно, но можно и наговнокодить сперва.
>>1650621На фрилансе 23к где-то месяц подымал в свое время. Нестабильно, много Джобс из разряда напиши папку для андроида за 500 рублей. Обучение организуй просто практикой, возьми книжку элементс оф андроид и прорешай ее от и до.
Пытаюсь установить дашчан https://github.com/f77/Dashchan на свой сасунг а50 (андроид 9). Пишет приложение не установлено. Решил тогда попробовать собрать апк самостоятельно, скачал исходники, скачал андроид студию. Сначала грейдл выдавал ошибки что версия приложения должна быть интом больше нуля и что используются зависимости androidX, который не подключен.Создание файла gradle.properties и явное указание версии вроде помогло. Но появилась новая проблема: gradle --assembleRelease выдает ошибку пик 2. Ну и собственно я хз как ее решить. Я подозреваю что это из-за того, что не удается найти файл ndk-build.cmd, но я не знаю где он, установленный студией, должен быть.
>>1647847>BehaviourSubject? UnicastSubject вместо копипасты SingleLiveEvent из проекта в проект?Ты к чему привязываться будешь, додик? К application? Или создаешь один god object, через который все данные проходят у тебя? Не тупи, это не оптимальное и, откровенно, плохое решение. И какая нахуй копипаста LiveEvent из проекта в проект, у тебя во всех проектах одинаковые сущности везде, что ли?>Ну чтож ты так, а как же курутинки, флоу? Это же тру вей от гугла!Ничего не имею против вышеперечиленного, особенно корутин. Но спорить против того, что мввм в целом сейчас в адроиде - самая топ архитектура - глупо.>>1649744Ты тупой просто имхо.> на ману небеснуюНа просо с гречкой, блядь. Научись хотя бы писать для начала, зумер, ознакомся с тем, что это такое, гугл у тебя не забанен.>Та же лапша, недалеко ушедшая от сплошной лапши прямо в активити, но названная гуглом архитектурой.Еще один дебил, думающий, что мввм = мвп, только вместо презентера вьюмодель. В том то и прикол, что в мввм со всеми сопутствующими фичами уже лапши быть и не должно. Но, конечно же, не для таких дебилов, как >>1647847 и >>1649744 . И да, это архитектура, и да от гугла. Поясни, почему у зумерков-джунов-недоучек это вызывает такое жжение?>Сами вообще ничего не знают о существующих решениях.Знали еще тогда, когда ты осваивал сортировку пузырьком, малой. Но все развивается, появляются новые решения, более усовершенствованые и простые. То, что у тебя не хватает ума изучать новое - твои личные проблемы, от которых ты же и пострадаешь.>MoxyЯ рад, что ты впопыхах это нагуглил и даже прочел пару предложений об этом, но ты не дочитал о том, что это - решение для MVP архитектуры в андроиде, то есть, та же лапша, которую ты несколькими предложениями ранее так сильно хейтил. То есть, ты сначала хейтишь мввм, а потом хвалишь моху, который по сути максимально приближает мвп к этой самой мввм, лул.>Асинхронищина? Биндинги? - RxНичего не писал в сторону реактивщины, она отлично ложится в плоскость мввм, во всех вьюмоделях без задней мысли берешь и юзаешь запросы к бекенду, к базе и ко всему, что может занимать время, при помощи rx, также без задней мысли при надобности все комбинируешь.>Вы, мамкины программисты как свою бизнес-логику, наполовину размазанную по фрагментам и активитям, тестить будете?Сука, бесите, малолетки, научитесь читать и вникать в инфу. Мввм как раз том и говорит, что логика не должна быть во фрагментах и активити, она выносится во всьюмодели, в датабиндинг, биндерадаптеры, етс.>Элементарнейшие логические вещи будете Instrumented тестами покрывать?assert 2+2 = 4 делает вжжжжж
>>1651712Окей, я долбоеб -- в студии был написан путь к ндк. Указал, собралось в апк с парой предупреждений. Все равно "приложение не установлено"
>>1651728Забавно видеть, как человек сводит архитектурный паттерн к вопросу сохранения состояния, говоря, что Moxy приближает мвп к мввм. Тебе гугл проссал и прогречил мозги, недоучка
>>1651795>архитектурный паттерн к вопросу сохранения состоянияА как еще пояснить довенам, почему мввм круче, чем мвп?>>1651799А ты из каждой кнопки\эдиттекста\менюайтема будешь делать обсервейбл? Ну, удачи с фрагментом в 1к строк. А я вот юзаю двухсторонний биндинг и довольно урчу@={viewModel.fieldName}
Аноны, хелп. Есть бд(Room), есть recycler view для отображения элементов. У сущности есть поле state. Мне нужно реализовать отображение в rv элементов, имеющих соответствующий state. У меня пока есть такой вариант: в dao можно описать методы с булевым параметром и запрашивать отдельный элемент, используя "WHERE state IS :value", создать несколько адаптеров(для rv с отображением элементов, имеющих разный state), расширяющих BaseAdapter и переопределяющих методы взаимодействия с item(onTouchListener). Есть ещё варианты реализации? Как правильно привязать состояние, чтобы изменять его из реализации слушателя?
>>1651810Дело в том, что вопрос сохранения состояния никакого отношения к паттерну не имеет. Оно реализуемо при использовании любого MV* паттерна. Если вы считаете это тем, что отличает мвп и мввм - вы не понимаете, чем они отличаются и путаете конкретную реализацию MVVM от гугла с паттерном в целом. На всякий случай поясню, что главное отличие состоит в способе обмена данными между VM и V, отсутствии ссылки на view в VM в угоду выставленным наружу коллбэкам, осведомленностью VM о жизненном цикле из коробки (это если говорить о гугловом исполнении) и толерантностью к фреймворковому коду в VM, в отличие от MVP, в котором все, что не View/UI - должно быть pure Java/Kotlin
>>1652013В целом, все верно.Но из этого:>главное отличие состоит в способе обмена данными между VM и V, отсутствии ссылки на view в VM в угоду выставленным наружу коллбэкамнапрямую и следует, что через вм можно на изи сохранять нужные данные, состояния, етс и всегда к этому возвращаться.И это нужно просто понять и переварить, но меня дико веселит, когда додики типа вот этого >>1646764 пишут, что:>Ну там конечно "знания" огромные.Не понимая вообще всей истиной сути мввм и даже не пытается ее понять. Думает, что там все легко и понятно, но главной фишки, так и не понял. Но зато лезет в любой срач, где это хоть как-то упоминается.
>>1652026Учитывая, что в презентер вьюха внедряется через интерфейс - связь не такая жесткая, как ее любят преподносить. Все, чем это грозит - чуть больше кода придется написать в ряде случаев. Я бы сказал, что это не такая высокая цена за тестируемость и стройность при условии, что проект большой и планируется долгосрочная его поддержка. Вообще холивар на тему MVP vs MVVM некорректен. MVP - он как автомат калашникова: надежный и суровый. А MVVM - лайтовый и подходит для проектов поменьше, где не нужен суперский SOLID и unit-тестируемость. Топовость MVVM обусловлена поддержкой гугла и меньший геморой при исполнении в правильном виде, чем правильный MVP
>>1651849Можно создать один адаптер, который будет спавнить леяут, в котором будут все необходимые view, а потом уже, в он байндвьюхолдере делать каким-то элементам визибилити гон, в зависимости от состояния стейт.Кароче, нечеткий вопрос - нечеткий ответ, непонятно как это вообще связано с румом. Мимо дилетант
>>1653833Нет, тут другое. Я хотел избежать создания нескольких таблиц и добавить сущности поля с состоянием, чтобы отображать их в разных вьюхах. Решил не морочить голову и использовать Реалм, дабы сэкономить время.
>>1534623 (OP)Кто юзает UI Automator? Что то я по нему вообще нихуя гайдов не могу найти, кроме обоссаного с хабра и вогеллы.Это вообще норм или доджить его?
Аноны, помогите плиз. Есть приложение которое нормально соединяется через сокеты с другим хостом в локальной сети (Wi-Fi) поднятой на стационарном роутере . Но мне сейчас нужно включить роутер на самом телефоне с установленным приложением, и чтобы этот хост подключился к сети телефона. И вот тут почему-то начинаются проблемы с разрешениями как я понял, т.к. с пека, подключенного к этой же сети телефона все соединения идут нормально. Не идут только из моего приложения (пинги и телнет идет с телефона).uses-permission android:name="android.permission.INTERNET"uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" вот такие разрешения у меня стоят. Может что-то еще нужно чтобы приложению работать в wi-fi сети поднятой на самом телефоне?
Господа, помогите освоить Firebase!При вызове команды .push().setValue()., закрывается приложение. Все подазрения падают на библиотеки, они на втором фото.Сдаюсь, ребята, спасайте!
>>1657260>>1657385Ну и бардак у тебя. одни и те же зависимости только версии разные. Апдейтни их до последних, лишнее убери.Во-первых, убери appcompat-v7. Во-вторых, в чем суть задачи?В logcat смотрел? Что пишет?Будет круто, если скинешь код. принт скрины из пэинта, желательно Пока могу лишь предположить, что ты каким-то образом получаешь null на костылях, которые даже не кидают эксепшн.
>>1657393Есть!Приложение типа "чат".Есть только кнопка. При нажатии в бд отправляется условное имя пользователя и текст сообщения.
>>1657409Насчет logcat ты не ответил.и снова скинул кусок кодаСудя по всему, ты пытаешься реализовать Realtime Database. зачем тогда столько зависимостей?Ты верно следовал шагам в assistant, когда подключал Firebase?Что касается кода - читай это:https://firebase.google.com/docs/database/android/read-and-write?hl=ruСовет - создавай экземпляры инстанса и референса, чтобы можно было манипулировать ими.Обрати внимание на getReference(), который принимает path в качестве параметра.public DatabaseReference getReference(@NonNull String path)Всё, что тебе нужно сделать, чтобы не было ошибок:Подключить Firebase с помощью assistant, изменить манифест под свою задачу, следовать официальной документации.supportsRtl ни на что не влияет в данном случае.
>>1657439Logcat да, виноват, только сейчас настроил эмулятор, и теперь могу работать как белый человек. Но пока опыта работы с логами не имею.Асисиент, который встроен в Android studio, считает, что firebase уже подключен. Но
>>1657576Почитай про дата-классы в Котлине и перепиши модель сообщения. Будешь доволен, ещё захочешь.
>>1657576В макете 2 EditText, 1 TextView (который showText) и кнопка. Всегда смотри логи, когда сталкиваешься с какой-то проблемой. Чекай и гугли название исключения, ищи последний лог, где упоминается ссылка на строку в коде. Это, вероятнее всего, именно то место, где всё сломалось. Либо это то место, которое сломалось из-за чего-то другого. В этом случае иди от последнего лога к предыдущим. Удачи.
Анончики, подскажите пожалуйста по плагинам для Android Studio, чтобы можно было удобно работать с sqlite базой на аппарате/виртуалке - смотреть схему, выполнять запросы етц.Пробовал разные, но ни один толком не завелся.Был один платный правда, но что-то было ДОРАХО.Чем пользуетесь?
>>1657819Пожалуйста, но настоятельно рекомендую внимательно сравнить обе реализации и найти различия. Из логов, которые ты скидывал, например, можно вынести несколько ошибок:1) Проблема с onClickListener. InvocationTargetException - обертка исключения, которое выбрасывает метод или конструктор.2) Эксепшн кидает Firebase. Конфликт именований полей и геттеров в POJO-классе. Пока данная ошибка не исправлена, данные не могут быть сериализованы. Как итог - DatabaseException.
>>1658061>StethoСпасибо, первый раз слышу, попробую. Жаль что нет чего-то нативного, похожего на db tools из intellij ultimate, уж больно там все ГОЖЕ. :С
>>1659720> у меня бесплатные private repos, так как есть студакОни уже как год или два у всех бесплатные.Так еще и позавчера расширили возможности бесплатных приватных реп.
Такой вопрос - пропустит ли плей маркет приложуху, в которой парсится хтмл с торговых площадок без их ведома, само собой
Аноны, есть вопрос по ресурсам в layout/ и drawable/ - кто-нибудь смог нормально это дело сгруппировать или оно того не стоит и лучше обходиться префиксами и иметь плоскую структуру?
>>1662128bad practiceЕсть способы создать папки через gradle, в т.ч. и через создание массива, но не советую, потому что это делает взаимодействие с ресурсами непредсказуемым.Не советую использовать нейминг с пика, лучше исходить из относимости/функциональности:demo_activitydemo_activity_menudemo_activity_menu_itemТакая же ситуация и с пакетами - в один пакет кидаешь активити/фрагменты, которые относятся к главному экрану, например.
>>1662283согласен, наверное полезнее видеть все что относится к фиче в одном месте, нежели "все активити" или "все фрагменты", надо будет ПЕРЕПИЛИТЬ.Насчет плоской структуры - грусно это конечно, это видится весьма ущербной херней, на SO вроде упоминали что гугол рассматривает варианты решения этой проблемы
Как сделать так, чтобы стартовать сервис после включению мобильной интернета? Вариант с WorkManager + OneTimeWorkRequest + setRequiredNetworkType(NetworkType.METERED) поднимает его только один раз и при любом интернете, в том числе Wi-Fi.
Аноны, что скажете за NoSQL базы для Android'а? Есть годные?Я бы с радостью юзал sqlite, но специфика проекта такова, что схема будет мешаться, нужен NoSQL.Пока смотрю в сторону Paper, но хз, последний коммит в 2019, не оче (
>>1664067В 2017. Дальше одни "Update Readme.md"(Object)Box?Realm?>>1663578У тебя какой то странный и подозрительный запрос. На старом API можешь ловить бродкасты коннективити менеджера.
Есть ли смысл вкатываться в создание моделей для телефонных игор? Как хобби, пилю модельки в анимейт, анимирую их, можно ли на этом заработать?
>>1664123Вкатывайся тогда в 3д-артиста, ведь разницы нет никакой - адаптировать модель под мобилку легко. Заработать можно, даже пофрилансить. Если голова работает и можешь быстро осваивать необходимый софт, это большой плюс, ведь многие артисты деревянные и с компьютером на вы. Каким софтом умеешь пользоваться? Можешь в скульптинг или только собирать по полигонам?
>>1664142С 3д не хочу, хочу именно 2д модельки делать как на пике. Ну т.е. для всяких платформеров, аркад и т.д. Могу во флеш и анимейт. Пиксельная и костная анимация.
>>1664144Тогда изучай всё, что связано с 2d, будь то инструменты или подходы, которые позволят делать быстро. Делай упор на скорость и качество. Было бы лучше, конечно, если бы ты и 3d освоил.
>>1664121>2017Точно, грустняк, поциент мертв.Realm - выглядит збс, но почитал про отзывы разрабов о боли миграций - а у меня как раз нет нужды в схеме вообще, лучше чтоб оно само мигрировало новые поля, без моего участия.ObjectBox потыкаю, спасибо
>>1664294Но там схема и все ругают миграции ежжи? Комменты от 18 года правда тока находил, но они были пропитаны БОЛЬЮ, это чото пугает
>>1664305Хз, я сейчас юзаю для себя - все устраивает. Я пока с миграциями не ебался, просто идет автомиграция с потерей данных
>>1664323Меня реактивность зацепила. Хз, может у других есть что-то похожее. Типо берешь селект из базы -> ту обсервабл/фловабл, дальше где-то подписываешься на них. И когда данные в базе меняешь - автоматически кидает onNext подписке с новыми данными.
Как работать с git-ветками через студию? Как коммитить отдельный функционал в ветку "features", например, если в окне коммита отображается только дефолтная(рабочий master)? Или я чего-то не понимаю?
>>1664999Нет не только. Все можно в студии, некоторые только ее и юзают мов удобнаа как. Мне не удобно.
Господа, прошу вас наметить мне дорогу к решению задачи, что пришла мне в безумную голову.Нужно получить текущее изображение с экрана смартфона и передавать его по блютузу. Дальше уже сам разберусь на устройстве-приёмнике.Полагаю что решение придется писать на джаве, это не страшно, но на всякий случай скажу что знаю дотнет, сишарп, вдруг на нём можно сделать это.Наметьте, молю, в общих чертах, что нужно использовать.
>>1668622Да, изображение должно идти непрерывным потоком. Я что-то нагуглил, но хочу услышать мудрого анона.
У меня во фрагменте есть прогрессбар, который убирается, когда апи загружает данные в список. Проблема в том, что когда я возвращаюсь к этому фрагменту (достаю из бэкстэка), прогрессбар появляется и не исчезает, как правильно это сделать?
Почему этот тред такой мертвый? В рашке нет андроид разрабов? Или где-то еще один тред где вся движуха?
В чем особенности разработки под разные версии андроида?Если я пока буду учиться, буду тестить учебные приложухи на старом бюджетнике на 6 андроиде будет норм?Вроде джава 8 поддерживается с 7 андроида и с него же там какие-то изменения в компиляторе. А котлин насколько поддерживается в 6 версии?И вообще я читал, что сейчас нужно вплоть до 5 версии поддерживать. Это значит все пишут на старых версиях языков?
>>1669723Если ты вдруг не разобрался, отслеживай isLoaded состояние. Если !isLoaded, скрывай ProgressBar.Лучше использовать MaterialProgressBar>>1671324>В рашке нет андроид разрабовПохоже, что да, полтора анона, но других тредов нет.>>1671333В сторону версий ниже 21 лучше не смотреть. Важно то, что кроме платформо-развивающих фич, в API 21 Dalvik заменили на ART(JIT на AOT), добавили поддержку x64, Project Volta, оптимизировав энергопотребление. Если есть необходимость работать с API 15+, например, используется AppCompat для обратной совместимости, поэтому версия API не отражается на версиях языков и JVM. Некоторые фичи, которые не входят в саппорт-пакет, будут работать только в той версии, которая соответствует требованиям. В этом случае создаются кейсы с реализацией под возможности API, как это происходит, например, с получением пользовательских разрешений
Как думаете вкат в андроид разработку простой? То что я увидел поверхностно посмотрев выглядит как-то даже проще чем тот же фронтенд в котором я работаю и бек на дотнете который тоже задрачиваю, после шарпа и жса джава как родная выглядит
>>1671429Сложно сказать, много нюансов. Можно вполне удачно совместить знания и быстро прогрессировать. Работа с интерфейсом не сильно отличается от фронтенда(и в андроиде и в js ты используешь функцию, чтобы повесить слушатель на элемент интерфейса, например), в плане разработки же важно то, что ты делаешь продукт для мобильной платформы, отсюда вытекают особые требования, которые нужно учитывать. Стоит отметить, что Гугл даёт тебе всё необходимое для того, чтобы делать красиво Я стал заниматься андроидом, имея знания джавы, шарпа(преимущественно в контексте unity), питона, будучи трогавшим кресты и фп-языки, фронтенд. Сразу начал с Котлина, параллельно читал лит-ру по дискретной математике и смежным разделам. Я не вкатывался с нуля, поэтому не могу судить, но, вероятно, было бы сложнее. Думаю, что "простота вката" зависит от того, какого уровня квалификации ты хочешь достичь. Если понимать под вкатом устройство на работу, порог довольно низок, важнее соблюдать методологические догмы и быть командным кабанчиком.
>>1671476Различий довольно много, но их существенность определяется таковой в конкретном проекте. В целом, большинство важных изменений касается либо производительности/энергопотребления(процессор, рендеринг и т.д.), либо интеграции новых интерфейсов(Отпечатки, VR и прочие вещи). Почитай об этом в истории версий, там много интересного.
написал гневное письмо в поддержку fabric, и советую всем поступить также. этим firebase без слез пользоваться невозможно, такой fabric пиздатый
Аноны, весь мозг сломал с notifications, а именно с floating notifications для пуш уведомлений. Когда я устанавливаю и запускаю приложение, настройки нотификаций у меня без галки "floating notifications" - пикрелейтед, но мне для определенных видов нотификаций НУЖНО позарез чтобы floating показывались и при этом не запрашивать юзера отдельно лезть и проставлять эту галку. Это например сделано в телеграме - при установке все чертовы галки на месте!Инициализирую channel я с высшим приоритетом, сообщение отправляю тоже с высшим приоритетом. setDefaults тоже проставлен. Разрешения в манифесте такие: <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"/>Пуш прилетает и вибрация идет, но оно не всплывает если галку руками не проставить :( Анон, направь на путь истиный, весь SO уже перерыл блеать!
>>1672921Если я правильно тебя понял и тебе нужно отрисовывать уведомления поверх других приложений, нужно добавить Manifest.permission.SYSTEM_ALERT_WINDOW и делать проверку на canDrawOverlays, когда приложение активно. Если она возвращает false, кидаешь пользователя в окно управления разрешениями (ACTION_MANAGE_OVERLAY_PERMISSION). С 23 API нужно давать доступ вручную.
>>1672959Понял, попробую, но само по себе добавление этого пермишона не проставляет тот checkbox, кидать юзера попробую. Но в та же телега запрашивает права на запись файлов и аудио/видео, но не кидает юзера в настройки нотификаций, при этом там из коробки этот чекбокс проставлен.Еще странность - в эмуляторе floating notifications работают, достаточно задать приоритет канала и сообщения. Может какой-то нюанс в MIUI?
>>1672974>If the device is running Android 6.0 (API level 23) or higher, and the app's targetSdkVersion is 23 or higher, the user isn't notified of any app permissions at install time. Your app must ask the user to grant the dangerous permissions at runtime. When your app requests permission, the user sees a system dialog telling the user which permission group your app is trying to access. The dialog includes a Deny and Allow button.Доступ нужно давать вручную при установке, но если для использования определённого функционала нужно разрешение, можно настойчиво предложить пользователю поставить его.MIUI посмотрел, там есть Permissions Manager, который может по дефолту блокировать определённые разрешения. В примере, который я нашёл, доступ к разрешениям реализуют через проверку на соответствие прошивки и явный запрос на их добавление.
>>1673477Для галочки. Код телеги костыли на костылях которые походу пилит один токсичный олимпиадник без которого все рухнет.
>>1673612>костыли на костылях которые походу пилит один токсичный олимпиадник без которого все рухнетХорошая шутка, а почему ты так считаешь?Что вижу я:С одной стороны, в коде есть хорошие решения, которые выражены в грамотной изолированности компонентов и реализации абстракций, с другой стороны, когда ты видишь активити одну из многих в 17к строк с бесконечными ветвлениями, где содержится реализация, которую стоило бы изолировать, причем все это переплетается и становится невозможным отделить ту же логику анимации(которая, кстати, может руиниться на девайсах с конкретной прошивкой без проверки) от ресайклера или когда посреди активити создается инстанс календаря, задумываешься о том, сколько будет стоить добавление нового функционала. Да и код полностью написан на джаве да, у них есть jni-модуль, но это лишь один из компонентов и рефакторингом, скорее всего, никто не будет заниматься хотя Котлин помог бы избавиться от многих проблем - с огромным количеством ветвлений, например Всё это выглядит так, будто они начинали с Clean Architecture, а потом им надоело.
>>1672988>>1673477Спасибо, аноны, буду запрашивать юзера значит на это разрешение.Побилдил/подебажил телеграм, оно так и делает, видимо я ошибался когда писал что оно не спрашивает нихуя.
>>1673677То что ты видишь очень похоже на код олимпиадника тащемта, не?В пром программировании такой код называют тяжелоподдерживаемым говнокодом, а у бизнеса годная команда начинает выбивать время на РЕФАКТОРИНГ. Ну, по крайней мере, в бекенде так, в андриде я недавно, может быть тут свой особый ВКУС.
>>1673716Вижу, оттого и смешно, но было бы интересно посмотреть на приведённые примеры.>может быть тут свой особый ВКУСНет, это дурной вкус.А насчет поддерживаемости/рефакторинга я уже написал, это удивительное пренебрежение.
>>1673745Я так понимаю это вообще будет легаси скоро, а новый прожект это некий Telegram X client, если реддит не пиздит
>>1673677Почему олимпиадник? Работал с такими. (Сам из этих)Токсичный - когда спрашивали почему все так хуево ответ был в духе, вас ебать не должно, что хотим то и выкладываем.
А как убрать такой косяк - запустил дефолтный проект со счетчиком, и когда квадрат тапаешь, чтобы список запущенных приложений вывести идёт моргание экрана на долю секунды, когда с нативных переходишь, то они плавно уменьшаются и список этот появляется.И вторая трабла - опять таки когда тапом по квадрату выводишь список запущенных - приложение на флаттере как сказать вместо снимка последнего состояния черный прямоугольник, это какие-то фундаментальные ограничения фреймворка или есть костыли для этого? Просто стартовый проект от команды разработчиков и такие болячки изначально.
>>1674619> приложение на флаттереДружок пирожок, ты ошибся тредом. Клуб любителей флаттера двумя тредами ниже.
Столкнулся с проблемой - студия коммитит под старым никнеймом (в списке акков только актуальный), только сейчас заметил. Я так понял, что это могло произойти из-за KeePass(очистил), а как теперь изменить автора коммитов?
Нужна помощь. Есть RV, у него два адаптера, которые отображают айтемы с разным состоянием всего два через vm observer. Есть OnDragListener, который висит на вьюхе в холдере ресайклера. Как получить позицию элемента, на который дропается айтем в ACTION_DROP? Мне нужно менять состояние получая айтем из лямбды перетаскиваемого, но меняется оно у того, на который он дропается. Кучу вариантов уже перепробовал упарывался с помощью ACTION_DRAG_EXITED, но там проблема в том, что состояние меняется даже в том случае, если айтем находится над вьюхой из того же rv
>>1682758Два адаптера для отображения двух состояний сущностиинфлейта двух вьюх, иначе данные из первого списка дублируются во втором. Ещё одна проблема в том, что parent перетаскиваемого объекта определяется корректно, но нельзя чекнуть родителя того, на кого он дропается, нельзя.
>>1683004В адаптере есть var onItemDrag: ((Item) -> Unit)? = null, чтобы получать объект.Во ViewHolder на айтеме висит TouchListener1 пик, состояние изменяется из фрагмента2 пик.
>>1590496Вечер в хату тварищи. Такой вопрос. По каким критериям Google Play росчитывает рейтинг приложения при поиске? Доки говорят их овер дохуя 80. Аноныч а как ты поднимал с говна свои приложенияговноподелки?
>>1534623 (OP)Зашел на кабанчик, что-то там много заданий на синхронизацию с 1с и т.д. Стоит ли учить все\. что связано с 1с или лучше стороной это обходить?
>>1686908у меня несколько приложений в топ 20 категории, но это хуйня , в лучшие годы входил в топ5 категории, инсталов было просто жопой ешь.ну так вот, скажи, схуяли мне делиться с тобой информацией, как я туда попал?
>>1686908В любом случае нужно сперва стать немного популярным, чтобы потом вообще попасть в рекомендации гугл плея. Люди качают что-то с высокими оценками, будет говно невостребованное - хоть что делай, успеха не будет. Надо:- востребованное чота- рекламить в первые пол года, хотя бы в первые месяцы- сделать так чтобы было кросиво А вот как дело с играми, тут более интересно, потому что никто блин не знает что это за игра, просто по скринам и как тут действовать, надо ли рекламить - хз.Кароч, даже если ничего вообще не делать, но прога востребованная и красивая, то она сама войдет в топы без твоего продвижения.
>>1689980Скока в среднем за год делаешь?У меня ноль. Застрял на курсах, все учу, учу, то блендер, то еще что-то. Как будто психологический блок на то чтобы просто уже блядь наконец сделать хоть что-то. Надеюсь переборю эту хуйню
>>1688817Хули тут думать, если грамотно рекламную кампанию запилить. Только я не игрульки делаю, а говно приложения, и целей попасть в топ у меня нет, так что розслабь булки.
>>1692299за прошлый 150к, в этом думаю будет 2x>>1692931прикол в том, чтобы найти нишу. Я потратил в сумме на рекламу 600$ и то довольно неудачно и ради эксперимента для врыва с новым приложением. Суть в том, что если твое приложение говно - никакая реклама не поможет, если есть спрос - то и без рекламы все будет збс
>>1588933Двая чая этому господину. А вообщее всегда угорал с додиков которые тащили Рх в проекты даже не понимая нахуя, потому что модно.
Аноны, вкатываюсь к вам в андройд из энтерпрайза. Сейчас пилю микропроектик с Firebase. Вопрос следующий. Предположим я делаю аналог дискорда и у меня есть модель User и Chatroom и хочу я чтобы каждый юзер знал в каких чатрумах от состоит, и чтобы каждая чатрума знала какие юзеры в ней состоят. Вот например в энтерпрайзе, когда хочешь связать модели подобным образом надо просто в поля User-a добавить ArrayList<Chatroom> и заполнять этот лист при входе в новый чат. Соответственно и в полях Chatroom-a будет лист с юзерами.Принято ли подобное в андроиде или тут как-то по другому делают и это говнокод?
Кстати, еще такая мутка. Сильно упал доход с рекламы, думал я опять не успел обновить прогу под новые АПИ гугла, но оказалось что это у всех упал (есть бугурты на гугл формумах, можете погуглить, гыг), из-за коронавируса. Так как многие бизнесы закрыты, очевидно что они не размещают никакую рекламу. У вас тоже все плоха?
>>1695191нет смысла переходить к след. проекту, не добившись профита от текущего. Люди часто загораются идеей, начинают делать, в процессе становится скучно, переходят к новой идее крутой. Это путь в никуда>>1695199eCPM может и просел, но инсталы для европки вырости в 2 раза, так что все хороша
>>1695533Ну если несколько уже проектов, то ок. А если один - чисто мне как-то страшно ложить все яйца в один кошик, так сказатьб. Часто прогу удаляли из-за нарушений каких-то правил, реклама не та, не для того возраста, пок-пок, после этого у меня паранойя что у один прекрасный день аппу полностью забанят. Кароч, надо взять себя в руки.Кстати, у тебя сильное раздолбайство и лень или постоянно как конь по 8 часов в день сидишь улучшаешь что-то? У меня ужасное раздолбайство, но в проследнее время стало лучше.
>>1695544первое время ебашил как дурной, сейчас поутихло, деньги больше не мотивируют.Страх удаления есть, ставлю везде 18+, один раз суспендили, но после аппеляции вернули. Как вариант, сделал порт на айфон. Там конечно все сложнее в разы, но хотя бы какие-то деньги капают, если с гуглом все
>>1695565мне кажется даже выгоднее так делать, если сделать аудиторию 16+, то уже отсеится вся реклама для 18+, а это огромный рынок. Из-за пары пиздюков 16 летних теряешь дохуя бабла. А если 3+, там вообще печаль. Хотя графики гугла в адмоб говорили что там небольшие потери, 10% вроде...Могли бы и автоматом подтягивать сами необходимую рекламу для необходимого возраста юзера, а не заставлять делать одну для всех.
Вообще странно наблюдать как в гугл плей плавает говно с 2011 года при это не обновлялось как 5 и больше год. Аноны поясните почему так, почему не делать как в яблока а именно выводить новые приложения на время в топы?Это не точно, я не яблочник
Для курсовой необходимы исходники приложения "Мой дневник" или просто "Дневник". Где можно взять на гитхабе или opensourse приложение, чтобы предоставить его исходники и установить его на телефон, чтобы показать преподу?
>>1697022Почему все разрабы такие злые? Есть же в открытых источниках исходники, почему бы не поделиться? Разе не для этого есть опен соурс?
Аноны, а как вы поступаете с id'шниками в xml-e?Тут два тупых подвопроса у меня:- назначаете ли id всему или только по необходимости, где надо чото линковать или из кода вызывать?- как придумываете имена? У меня какой-то блетаь АД вообще с именами, не понимаю как лучше их выдумывать, никакой структуры нет, называю по функционалу, но получаестся мягк оговоря жиденько. И еще - стараетесь ли избегать коллизий или если оно не мешает правильному резолву - то и похуй? Например, у меня много где есть объекты с id='progressBar' например, это похуй? или я должен обмазываться префиксами, вроде 'applesProgressBar'?
>>16987641) По необходимости2) Для нескольких TextView из разных лэйаутов, например, будет так: tv_main_name, tv_detail_name. Фрагменты обзываю: fragment_main, fragment_detail
>>1698792Фикс по поводу фрагментов. Хотел сказать, что нейминг айдишников аналогичен, т.е. сначала тип компонента -> относимость к модулю -> имя
Кто-то портировал приложение с ведра на гей-ос?Нагуглил что есть штука что переводит код джавы в обджектив, для айос: https://github.com/google/j2objcКто-то юзал или есть способы получше?В айос разработке знаю 0
>>1699617Что за приложение по сложности? Если простое, лучший способ - написать его на Свифте. Ноль ты или нет, достаточно прочесть об особенностях языка(синтаксис, структуры, протоколы, расширения и т.д.), остальное подтянется, в том числе и sdk.
Ну и чё скажете, в 2020 есть смысл вкатываться в мобилки? Устал от жабы, а вот котлин пиздецки нравится, хочу пейсать на нём.
Чёт решил вкатиться с курсов Udacity и в части с Multiscreen App появилось ощущение, что качество курса значительно просело. Оставшиеся 2 курса Networking и Data Storage будут такими же?
>>1700294Удваиваю вопрос.А теперь мой. Аноны, я хочу повесить на маркер на гугл карте OnInfoWindowClickListener, но он нихуя не работает, хотя LongClickListener работает отлично. Вопрос какого хуя?Вот тут сам код, logcat, и мой ломаный английский.https://stackoverflow.com/questions/61988468/oninfowindowclick-dont-work-but-long-click-works-fine
>>1701107Ты вешаешь слушателя на InfoWindow, где оба метода возвращают войд. Ты можешь сделать кастомный TouchListener и детектить клик/лонг клик, вызывая его методы внутри методов InfoWindow, либо юзать что-то одно. Если вешать слушателя на маркер, оба метода будут работать, т.к. его они возвращают булеан.
>>1701538Я вчера среди ночи писал это и видимо не так объяснил. Проблема в том что у меня не работает обычный клик (пик 1) и я для теста решил добавить лонг клик рядом с обычным (пик 2).Лонг клик работает как и должен, а вот обычный как не работал так и не работает.P.S. mGoogleMap - это private GoogleMap mGoogleMap;
Аноны, а кто что использует для мониторинга warnings/errors у пользователей? Понятно, что есть стандартная функция с "отправить отчет" и оно появится в консоли разработчика, а что если это варнинги или вообще весь лог? Есть какие-то годные интеграции со сторонними сервисами может?
>>1701605Сука, меня эта херня с ума сведет. Уже напрямую из документации копирую OnInfoWindowClickListener и нихера он не работает
>>1701605>mGoogleMap - это private GoogleMap mGoogleMap;Вешай его внутри onMapReady(), должно работать. В любом случае, всегда можно сделать кастомный тач, который можно заточить под любую задачу.
>>1701709Снова для теста повесил оба Listener-a внутри onMapReady() и опять работает только лонг клик. Пиздос
>>1701719Повесил. Не работает. Ладно, черт с ним, видимо не судьба. Привет тебе гугл от детей донбасса
>>1701805Делай по гайду, там маркеры и кластеризация.В setOnInfoWindowClickListener обязательно создавай новый объект.https://ahsensaeed.com/android-custom-info-window-view-on-marker-click-map-utils/
>>1701027датасторадж недавно обновили и добавили рум. Раньше был пиздец с ручными стринговыми коммандами в датабейс и это была одна боль. Остальное - хз.
>>1700226Ладно, спасибо. По сути не сложное, наверное. Очень сильно на гугл апи не используються. Забыл что на айос свифт завезли. Си шарп был слишком геморным.
>>1701993Ладно анон, спасибо за помощь. В пизду этот андройд с такими проблемами. Решил курсач попробовать написать и заодно расширить свои познания. До этого веб приложения на жабе писал (Spring и прочие радости), но за все года такой херни не видел. Чтобы одна строчка из документации работала, а другая, написанная по тому же принципу нет. Удачи вам тут и терпения.
>>1702202Такое случается нередко, отсюда и привычка оборачивать функционал в кастомную реализацию, искать наиболее подходящее решение. Но в этом что-то есть, заставляет сомневаться в своих навыках.А что с гайдом? Не получилось в итоге?К слову сказать, на JS реализовать подобное очень просто, если тебя интересует именно маппинг и применение JS актуально.
>>1702263Решил все таки. Классика в общем. Скопировал код из твоего гайда, ничего не заработало. Спустя пару часов раздумий решил посмотреть на зависимости и увидел что маркеры в гайде подключены через более старую версию зависимости, а я поставил более новую -implementation 'com.google.maps.android:android-maps-utils:1.3.1'А там уже во всю перешли на MarkerManager, и вешать listener-ы через него надо. На сайте с документацией по Google Maps об этом кончено же умолчали. И единственное место где написано что надо юзать MarkerManager это гитхаб.Как они сами говорят - "These changes also modify behaviors that are documented in the Maps SDK for Android Maps documentation site."
Аноны, мне нужно написать программу для связи по bluetooth между андроидом и компом: 20-30 байтов приняла, 40-50 отправила обратно. Опыта работы с жабой нет, но есть время изучить. Пишу в основном на плюсах в связке с Qt. Что лучше подойдет для этого - c++qt или java? Делать на java? Я слегка охуел от того, что нет структур и с трудом представляю как буду парсить входящую структуру через ByteBuffer или DataInputStream данных на стороне ведра. Ебануться можно.На qt хэллоуворлд для ведра сделал: в принципе нравится. Предвижу массу подводных камней, но это более знакомо. Делают ли сейчас серьезные проекты для андроида c использованием Qt и стоит ли за него браться?
>>1703201В оф. доке достаточно подробно описана реализация. Местами она размазана, так что можешь поискать более стройную на гитхабе.>Делать на java?Зависит от целей. Делай на ней, если хочешь, инфы много.>нет структурКаких структур и в чём, собственно, проблема? У тебя есть сервис, ты создаешь сокет и используешь стримы для записи/чтения буфера в отдельном потокене в UI, получая/передавая массив.
>>1703555> Каких структур и в чём, собственно, проблема? Например, со стороны компа через com порт поверх блутуса в приложение на Андроид передается такая структура:#pragma pack(push,1)typedef struct SMessage { uint32_t msgHeader; uint32_t msgLength; uint64_t sensorId; double temperature; double pressure; uint8_t dataId[12];} SMessage;#pragma pack(pop)На плюсах в приемнике я натянул указатель на структуру поверх принятого массива данных и весело разбираю данные. А в жабе я пока что нагуглил такой вариант:ByteBuffer buf = ByteBuffer.wrap(array); // приемный массив bytebuf.order(ByteOrder.LITTLE_ENDIAN);Integer msgHeader = buf.getInt();... и так далее для всех полей. Полей в структуре у меня штук 15-20. Для каждого так писать для меня выглядит дико, м.б. опыт байтоебства сказывается. Есть ли более изящные решения?> Зависит от целей.Приложение для себя по большей части для получения опыта.
>>1703668C++ структура реализуется с помощью класса в Java, поля в конструкторе. Затем пишешь что-то вроде:SMessage[] msgs = new SMessage[10]; msgs[0] = new SMessage(_, _, _);Вообще, класс можно заточить под любые нужны, имплементируя нужные интерфейсы и убрав добрую часть реализации в методы. Посмотри ещё BufferedInput(Output)Stream.
>>1703668Можешь воспользоваться протобафом. Сгенерирует тебе классы и маршалинг для джавы и для плюссов .
Аноны, чисто организационный вопрос. Вот я разрабатываю свое приложение, логирую (допустим) получение инфы из БД и прочие вещи.Принято ли удалять логи при выходе в продакшн? Или наоборот лучше оставлять, чтобы отслеживать всякое.А вдруг какой-то кулхацкер по инфе из логов взломает что-то.
Аноны, что должно быть протестировано в MVVM приложении, не считая ViewModel?(стек: AAC(VM/LiveData), Dagger, Retrofit/Gson)И ещё вопрос - как лучше структурировать пакеты внутри test? Смотрел примеры, везде хранят тесты прямо в рут пакете.
Парни, можно ли как-то отправлять уведомления через Firebase прямо из приложения? Документация говорит только про отдельный сервер, который будет управлять уведомлениями.Делаю чатик, и возникла необходимость сделать приглашение пользователя в конфу. Делать через Dynamic Links не хочется, слишком сложно (мне не нужен такой функционал) для маленького приложения вроде моего. Да и тогда получится что пользователю нужно ещё и ссылку другу послать (по почте например).Я бы хотел чтобы при нажатии на кнопку (пик 1) и введении Email-а пользователя, которого приглашаем (пик 2) у этого пользователя вылезал пуш о том, что его приглашают и при нажатии на этот пуш он вступал в конфу (соответственно в чатруме есть коллекция User List и именно туда он и запишется).Вся тема с добавлением юзера в базу и т.п. не проблема. Вопрос лишь в том, как отправить пуш нужному юзеру через Firebase?Или же, если знаете как по-другому реализовать подобный функционал, то подскажите пожалуйста. Спасибо. Добра вам.
>>1706968>ссылку другу послать >другуЕсли они друзья, они уже имеют контакт через другие средства связи. Просто сделай шейр интент и все.Не все помнят мейл друга.Им что надо будет писать другу, спрашивать их емейл чтобы туда ввести? Лишняя ебля, но там могут быть разные юзеркейсы, если ты хочешь чтоб приглашали НЕ друзей, а незнакомцев.Доступ к гугл акку, где будут все "друзья" и им мейлы? Но зачем вообще через мейл делать? Кароче, хз, но тебе лучше знать что ты там делаешь и зачем.
>>1707901Не суть, на номер телефона (например) или на логин не сложно переделать. Вопрос в том, можно ли отправить нужному пользователю пуш через Firebase? Во всех гайдах описывается то, как этот пуш отправлять через консоль Firebase (пикрил), а мне нужно делать это программно, прямо из приложения
>>1707925Есть серверное апи, чтобы слать пуши. Через обоссаную админку шлют только всякое маркетинговое говно.Ты можешь дернуть серверное апи с телефона но:1) твой серверный токен для пушей спиздят2) тебе нужен чужой пуш токен, чтобы отправить этому юзеру пуш. можешь конечно выгружать пуш токены юзеров в фаирбейс, а потом запрашивать у фаирбейза по чужому емейлу чужой пуш токен и отправлять ему пуш.Безопасность такого решения крайне сомнительна, но для твоей мелкой поделки пойдет.
Аноны, подскажите кто что использует для мониторинга состояния сети?Из-за разного api в разных версиях я не хотел бы пердолиться сам, а положиться на либки, но самая популярная походу это - https://github.com/pwittchen/ReactiveNetworkНо она требует чтоб я в манифесте у себя разрешил non-tls соединения, что вроде как хуево?Вообще, насколько часто вам приходится прописывать:base-config cleartextTrafficPermitted="false"?
>>1708945> This method is less efficient than observeNetworkConnectivity(context) method, because in default observing strategy, it opens socket connection with remote host (default is www.google.com) every two seconds with two seconds of timeout and consumes data transfer.Тебе настолько надо иметь точное значение наличия соединения с интернетом? Да, если слушать сраный коннективити бродкаст, то он вообще ничего не значит и соединения может и не быть. Но какой у тебя кейс, когда тебе нужно прямо супер точно знать? Показать очередную ненужную плашку "вы офлайн"? Так ее можно и на бродкасте показывать, а если по бродкасту связь есть, то показывать офлайн плашку только после таймаута сети.
>>1708964Да по сути речь идет о сраной плашке, думаешь эта либка это оверкилл?А броадкаст подразумевает такой же пердолинг с разными версиями API?
>>1708971Тебе по сути нужен только ConnectivityManager.registerNetworkCallback. Можешь стащить себе LollipopNetworkObservingStrategy, MarshmallowNetworkObservingStrategy, смерджить в один и радоваться жизни.
>>1709493Do as you bid.Только не жалуйся потом когда челики из гугла забьют на флаттер потому что нужно делать новый проект для промоушна, а на старый всем похуй.
У меня очень глупый вопрос. И на поверхности он простой - в каком методе выполняется основаня логика приложения. Но вопрос таит под собой полное непонимание того, как выглядит воркфлоу андроида. Я раньше делал под андроид игры(а сейчас вкатился в айти и начал делать приложения), и после игр, где у графического фреймворка есть явный основной цикл, в котором каждый кадр последовательно происходит пересчет логики, а затем рендеринг изображения, в этой стоковой хуйне с ее спагетти-кодом из ссылок методов друг на друга из разных мест и потоков я разобраться не могу. И главное, до этого момента проблем не возникало - я просто соединял нужные методы друг с другом и все как-то работало из коробки, но осознавал, что лафа продлится недолго. В общем, реквестирую короткий гайд по воркфлоу, ну или хотя бы ответ на изначальный вопрос - в каком методе мне каждый кадр пересчитывать данные?
>>1711395В обычном джавовском приложении точка входа - метод main.В андроиде это все глубоко спрятано и самый близкий к началу приложения Application::onCreate.Но в андроиде есть система "экранов" и в общем вся движуха происходит в Activity - смотри его лайфсайкл.Цикл с кадрами это довольно специфическая штука характераня как раз только для игр.Если ты что-то хочешь рисовать в унисон с тем как происходит кадр на экране смотри в сторону Choreographer, кастомных реализаций View, SurfaceView. Возможно тебе потребуется самому создать этот цикл и стартовать его когда активтя резумится и стопать когда паузится. Я хз что у тебя за юзкейс когда это надо.
>>1711395>как выглядит воркфлоу андроидаЕсли кратко:1) Выбор архитектуры, удовлетворяющей задачам, и фреймворков, которые позволят наиболее эффективно реализовать её. 2) Внедрение зависимостей и создание базовой структуры, которая позволит абстрагировать отдельные модули. 3) Создание логики, будь то работа с API(сервис, фабрика и т.д.) или локальными данными(сохранение, изменение, манипулирование)4) Создание модулей, обеспечивающих доступ к данным, либо работу с потоками данных, с соблюдением зависимостей/изолированности. Здесь же реализуется многопоточность/асинхронность и, по сути, декларируется способ организации работы, исходя из поставленных задач.5) Создание необходимых адаптеров для ui-контейнеров/виджетов.6) Создание ui(активити, фрагменты, всевозможные клики, драги, анимация), меню, навигация. Тут тоже нужно учитывать то, что ui-компоненты не должны знать больше, чем нужно.7) Тестирование, которое, в идеале, должно быть непрерывным на протяжении всего рабочего процесса.Читай о SOLID, архитектурных паттернах, clean architecture, DI, управлении потоками и иных паттернах, часто используемых в разработке.(Многие из них стали частью SDK, либо реализованы в языках.)Задавай вопросы.
Привет. Кто-нибудь сталкивался что реклама, добавленная через AdMob показывается, если установить приложение с релизного apk файла, но не показывается с производного apk, который уже залит в google play ?
>>1711771Юэкейс простой - получать непрерывно данные с датчика, делать на основе них вычисления, и на основе вычислений апдейтить картинку. Я уже сам нашел решение - создавать отдельный циклический поток под логику, но это пиздец какой-то. У меня небольшой опыт программирования, причем в основном академического - с математическими вычислениями, алгоритмами и т.д, и я как-то привык к четкой итеративной структуре, поэтому и игры было делать очень приятно.
как правильнее детектить, что пользователь в первые за долгое время начал использовать устройство например проснулся утром и начал его использовать?
>>1712156>>1712320Нет, нихуя, сертификат импортирован, приложение подписано ключом. Это ты имел ввиду ? До заливания на ГП работает реклама, после нихуя.
>>1712415У тебя гугл переподписывает приложение твое. Ты в админке адмоба небось свой локальный ключ указывал, а не тот, которым гугол переподпишет.
>>1712439>Ты в админке адмоба небось свой локальный ключ указывалтам SHA-1 где-то указывается ? Это где ? От адмоба я вроде брал только id приложения и рекламного блока.
>>1712204Это норма - ведь приложения заточены на то что бы получать инпут и что-то делать, а не постоянно рисовать картинку.
как правильно делается соответствие gdpr. Если я статистику в гугл аналитику шлю, получается пользователь может у меня запросить данные которые я (гугл) на него собираю?
Встречаю порой в вакансиях что-то вроде "понимает особенности разработки клиент-серверных приложений". Что под этим подразумевают? Что смотреть/читать?
>>1713286>Что под этим подразумевают?Понимание теории и умение пользоваться инструментами.Читай REST API, okhttp, gson, Moshi, Retrofit, RxJava/корутины, адаптеры, конвертеры. Как получать и обрабатывать данные, кэшировать; какие существуют подходы, для какого стека или в контексте какой задачи/требований они актуальны; особенности архитектуры клиент-серверного приложения(Вопрос с подвохой, потому что любое приложение должно быть спроектировано таким образом, чтобы можно было легко внедрить remote. Это показатель правильного построения зависимостей между модулями.). Best practices посмотри, ищи примеры и пробуй реализовать.
>>1712325ловить броадкаст какой нибудь, класть в префы, если между предыдущим бродкастом и тем что в префах большая временная разница то профит
Аноны, такой вопрос - пилю в одно рыло бекенд + андроид приложение, хочется написать интеграционный тест, чтобы он запускал сервер и андроидовскую аппликуху и прогнать несколько базовых сценариев. Это вообще практикуется? Или это ебанутая хуйня и интеграционный тест такой хуй напишешь?
>>1713737Хуево сформировал. По сути я хочу тестировать андроид также, как тестировал бы вебо-парашу - берешь cucumber и selenium и эмулируешь всю хуйню, так же и тут. Надо дрочнуть на аналоги селениума для андроида, если они есть вообще
>>1713742Теперь это мой БЛОЖЕК.Похоже есть appium, который делает примерно что я хочу. Был еще когда-то selendroid но похоже он уже не поддерживается, судя по коммитам.
Как написать такое поведение, что над списком висит кастомная плавающая кнопка, но если доскроллить до последнего элемента, то он становится выше кнопки, а под ней фон?
>>1713644в последних версиях идл стейт бродкаст не ловится, если приложение не весит в фоне, но правильно ли его вообще юзать для таких целей? по идее он может и не сработать, если в фоне будет висеть какое-нить другое приложение, которое жрет сурсы системы и не дает телефону перейти в спящий режим, или я чего-то не понимаю?
ЗдоровачКак мне реализовать темную тему?Интересует от 23 API, в курсе что в 10 ведре есть сахарок для темной темы.Пока вижу 3 пути: выбирать разметку при запуске активити, применять стили к компонентам, красить компоненты.
>>1715813Смотри AppCompatDelegate в доке, остальное нагуглишь.Учти, что нужно проверять состояние и обновлять, к примеру, внутри onResume, если юзаешь несколько активити, либо ловить ивент при смене фрагмента, чтобы работало красиво.
Аноны, хочу в активити с настройками сделать смену языка приложения. Ресурсы перевёл уже, но, блять, как адекватно сменить язык всего приложения? На стековерфлоу куча вариантов от каждого второго Васяна, половина из которых уже не работает (под десятку пишу если что). Неужели гугол не предоставляет какие-нибудь встроенные рячаги управления языком?
>>1717048Есть Locale и Configuration. По-умолчанию из конфига дёргается дефолтная локаль, которая выбирает доступный перевод, исходя из настроек девайса. Создавай локали и апдейть конфиг. У него есть метод getLocales, который позволяет получить хэшмапу локалей и свапать их в рантайме. Читай документацию, там всё есть.
>>1716057Спасибо, только на деле рефакторить через стили как следовало не стал, ибо это пара суток работы, вместо этого просто засплитил требуемые цвета для дневного и ночного режимов соответственно. Осталось нюансы пофиксить и анимации приклеить
>>1717183Если тебе просто нужна возможность переключать, можно и так.В ресурсах должен быть порядок>Учти, что нужно проверять состояние и обновлятьВот это, кстати, я написал на случай, если ты хочешь автоматически менять тему c привязкой ко времени, отдельными кейсами анимации и т.д.