Это копия, сохраненная 5 сентября 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Тред для тех, кто пытается вкатиться в андройд разработку или что-то похожее. По возможности ведем себя няшно и поливаем друг друга лучами добра.
> Хочу вкатиться в разработку под Android! С чего начать?
С видеокурсов от Udacity. Они бесплатны и затрагивают основы разработки даже если не умеешь писать на Java.
https://www.udacity.com/course/android-development-for-beginners--ud837
Или для мазохистов: http://developer.android.com/training/index.html
Так же можно почитывать: https://www.amazon.com/Head-First-Android-Development-Brain-Friendly/dp/1491974052
Большинство приложений написано на Java, понимать ее на хорошем уровне обязательно. Полезные гуиды от анона:
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
Два ресурса для закрепления Андройда на русском: http://startandroid.ru/ и http://developer.alexanderklimov.ru/android/
https://commonsware.com/Android/ - толстая книга для гиков.
Так же можешь смотреть свежие лекции от Mail.Ru
https://habr.com/company/mailru/blog/345252/
https://github.com/ybereza/technotrack-resources - ресурсы к лекциям
В дальнейшем потребуется базовое знание SQL, понимание XML и JSON.
> Я прошел курсы Udasity, а дальше что?
После прохождения курсов у тебя должно сложиться базовое представление о создании приложения; жизненные циклы Activity/Fragments, AsynsTask, Http и прочее.
Дальше закрепляешь знания путем создания пару простых приложений на свой вкус.
>Не хочу пилить говнокод!
Добро пожаловать в в мир Android Architecture и паттернов проектирования.
Для начала тыкаешь Retrofit и RxJava и строишь приложения.
https://www.youtube.com/watch?v=YPf6AYDaYf8 - rxJava с нуля
https://www.youtube.com/watch?v=3jdvLrYZfB4 - на русском
https://www.youtube.com/watch?v=0IKHxjkgop4 - rxJava
https://www.youtube.com/watch?v=t34AQlblSeE - retrofit
Книги для развития:
https://www.amazon.com/Head-First-Design-Patterns-Brain-Friendly/dp/0596007124 - паттерны
https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997 - Java
Дальше выбираешь на свой вкус: MVP or MVVM. Так же желательно понимание Dagger2.
https://github.com/ArturVasilov/AndroidSchool - уроки по архитектуре
MVP:
https://javarush.ru/groups/posts/505-mvp-v-android-dlja-samihkh-malenjhkikh - для понимания
https://github.com/Arello-Mobile/Moxy - плюшка для поворотов экрана
MVVM:
Для нормального понимания желательно знать AAC.
https://startandroid.ru/ru/courses/architecture-components.html - свежие уроки от Димона
https://proandroiddev.com/the-missing-google-sample-of-android-architecture-components-guide-c7d6e7306b8f - для продвинутых
> Не хочу писать на 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 Android
https://www.udacity.com/course/kotlin-for-android-developers--ud888 - курсы Udacity
> Есть что-то кроме нативных приложений на Java/Kotlin?
- Flutter - кросс-платформенный фреймворк от Google. Js с аля строгой типизацией. Второе место по популярности jsников после ReactNative. Если совсем поехавший можешь начинать с него.
https://flutter.io/ - документация
https://www.udacity.com/course/build-native-mobile-apps-with-flutter--ud905 - курсы от Udacity
Остальные:
- Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Спрашивать в C#-треде.
ReactNative — имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити. Вопросы по ним — в js-тред.
- Qt — кросс-платформенный фреймворк на C++. Используется в основном для игры и для приложений с высокими требованиями к производительности (обработка изображений, звука, ГИС-системы). Спрашивать в C++ треде.
- Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Спрашивать в C#-треде.
- PhoneGap/Ionic/Titanium/ReactNative — имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити. Вопросы по ним — в js-тред.
- BugVM — кросс-платформенный фреймворк, написанный на Java. Форк невинно убиенного RoboVM.
> Хочу писать игры!
LibGDX - слишком медленная параша для больших проектов, но познакомится можешь. Unity - для адекватных, Corona SDK, Godot, LÖVE, Defold и другие. Спрашивать в /gd/.
> Что нужно, чтобы взяли джуниором? Что учить в первую очередь?
Нужно хорошее знание Java, понимание базовых принципов Android (жизненный цикл activity/fragment, что такое Context, intents, services, UI thread, support library, shared preferences, SQLite), знание популярных библиотек типа Retrofit + Glide/Picasso + RxJava2 + Dagger2. И хотя бы несколько готовых приложений.
Полезные ссылки:
https://www.youtube.com/channel/UCSwuCetC3YlO1Y7bqVW5GHg - канадский челик, поясняет за архитектуру и отвечает на разные вопросы на стримах.
https://github.com/toddmotto/public-apis - бесплатные API для создания приложений.
https://github.com/AlexeyZatsepin/Android-ORM-benchmark - бенчмарки на вопрос о том, какую БД выбирать.
Прошлый тред >>1187993 (OP)
>А как вообще с рынком? Говорят подыхать скоро собирается (инбифо так хоронят уже 100 лет джаву, си и пхп) и переход на жс будет.
Какой рынок? Руби тоже 20+ лет дохнет никак не сдохнет.
Без андроид-тян не легитимно. Зарепортил тред.
Зарепортил тебе за щеку.
Фейсбучное говно.
Антонидасы, кто разбирался в SIP и TelecomFramework?
>Какую ошибку?
Любую ошибку
>Даже когда я чекал интерфейс 2chbrowser
Не понял нихуя какой интерфейс и причем тут 2chbrowser
Ладно, тогда так. Если этот пидорашка говорит, что нам нужно брать данные только с БД, тогда как Репозиторий должен узнать, подключен ли пользователь к интернету или нет? Это для того, чтобы отправить запрос в сеть, если он подключен.
Можно просто ебнуть контекст и получать данные в нужном месте.
Юзаю locationManager.getLastKnownLocation(provider) , проходясь в цикле по всем провайдерам. И вроде все окей, но оно не работает если с устройства никогда не запрашивались координаты ни одним из провайдеров.
Хуя ты умный конешн. Я и спрашиваю, как именно.
Интернет предлагает requestLocationUpdates навесить, но не отрабатывает на практике.
И кстати, чому не юзаешь FusedLocation из плей сервисов? Ты как то ограничен отсутствием их?
Параллельно задаю вопрос по другой теме.
Есть так называемые онлайн кассы, те самые, что сейчас государство пытается навязать каждому предпринимателю за овердохуя денег. У некоторых производителей кассового оборудования есть протоколы и описание работы с компьютером. Допустим, я хочу так называемый Вики Принт подключать к своему андроид смартфону. Данный кассовый аппарат подключается через com-port, либо usb через эмулятор com-porta. В итоге, получается, что у нас есть список команд, которые мы можем отправлять на устройство через com-port. Может здесь имеются знающие люди, которые бы посоветовали с чего начать копать в эту степь. Каков вообще принцип работы таких систем?
>обрабатывать пересоздание активити, а так же хотелось бы поиметь практический опыт использования базы данных.
В шапке все написано.
>Все по классике - сохранять последние статьи из списка и при отсутствии связи выводить их для пользователя. Поискав в интернете чего-то ясного для себя не нашел. Посоветуйте как реализовать данную тему?
Кури Repository Design Pattern. И бери Room для работы с БД.
>И бери Room для работы с БД.
Только ни один пидарас не скажет, как правильно нужно работать с бд.
https://stackoverflow.com/questions/37007994/android-mvp-where-check-internet-connection
Каждый день самому приходится ебаться со всем. Лучше бы в руби пошел ей богу.
> как правильно нужно работать с бд
В случае реляционки - юзаешь ORM для круда и обновления графа объектов. Для сложных запросов пишешь напрямую SQL или через любой билдер.
>В случае реляционки - юзаешь ORM для круда и обновления графа объектов. Для сложных запросов пишешь напрямую SQL или через любой билдер.
Как правильно это проектировать.
>Молча - берешь и делаешь.
Но мне понравилась архитектура индийца, где данные сначала в бд кладуться и потом из бд вытягиваются.
Только непонятно, если у нас есть в БД старый лист юзеров, и мы через интернет обновляем его. Но пока мы обновляем асинхронно, то может ли первый по списку проскочить через LiveData и отобразиться на экране?
Может. Это и называется offline first app.
мне 38 и хочу деликатно и расчётливо оптимизировать каждый абстрактный класс своей будущей мегапрограммы. Но плохо представляю как мне отладить её на AMD-процессоре не подключая физически десятки устройств.
Дед, выкатывайся нахуй из нашего программирования.
А раньше нельзя было? Я запускаю давно уже. Правда слегка через жопу. Я запускаю официальный гугловский эмулятор, но через терминал, потому-что через студию он почему то падает. Может и это можно пофиксить, но мне лень.
Custom view
archi-кун!
Зачем его бампать? Незакрытых вопросов здесь нет, тем для обсуждения, вроде, тоже. Так зачем его поднимать?
>Незакрытых вопросов здесь нет, тем для обсуждения, вроде, тоже. Так зачем его поднимать?
У меня есть.
>Только непонятно, если у нас есть в БД старый лист юзеров, и мы через интернет обновляем его. Но пока мы обновляем асинхронно, то может ли первый по списку проскочить через LiveData и отобразиться на экране?
Всё понятно.
Как сделаешь, так и будет. Можно, чтобы показался, можно чтобы дожидался ответа с сервера и только при фейле тащился из бд.
>Как сделаешь, так и будет. Можно, чтобы показался, можно чтобы дожидался ответа с сервера и только при фейле тащился из бд.
Хорошо. Попробую и отпишу о результатах.
Как под андройд заходит fullRESTapi?
Что посоветуйте использовать Android Studio, Xamarin, Kivy + PyQT?
На серверной части думаю использовать постгресс. Хотя данные в основном циферки Есть ли какие нибудь камни?
Какие ОРМ можете посоветовать под жабу, если андройд студия. Вот например под питон есть SQLAlchemy. На ней можно просто чудеса с данными вытворять.
Жду советов и насмешек от прошаренных ведрогоспод.
>Как под андройд заходит fullRESTapi?
Интересно, помимо РЕСТ АПИ еще что-нибудь есть? Просто я посвятил жизнь андройду и не знаю что еще есть.
>Что посоветуйте использовать Android Studio,
this.
>На серверной части думаю использовать постгресс. Хотя данные в основном циферки Есть ли какие нибудь камни?
Лишь бы сервак стоял. Какая разница?
>Какие ОРМ можете посоветовать под жабу, если андройд студия
ttps://github.com/AlexeyZatsepin/Android-ORM-benchmark
>Вот например под питон есть SQLAlchemy. На ней можно просто чудеса с данными вытворять
Какие? Жопобольная кросптлатфор?
Для эффективного вкатывания - Realm.
>Жду советов и насмешек от прошаренных ведрогоспод.
Не вкатывайся в это дело. Я не шучу.
Я тут подумал что серверную часть можно написать на питоне.
Можно не отказываться от моей любимой алхимии. Плюс Flask.
Собственно приложение на ведре будет только получать и отправлять JSONчики.
Что думаете, взлетит?
Мне бы еще как то привязать к этой хуйне аутентификацию в плеймаркете.
Ну чуток понятно. Можешь делать.
>Конечно есть. Руби с эликсиром.
Ты сейчас серьезно? Это же ну, такой мейнстрим.
Да и с платформами что делать? Тем-же Android
По своему опыту могу сказать, что самыми большими классами получаются именно Активити или Фрагменты и вот сейчас заметил, что одна из моих Активити имеет около 500 строк кода, уже с учетом того, что по максимуму я ее разгрузил, перенес часть функционала в класс-родитель, еще часть взяла на себя мвп-архитектура
Иди клин архитектурой обмазывайся. Там практически не должно быть кода в активке.
вот нахуй ты сюда поумничать пришел? Я же написал тебе, что уже по максимуму разгрузил активити - клин есть, мвп с дагером есть. В ней только колбеки и переопределенные методы суперкласса по факту ну и инициализация необходимая. Но даже со всем этим получилось 500 строк. Потому и написал тут, нормально ли это или нет?
>Потому и написал тут, нормально ли это или нет?
Не нормально. Минимум 2к+ должно быть.
https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/src/main/java/org/telegram/ui/ChannelCreateActivity.java
А что такое Java?
худший язык.
> разговор об активити
> кидает фрагмент
> который даже не android.app.fragment и не support.v4.fragment
>Пришел в тред
>Спрашивает про строчки кода
>С умным видом выхаживает и рассказывает что применял, даггеры хуягеры, мвп, либанейм*
>Скидывают как пишут продакшет
>РЯЯЯЯЯЯЯ ФРАГМЕНТЫ ТЫ МНЕ СКИНУЛ ФРАГМЕНТЫ!!!!!!!!
толсто. Вообще телеграм самое противоречивое приложение в плане того, что с одной стороны имеет идеальную стабильность и быстродействие, а с другой - жуткие макароны в коде, приправленные антипаттернами и нечитабельностью.
>>13280
> Android
> C++
вали нахуй отсюда
>>13320
>Спрашивает про строчки кода
>С умным видом выхаживает и рассказывает что применял, даггеры хуягеры, мвп, либанейм*
потому и спрашиваю, что даже после этого всего строк около 500, что меня и насторожило, что тут не понятно?
>Скидывают как пишут продакшет
телеграм? лол, это же один из худших вариантов того, как надо писать код
>РЯЯЯЯЯЯЯ ФРАГМЕНТЫ ТЫ МНЕ СКИНУЛ ФРАГМЕНТЫ!!!!!!!!
не я писал
>телеграм? лол, это же один из худших вариантов того, как надо писать код
а где один из хороших вариантов?
на закрытых репозиториях, очевидно же. Так как в соответствие со всеми правилами и канонами пишут только в больших и хорошо оплачиваемых галерах, где либо программисты достаточно толковые, либо за качеством кода следят. Естественно, проекты в таких фирмах в открытый доступ не выкладываются.
В активити должна быть только ui часть, которая зависит от событий, которые присылает ей презентер или пользователь. Поэтому её размер зависит от количества и разнообразия ивентов.
>> Android
>> C++
>вали нахуй отсюда
Флагманский телефон для просмотра стартапофоточек может позволить себе каждый. Нищеброды с 1гб-калькуляторами идут нахуй.
Заебали уже щитпостить, валите в /b с таким базаром.
Он, видимо, думает, что если сможет написать свое приложение на c++, то оно будет быстро работать и на старых телефонах, а если на джаве - то не будет.
лол сука, еще раз орнул
>идеальную стабильность и быстродействие
По мне если приложение имеет подобные характеристики, то можно закрыть глаза на говно-быдло-рыбо-код.
>не могущие даже в гугловскую документацию (самую легкую и понятную из всех имхо)
Без опыта программирования в целом любая документация не будет особо полезна.
Мне в начале пути гугловская не особо то и помогала, много непонятной хуйни и примеров. Даже сейчас примеры у них говеные в коде.
Это нужно для локализации приложения.
https://developer.android.com/guide/topics/resources/localization
Логично. Спасибо большое, вот разработчики под андроид умные, у них даже все символы занимают много байт, вот прям уважение!
>д андроид умные, у них даже все символы занимают много байт, вот прям уважение!
Причем здесь вообще это? Для пидарасов, которые считают каждый байт приложения и его ОПТИМИЗАЦИЮ во время жизни, уже давно придумали активити и фрагменты. На, ебись с этим маня.
Это наоборот круто, я заебался в си ебаться с сранными многобайтовыми кодировками, а тут все по дефолту норм.
Даже если у меня строка всего один символ все равно надо в отдельный файл?
>формальные языки
Эх, завидую. У нас в универе только матаном грузят, информатики почти нет.
>хули бы я здесь делал
Просто по приколу пишешь программы, у меня так батя делает.
Почему?
Мне очень помог этот Димасик.
Если хочешь, можем скинуться на другие курсы вместе.
Т.е. ты мне кидаешь рублей 50, я тебе вторую главу из даггера, и так ты кидаешь мне в сумме 250-300 рублей. У тебя есть даггер, и я еще рх джаву или тестирование покупаю по скидке. И тебе потом кидаю этот купленный второй курс.
Но здесь обычно никто никому не верит, так что увы.
https://github.com/googlesamples/android-architecture/tree/todo-mvp-dagger/
Сделал по этому примеру приложение. Сделал фрагменту setRetainInstance(true). Теперь хочу чтобы после ебучего поворота экрана вместе с фрагментом выживал и презентер.
Действительно, почему java? Почему нельзя c++? Какие вообще компиляторы есть для c++?
Писать на java проще и иногда быстрее.
Почти всё, что ты отображаешь на экране, выноси в res/values/strings.xml
Вернее, я то ее поставил, но прожект не собирается, жалуется на старую версию gradle.
Выложи на какой-нибудь pastebin свой код фрагмента.
Посмотри в сторону вот этой библиотеки на будущее https://github.com/Arello-Mobile/Moxy
Пока глубже не копал, но можно ли заменить эту парашу на простое наследование ViewModel? По идее - да.
Иди нахуй отсюда. Как заебали дауны вроде тебя, у которых никаких знаний, а на всё один ответ - взять ещё одну сраную библиотеку в проект.
Я сказал на будущее, а не сейчас ее брать, долбоеб. Пусть сначала напишет подобную хуйню сам, а когда уже поймет, то берет либу. Нахуя ему каждый раз писать бойлерплейт и городить велосипеды, если уже все есть?
Вечерком закину
Где у вьюмодел будет бизнес логика? В активити? Если мне нужно что-то сложнее простого списочка отобразить?
https://fernandocejas.com/2018/05/07/architecting-android-reloaded/
В юзкейзах.
>>15174
> Главное вспомнить Клеан Архитектури, где она не должна зависить от какой-либо библиотеки
Так у тебя зависимым становится только презентейшон слой. Может ты и в дата слой орм не тащишь?
Я личной свой пет проджект перепилил на вьюмодели с мокси. Потому что могу, да и зашло там хорошо. Вьюстейт в мокси по сути выполняет работу вьюмодели, сохраняя последние полученные данные. Ну и нахуя этот костыль, если теперь можно напрямую биндиться ко вьюмодели, переживающей поворот?
не понимаю, чего все доебались до этого поворота. как-будто если ты решил проблему с поворотом, то больше думать ни о чем не надо. а то что в фоне система кильнет твой апп - это похуй всем? почему никто это не обсуждает например, а ебаный поворот?
> а то что в фоне система кильнет твой апп - это похуй всем?
Так если кильнет, то из сети уже проще инфу подтянуть, если у тебя приложение не оффлайн ферст. Да и вероятно, что юзер так долго не пользовался приложением, что ему уже будет поебать, что там что-то заново грузится, а не досталось из мемори кеша.
Там же презентер в синглтон хеш мапе живет, вот и переживает поворот. А все, что ты отправлял во вьюстейт накатится снова, когда новая вьюшка подцепится.
А что делать? В бандл не больше 500кб можно положить, а вьюмодел тоже дохнет когда приложуху киляет.
> тянуть данные из сети
Долго, дорого.
> доставать из кеша
Его нужно сделать, а если презентер живет, то он сам себе мемори кеш.
>ему уже будет поебать
вот тут не соглашусь, мне не поебать ловить баги с restore state у каждого второго приложения, хотя на девайсе 3gb ram. Представляю как живется людям с 1gb, а потом читаешь в интернетах высказывания в стиле - аа, ведроид глючное говно, пихон лучше
ой, один экран затянуть, не долго, дорогого тоже ниче не вижу
кеш можно простой накидать, хранить json в бд например
> вот тут не соглашусь, мне не поебать ловить баги с restore state у каждого второго приложения
краш != восстановленное состояние без сохранения скролла и введенных данных и загрузкой того, что было уже загружено 5 минут назад
>>15446
> один экран затянуть
Все экраны в стеке навигации вообще то.
> кеш можно простой накидать
Накидай. А пацаны которым нужно быстро на аутсорс сделают переживающий поворот презентер с хранением полученных данных в памяти.
Алсо, самое главное же свойство переживания поворота - фоновые операции не прерываются. Не нужно ничего пердолить с хранилищем фоновых операций как в яндексе например делают, в презентере сделал сабскрайб и не ебешь себе мозги.
Так он и так не вернется, если из кеша данные возьмешь. Ресайклер умеет сохранять позицию скролла.
А как оно на самом деле? Ну то есть действительно ли сейчас все поголовно юзают single activity или нет
Я использую single activity pro flow. То есть, большинство вещей во фрагментах, но настройки или логин или регистрация - отдельные activity.
Двачую. Заебышно 5-6 фрагментов класть. Помню на работе нужно было провести аля магию, где на 4 фрагменте еще нужно было возвращаться на первый. Даже сам не понял, как заработало, мозги уже плавали от такой хуйни.
Зачем? Берешь фрагменты и хуяк хуяк replace replace, addToBackStack. Вон гуглы навигейшон либу еще подвезли для этого.
ай. нахуй надо это ебля, ебашу по старинке, макс 2-3 фрагмента в активиту, и в хер не дую
Гугли android jetpack - navigation
1.Создаю новый класс. Есть метод setCookiePolicy из CookieManager ,требует что б находился внутри onCreate ну ок. Наследуюсь от AppCompatActivity. Тогда вопрос не пойдет по пизде lifecycle.? Как луче сделать?
2. Как передавать переменные. Хочу отдельно OkHttpClient и пикассо. Создаю клиент там же Downloader, а экземпляр пикассо в отдельном классе ,например, в ImageBuild.java.Теперь, как луче передать OkHttp3Downloader downloader в ImageBuild.java : сеттеры,гетеры,новый экземпляр,...и т.д?
>Тогда вопрос не пойдет по пизде lifecycle.?
С чего он пойдет по пизде, если у тебя объект в активити создается каждый раз?
>2. Как передавать переменные. Хочу отдельно OkHttpClient и пикассо. Создаю клиент там же Downloader, а экземпляр пикассо в отдельном классе ,например, в ImageBuild.java.Теперь, как луче передать OkHttp3Downloader downloader в ImageBuild.java : сеттеры,гетеры,новый экземпляр,...и т.д?
Че блять?
Не отвечайте этому дауну
Я такое говно с OkHttp ни разу пока не видел. Я не понимаю, зачем ты юзаешь билдер для пикассо и добавляешь так интерсептор.
Зачем это блять вообще тебе нужно? Если ты хочешь вызывать не в мейн активити - читай про синглетон и даггер.
>про синглетон и даггер
ок, спасибо
>зачем ты юзаешь билдер для пикассо и добавляешь так интерсептор.
Чтоб добавить http заголовок и куки в запрос ,а потом в ответ получить изображение
Вот тут нашел что-то похожее, но не понимаю, куда это можно в apk прописать.
https://stackoverflow.com/questions/10977288/clear-application-cache-on-exit-in-android
Никак.
Щас тебе посоветую даггер и ты просто охуеешь. Не связывайся пока с ним, разбей на классы руками.
Запихни в smali вызов getcachedir delete первым методом в onCreate приложения и собери апк обратно. При выходе у тебя сделать не выйдет.
Читай про декомпиляцию, smali, сборку smali обратно в apk. Тебе нужно всего-лишь немного smali файл подредактировать.
Можно попробовать декомпилировать в джава-классы, добавить аппликейшон класс, перегрзуить там онДестрой и оттуда уже чистить. Хотя я хз, можно ли перекомпилировать с добавлением своих классов.
Мимо
>Гиблое ли дело вкатываться в Xamarin ну и писать на сярпе
да
>Или строго джава?
нет. Лучше котлин. Но джава пока еще катит
>тебя ждет фиаско и разочарование
Чому? Я тыкал его немножко, к синтаксису пока не привык и особо перекатываться тоже не хочу. Я зеленый, мне и на джаве нормально.
Ох, спасибо, но там видимо понадобиться ставить довольно много различной джавы. Не был ли ты так любезен, чтобы извлечь мне тексты из следующего маленького приложения? https://apkpure.com/запоминания-чисел-мнемоника/ru.wellapp.zapominanie_chisel Я был бы очень благодарен. Да и думаю приложение-то совсем маленькое и вроде бы дружелюбное к подобному.
Что-то последними днями я совсем не в ладах с этими тся/ться. И вообще наверное с текстами.
Да ты охуел, пиздуй сам. Джаву ему уже влом поставить, пиздец. Молись богу, чтобы там тексты не с сервера тянулись.
Жаль, ну извини. Там точно не с сервера, а самым простым способом выводятся.
Теперь завязка: Посредством кнопки мы посещаем наше новое активити, которое содержит этот TabLayout. Соответственно, в фрагменте №1 мы грузим список. Потом мы переходим в фрагмент №2 и тоже грузим список.
Концовка: Когда мы перейдем обратно на фрагмент №1, мы опять запросим список с интернета.
Это же не нормально, запрашивать заново данные, когда юзер через 5 секунд опять оказался в фрагменте №1.
Вопрос, как тогда решается такая ситуация? Вешается таймер какой-нибудь или чекаем время последней загрузки данных с интернета?
> просто загрузил 120 юзеров в лист
Просто не бывает. Там могло дохуллион событий произойти. Замеряй мемори аллокешоны и решай сам.
>А зачем это фиксить? Тебе это никак не мешает.
Да, в разрабе никак не решает, но если я захочу его выпустить? 20МБ это пиздец конечно, а не размер
алсо попробовал засплитить, из 20МБ получилось 15МБ. Сейчас нужно опять почитать вдумчиво про что такое апк и т.д.
Нормально общайся
>Нужно ли это все в мобильной разработке под дроид?
А ты шапку читаешь?
>И пригодятся ли всякие реакты и прочие редуксы?
А что это такое?
> но если я захочу его выпустить
Когда собираешь релизную сборку дебажные сплиты ресурсов не применяются.
>Когда собираешь релизную сборку дебажные сплиты ресурсов не применяются.
Ты пишешь так, что это все в порядке вещей. И приложения должны быть такими большими. Это ты так рофлишь?
Можешь кстати попробовать AppBundle, он сам рассплитит. Расскажешь ощущения потом.
Вот это конечно неожиданный удар в спину. Я в шоке.
> Тогда зачем вообще нужен retrofit, если я могу ручками гет и пост запросы делать?
В ретрофите удобнее. Окхттп для кейсов, когда ретрофита не хватает.
А, ну ок. Спасибо.
А тут такое.
>А что это такое?
Вещи которые ты начнешь изучать когда javascript захватит мир. Если не хочешь без работы остаться конечно
> как же блять заебали эти сайты , которые тупо парсят английский стаковерфлоу, прогоняют ответы через гуглопереводчик и публикуют у себя даже не оставляя ссылку на оригинал, читать такую жижу невозможно(особенно когда натыкаешься на "намерение","активность" или "вид"), а весь поиск только ими и засран
Ты попадаешь на такие сайты только потому, что гуглишь на русском.
я знаю , но то что они меня заебали это не отменяет, мне нужно было хотя бы где-то выговориться
Каково мнение анонов по поводу дарта?
Хуйня для даунов.
Ананасы, посоветуйте максимально дешевый андроид телефон для разработки, пользоваться повседневно все равно не буду, так как есть айфон, поэтому главное чтобы обновлялся как можно дольше на актуальные версии и не совсем уж тупил. Не в mobi потому что там одни школьники с китайскими салями.
Ну чекай характеристики и покупай. На сайтах и по 2-3к продают ондройд 8.0, в том же мвидео например.
> чтобы обновлялся как можно дольше
Любое пердолеустройство с живой веткой на хда-дев. Уанплюс например.
> Android One
Ага, то-то шлакоми а1 так быстро нет обновили до 8 и до 8.1, попутно сломав все.
Я с этого самого a1 сейчас и капчую. 8.1 есть, ниче не сломано. Да, обновляется не так быстро, как флагманы самсунга, но ты и цену сравни, он спрашивал максимально дешёвый.
Мне очень хочется узнать, как организовать это дело без использования LiveData?
дебил, блять
самый лол в том, что да. Настанет день, когда гугл скажет, что больше в андроид-разработке джава не поддерживается, котируется один лишь котлин. Все, кто игнорируют или хейтят его соснут плотных болтов и будут плакать горькими слезами.
лол. Для тебя 15-20 мб для апк - это много? Это же вполне нормальный размер. Если приложение достаточно большое, то оно и до 60 мб может доходить
Спасибо, взял ксиоми A1, вроде норм, пусть и тормозит но за такие деньги что уж делать.
Шизик, а котлин по-твоему во что компилируется? Или ты ещё один свидетель flutter'а и андромеды, которые вот-вот захватят рынок, нужно только чуть-чуть подождать?
перед тем, как привселюдно обсираться в треде, где все же сидят достаточно умные люди (это все-таки тебе не бэ и не по), ты бы хоть поинтересовался темой. Почитай, почему вообще так получилось, что гугл стал искать замену джаве, почему уже его внедрил, как офф язык для разработки, почему рекомендует всем переходить на него.
https://stackoverflow.com/questions/34431734/endless-recyclerview-with-progressbar-for-pagination
Гугли еще про EndlessOnScrollListener recyclerView
Как сделаешь вменяемый пример, кидай сюда,я погляжу.
Бля, тебе же кнопка нужна. Ну так просто в onLoadMore показывай кнопку загрузить еще и грузи.
Это вроде можно через новомодный тоаст сделать или еще-что-то в этом роде. гугли toast button либы 100% есть
Кстати, последний droid который в берлине проходил все примеры на котлине были.
Вчера обновился, а сегодня обновление временно отозвали: пишут, что у некоторых смсмки удалились из-за него. Так что жди, починят и выкатят обратно.
Долбоебина, тебе говорят, что гугл при всём желании не сможет помешать кому-то использовать джаву, не сломав при этом поддержку котлина.
>реакт натив все ближе петушок.
Ахаха бля. В каком месте?) Я даже вакансии уже знаю, что на РА по рашке их 300, а по андройду 3к. Писос соси, маня.
> Прижмет и побешишь Кантора читать.
Максимум куда я с холодным потом побегу - так это читать котлин. А что еще за Кантор? Это шизик мочаскрипта?
Че это сосать? Работы больше, есть фриланс, востребованность выше, зарплаты выше, порог вхождения ниже. Одни плюсы.
> Работы больше, есть фриланс, востребованность выше, зарплаты выше, порог вхождения ниже.
Шо ты меня обманываешь мань(
>А что сильно выше востребованность и зарплаты в вебе?
Ну да, но на счет ЗП нет.
А что, хочешь перекатываться уже?
Неее. Фронтэнд параша не привлекает. А урок который гласит что лучше заниматься чуть менее оплачиваемым делом но которое нравится, нежели более оплачиваемым которое ненавидишь, я усвоил уже.
Ну ебаш тогда.
Спасибо, примерно это и хотел. Не помню в каком приложении видел такую штуку, но там видимо эта кнопка была просто красиво сделана и по виду floatActionButton напоминала. По поводу endlessScroll`а: возможно 2 варианта своего мега приложения сделаю чтобы опыт получить, если сделаю вариант с endlessScroll`ом, то скину сюда.
>возможно 2 варианта своего мега приложения сделаю чтобы опыт получить
Я тебя сразу предупрежаю взяться за архитектуру, если еще не взялся. В начале своего пути я пытался пагинацию ебнуть вместе с подтягиванием данных из бд и так далее и все в активити. Очень много времени на эту ебанину потратил. А по факту недавно апп ебнул и по красоте все работает.
да , уже напарывался на некоторые проблемы из-за архитектуры пытался сделать экшн мод для ресайклер вью сделать, но обосрался, тк там типа при скролле ресайклер реюзал уже выделенные элементы и не выделенные элементы все равно подсвечивались, в итоге когда нашел способ исправить не смог это сделать , потому что там все было запутанно очень сейчас вот пытаюсь по mvp приложение делать, но не уверен, что правильно все выходит
>cейчас вот пытаюсь по mvp приложение делать, но не уверен,
Я бы посмотрел.
Хотя надо мне сделать МВП с Моху в качестве примера, но пока руки не доходят.
ой орууу с этого мани.
чувак, гугл в одном из обновлений андроид студии просто отключит поддержку джавы и все. Вот такая вот "многоходовчка" в один шаг. Это все, что им надо будет сделать, чтоб джава в мобильной разработке умерла. Потому что никто назад к эклипсам и нетбинсам не вернется, всякие долбаебы типо тебя поплачат на форумах и пойдут , матерясь, учить котлин в попытке успеть на последний поезд и вкатиться. Остальных, самых принципиальных джавистов-староверов порешает рыночек. Единственное, почему гугл все еще этого не сделали - это достаточно количество джава программистов и проектов на данный момент. Но это быстро пройдет
Вообще всегда удивлялся, как в сфере айти, самой динамично развивающейся, появляются такие лютые консерваторы, не способные вообще принять перемены и спокойно с ними жить и работать дальше.
забыл добавить, что при таких раскладах конечно найдутся люди, которые через костыли и танцы с бубнами смогут писать на джаве и компилить все в апк-файлики, но таких останется меньше процента и это уже совсем забитые гики, на которых никто особо книмания обращать не будет
> учить котлин в попытке успеть на последний поезд
Почему шизло думает, что разработка на котлине чем-то принципиально отличается? СДК то одно и тоже, хули.
> гугл в одном из обновлений андроид студии просто отключит поддержку джавы и все.
Ты не в курсе, что студия - это кострат идеи, да?
> Вообще всегда удивлялся, как в сфере айти, самой динамично развивающейся, появляются такие лютые консерваторы, не способные вообще принять перемены и спокойно с ними жить и работать дальше.
Я сам котлин в своей фирме проталкивал, тебе не про консерватизм говорят, а про то, что ты хуйню несёшь.
> гугл стал искать замену джаве
Суд был из-за апи джава классов, сделанный 1 в 1 с оракловсим ради обратной совместимости. Тот самый апи, который ты используешь в своем любимом котлине, ведь крутится он на жвм.
принципиально ничем. Просто другой более современный язык с вкусными плюшками, который в джаве не хватало
>>21481
>Ты не в курсе, что студия - это кострат идеи, да?
В курсе, и что? Я про это написал уже выше, что кодить на джаве будет конечно возможность, устанавливая всякие левые плагины, костяли и так далее, но так мало кто будет делать.
>Я сам котлин в своей фирме проталкивал, тебе не про консерватизм говорят, а про то, что ты хуйню несёшь.
я в этом треде написал следующее - котлин будет со временем только забирать больше позиций, джава соответственно меньше. При желании гугл отключать джаву и оставят один котлин. Произойдет это не сейчас, но относительно скоро (лет 5 где-то). Давай конкретно, что из этого хуйня? Если ты не согласен хотя бы с одним из пунктов, то нахуя ты у себя котлин протягивал? Оставался бы на джаве.
Когда делается веб-проект или сайт, то заказчику по итогу предоставляется админка для редактирования новостей, добавления материалов и т.п., короче простейшая cms (ну или не простейшая, если заказчику это нужно).
А что выступает в качестве управлялки для управления мобильной приложухой? Предположим, создается апп для доставки жратвы. Наверное, ассортимент, фоточки и пр. сливаются автоматически из внутренней CRM компании. Но есть вещи, которые манагер должен включать вручную, ну допустим, нужно вывести уведомление сверху В СВЯЗИ С ПОЖАРОМ, МЫ ЗАКРЫТЫ ДО 12.05.
Это продумывается заранее? Пилится отдельный интерфейс для манагера? Веб-интерфейс или прямо в прилохуже или вообще виндовое приложение?
>Это продумывается заранее?
Все продумывается на стадии переговоров с заказчиком. Что он скажет и что он хочет - то и пилится. Все.
>Как обычно-то делается?
Да хуй его знает. Каждую неделю они созваниваются с тимлидом или еще с кем кто переговоры ведет и прогает чуток и обсужают.
Потом этот челик приходит ко мне и говорит - делай так. Я и делаю.
Если скажет ебнуть пожарную безопасность - ебну пожарную безопасность. Даже думать не надо, как в качке.
Так тебя это вообще ебать не должно. Ты ведроразраб, а админку для бэкенда пилят обычно в веб формате. Хотя если и админка будет ведроид приложением, то за работу, хули.
>И как, например, ты делал?
Че делал? На тебе таски навешивают и хуяришь их неделю. Потом новая неделя - новые таски. Так месяцы незаметно пролетают, глядишь, а тебе уже 60 лет и ты дед уже вонючий.
Я сейчас заценил два курса по MVVM и Clean Architecture (они были бесплатные какое-то время), очень понятно, мне зашло. Правда, некоторые моменты упустил и хотел пересмотреть, а они не дают пересматривать уже просмотренные уроки.
>>22158
Clean Architecture - https://caster.io/courses/android-clean-architecture
MVVM - https://caster.io/courses/android-mvvm-pattern
Либа для ФП в котлине - https://caster.io/courses/functional-programming-in-kotlin-with-arrow
Ну и еще хотелось бы про даггер и рх глянуть курсы, хотя про это и так куча статей уже есть
>Clean Architecture - https://caster.io/courses/android-clean-architecture
Последний раз учу гуглить. Алсо, чтобы понять что да как советую читать this: https://habr.com/company/mobileup/blog/335382/
Он мне не нравится. В одном из уроков по интеграции LiveData с Realm он пишет костыль. Еще и хуйкин в очках. В шапке есть нормальный туториал, но он не учитывает состояние сети, нет рхДжавы, нет прогресс бара, нет Share data between fragments. Но в целом годный. Некоторые моменты решаются в этой статье https://proandroiddev.com/android-clean-architecture-with-viewmodel-usecases-and-repositories-part-1-b9e63889a1aa
Алсо, чтобы все проекты на котороые ты приложил ссылки лежали здесь незамедлительно. Бегом я сказал.
Нормальные курсы. Первые скучноватые, но теории много. А на яндексе 2017 мне нравится как бабенка одна выкрикивает постоянно. Я бы ее жахнул. Она уже доклады читает я видел.
Топ писечка
Только сейчас узнал об этом.
https://www.youtube.com/watch?v=3VXPsCUYioM&index=13&list=PLQC2_0cDcSKBNCR8UWeElzCUuFkXASduz=17m30s
Писечка опять помогла.
>учу гуглить
Да я вроде умею более или менее, но вот именно курс на кастере показался мне наиболее понятным.
>MVVM
Курс на кастере как раз учитывает состояние сети, загрузку и все это под рх. Кстати, а в каком уроке по LiveData с Realm он костылит? Кинь ссылку, посмотрю, как делать не надо. Ну и за андроиддев статью спасибо, прочитаю.
>ссылки на проекты
О каких проектах идет речь?
>О каких проектах идет речь?
Которые ты скинул ссылку. Мне лень на кастере регаться.
>Курс на кастере как раз учитывает состояние сети, загрузку и все это под рх.
Это все можно разобрать через гитхаб.
>Кинь ссылку, посмотрю, как делать не надо
https://caster.io/lessons/using-livedata-transformations-with-realm
Ответ: https://github.com/realm/realm-java/blob/f243b8f9ee63ea2159142bb263cd12412dca819b/examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/livemodel/LiveRealmResults.java
Все расписано в примере, просто чекаешь и все.
>Соси хуй, быдло.
Но ведь быдло это ты.
А вообще интеллектуальный уровень пидорашек в /pr/ неприятно удивил.
>проекты
Clean - https://github.com/hitherejoe/GithubTrending
MVVM - https://github.com/ericmaxwell2003/MvvmTipCalculator
>разобрать через гитхаб
У меня очень медленно идет разбирание через гитхаб, непонятно, куда что идет и откуда. Поэтому и нужны курсы.
>RealmLiveData
По-моему, это вообще бессмысленно - там же RealmResults и так автоматически обновляются на любом треде с лупером. Зачем еще делать обертку в ливДату - тупо ради примера? ИМХО, если у кого-то в проекте есть релм, то ему уже не нужна ливДата или рх (по крайней мере, для работы с релмом).
Кстати, еще такой вопрос: допустим, в домене модель состоит из трех классов, у одного из них есть ссылки на другие (обычная аггрегация). Дальше, в модуле БД эта модель представляет из себя 3 POJO с маппингами отношений в самой БД. Итак, какого вида модель должна лежать в модуле Data (между Domain и DB)? Нужно ли ее раскладывать на 3 POJO уже в маппинге между Domain и Data или оставить как есть, и маппить только в DB?
ах ты блять, нормальный вопрос задал же, вот ты педик!
анон, отпишись на почту плиз, хочу про даггер почитать
> Не хочешь/не можешь ответить
Я блять тебе ответил что веб морда. Если совсем шиза какая то, то нативное приложение.
>ты мерзкое, тупое, чсвшное уебище.
Нет, я няша. Мне просто не нравится что здесь не могут ответить на элементарные, казалось бы, вопросы.
>>22395
>MVVM - https://github.com/ericmaxwell2003/MvvmTipCalculatoПасиба няша.
>По-моему, это вообще бессмысленно - там же RealmResults и так автоматически обновляются на любом треде с лупером. Зачем еще делать обертку в ливДату - тупо ради примера? ИМХО, если у кого-то в проекте есть релм, то ему уже не нужна ливДата или рх (по крайней мере, для работы с релмом).
Ну напиши тогда простой пример с MVP + Repository и реилмом. Была бы такая нормальная реализация, я бы и ей пользовался, но увы, ее нет.
>с маппингами
Я не знаю что такое маппинг. И особо глубоко пока не копал domain.
Ну смузи и электросамокат хватает.
На экране по центру расположен Button. Под ним сразу располагается GridLayout с изначально установленным числом строк и колонок. В каждую ячейку динамически кодом добавляется разные ImageView. Проблема - изображения начинают вылезать за границы экрана. Поэтому при добавлении ImageView руками меняю размеры через setLayoutParams.
Ширину ячейки (изображения) считаю так: ширина_экрана / количество_колонок
Высоту ячейки так: (высота_экрана - высота_кнопки) / количество_строк
Размеры экрана получают через windowManager.defaultDisplay. Высоту кнопки тоже верная (пробовал и хардкодом)
В итоге получается неверно: по ширине нормально, а по высоте на экран влезают не все строки. Подскажите, почему по высоте такое говно получается?
Ну, возможно. Но мне все равно надо сделать таблицу картинок, которая динамически будет менять свой размер относительно размеров экрана. Как это лучше сделать? Может другой layout какой нибудь использовать?
Попробуй посмотреть flexboxlayout от гугл.
Не лезь, оно тебя сожрёт.
>Востребовано ли это?
да
>Пацантре, насколько сложно вкатиться в Андроид?
в иос легче
>Учу джаву
учи, только какой толк, если андройд другое измерение
>направление не выбрал
выбирай
>Хочется послушать андроидобогов.
Ну я ответил.
>учи, только какой толк, если андройд другое измерение
А разве джавка не используется в андроиде?
Ну если говорить о джава кор то да, а если все-таки учитывать весь джава стек под которым подразумевается "джава" (спринги, хибернейты и прочее) то меньше процента.
>(спринги, хибернейты и прочее)
Никогда не учил эту парашу. И какой же я молодец, что не сделал этого.
Понял. Начну уже курсы по андрюше учить чтобы побыстрее вкатиться. А то пока соберусь, гугл уже новую ОСЬ выкатит.
Какой-то ты недружелюбный
Соси хуй, быдло.
Видел статью про котлин.
Говорят киллер жабы на ведре.
>
>Нахуй иди, говно.
По возможности ведем себя няшно и поливаем друг друга лучами добра, синьор.
Все те же проблемы, что и с другой многопоточностью. Кроме них никаких - корутины годнота.
Разве что один момент - корутины заточены под асинхронные действия и приостановимые вычисления. Например если тебе нужно параллельно обработать 100 задач, то rxjava или reactor будут немного более neat за счет .parallel.runOnScheduler(scheduuler).subscribe.
Но для ведра это не кейс, поэтому корутины особенно годнота.
Пробовал в реальных проектах? Так же меня их экспериментальный статус смущает, как бы с новой версией котлина не пришлось их переписывать.
> Пробовал в реальных проектах?
Конечно, брат жив.
> Так же меня их экспериментальный статус смущает, как бы с новой версией котлина не пришлось их переписывать.
Ты бы хоть немного погуглил прежде чем отнимать время анонов. У них давно уже экспериментальный статус и они уже сделали все что хотели - в следующей версии котлина лейбл экспериментальности снимется. Использовать в проде можно уже сейчас, джетбрейнс гарантируют.
Че по стак трейсами то в итоге? Слышал у них туда куча говна из их синтетики попадает и он в целом идет по пизде, впрочем как с рх. Если проблема осталась, то толка менять шило на мыло особого нет.
Как и с любой многопоточностью.
Поделись примерами. На какие грабли наступал при их использовании
> Можно с ними что-нибудь на подобие бихейвиор сабжекта замутить
Sequence
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines.experimental/-sequence-builder/yield.html
Когда ты уже подохнешь тварь мелкая. Хотя я уже привык к тебе.
Есть ли какая-нибудь либа которая упрощает это дело? Может быть я хочу в Observable<MagicClass> поставить такой класс, чтобы не прописывать каждый раз gson классы.
Просто ебнуть обсервабле а потом по каким-то магическим образом он уже будет включать в себя get set и так далее. Мне лишь остается просто тянуть нужные и сейвить в бд.
Kotlin data classes или Google AutoValue
Юзай кодген. А еще лучше выкинь gson и используй moshi, лучше него парсилки под Андроид нет.
> There’s no field naming strategy, versioning, instance creators, or long serialization policy. Instead of naming a field visibleCards and using a policy class to convert that to visible_cards, Moshi wants you to just name the field visible_cards as it appears in the JSON.
Нет_спасибо, я_пожалуй_откажусь.
Бамп вопросу
Там есть аннотация, которая позволяет указать имя ключа. Но ты же даже не удосужился пройтись по доке, а уже что-то высираешь.
Зачем мне читать доку? Я осилил readme ровно до этой строки и закрыл вкладку. Или ты к каждую либу досконально исследуешь? Времени свободного дохуя больно?
ты где этот бред вычитал? Gson же самый удобный это раз, имеет достаточную функциональность, в которую врубаешься даже будучи новичком минут за 5-10 - это два. Ну и три - это идеальная состыковка со связкой ретрофит+окхттп. Не ебу , можно ли моши встроить в нее, но дае если и да, то ебал я в рот писать для этого езе костыли
Именной поэтому они и не нужны. Никто в здравом уме не будет тратить усилия на поиск умеющих и рисковать при приёме их на работу.
Тут все просто. Во всей сфере дефицит скиловых людей. И либо ты расплачиваешься и ищешь опытных либо экономишь но копаешься в говне. Тот же спермбанк и прочие гиганты могут себе позволить копаться в говне, у них и так целый штат эйчаров которым дело нужно придумать
У гигантов зачастую и требования совсем не джуновские. В тот же Яндекс чтобы попасть, нужно пять раундов тестовых по 3-4 часа пройти и ещё всякими круглыми луками тебя мучать будут. Если у джуна мало опыта и знаний, то в гиганты ему точно нет смысла соваться.
Ну хз, вот смотри спермбанк.
Требования:
>Опыт работы в области разработки веб-приложений и мобильных приложений;
Парочка говносайтов на реакте и аpk в плеймаркете и подходишь
>Java, Javascript, HTML 5, CSS
ну это знать надо любому кто в вебговне копается или мобилках (хотя во втором уже опционально)
>Понимание SOAP и REST, XML и XSLT
Понимание можно и приобрести
>Умение и желание разбираться в «чужом» коде
Абстрактное требоование
Дополнительные навыки (может повлиять на выбор одного из кандидатов):
>Опыт разработки Android приложений или iOS-приложений
Опять же парочка приложений в маркете >Использование системы контроля версий GIT/ SVN
знать любому прогеру нужно
>Опыт работы с Tomcat, IBM WebSphere;
Вот тут сложно да
Ненормальных джунов пристраивают через "мамину подругу".
Для просто быдла с улицы - это чисто чтобы HR без дела не простаивал и самоутверждался путем вариации игры в зоновскую прописку.
1. Gson хуже Moshi. Не веришь мне - вот тут один из создателей обеих библиотек это расписал: https://www.reddit.com/r/androiddev/comments/684flw/why_use_moshi_over_gson/
2. "это идеальная состыковка со связкой ретрофит+окхттп". Идеальная как раз у связки okhttp(retrofit)+moshi, т.к. они обе используют okio для обработки потока байтов.
В общем, ты не прав по всем фронтам. Ну ничего, все мы когда-то с чего-то начинали.
>>25295
Причем тут мое время? Речь шла о json библиотеках. Твой критицизм по поводу андерскоров оказался невалидным.
>1. Gson хуже Moshi. Не веришь мне - вот тут один из создателей обеих библиотек это расписал: https://www.reddit.com/r/androiddev/comments/684flw/why_use_moshi_over_gson/
2. "это идеальная состыковка со связкой ретрофит+окхттп". Идеальная как раз у связки okhttp(retrofit)+moshi, т.к. они обе используют okio для обработки потока байтов.
Друг, понимаешь ли в чем дело, для такой библиотеки, как парсер джсона, мне нахуй не нужно тратить время на документацию, вчитываться в какие-то ебучие особенности там, где этого можно не делать, чтобы в итоге проебать час-два времени, за которые я бы написал важный функционал. Ведь на выходе я получу все тот же парсер джсона. Когда я еще года 4 назад познакомился с Gson, то знаешь, почему я сразу перешел на нее моментально? Потому что там все элементарно - методы fromJson и toJson , тут без всякой доки ясно что они делают. Одна единственная аннотация, используемая постоянно - @SerializedName , для декларирования имен полей, ожидаемых в джсоне от сервака. ВСЕ. В это с нуля вникаешь минуты за 2-3 (что я и сделал будучи еще зеленым бегиннером). При этом всем я ниразу за те же 4 года не столкнулся с багами Gsona, с лагами или неправильной работой.
Касаемо Моши - я пару лет назад с ней сталкивался и даже читал доку, но послал нахер за ненадобностью - так как куча ненужных аннотаций, какие-то методы переопределять, нахуя блядь? Приверженец индусского кода? Специально прочитал сегодняя ее доку еще раз и все равно мало вьехал (не сильно и хотел) в особенности ее работы, так как уже сразу видно по тому, как организована работа с либой, то, как она будет показывать себя в деле. По факту для такой базовой библиотеки, как эта максимум, что надо - это показать как подключать зависимость и как применять в трех ситуациях, описанных выше. Остальное - бесполезная вода и графомания.
То что ты нашел какое-то сравнение гсона и моши мне вообще похуй, я даже по ссылке не заходил, но могу сразу уверенно сказать, что итог того "сравнения" - это то, что МОШИ БЫСТРЕЕ ПАРСИТ 10000000 ОБЬЕКТОВ на 0.0001 СЕКУНДУ, ЧЕМ ГСОН, АХАХА, ГСОН НИНУЖОН, ТОЛЬКО МОШИ.
Опять же , мне похуй на теорию, на практике, реальной практике, гсон сбоев не давал никогда и это факт.
>1. Gson хуже Moshi. Не веришь мне - вот тут один из создателей обеих библиотек это расписал: https://www.reddit.com/r/androiddev/comments/684flw/why_use_moshi_over_gson/
2. "это идеальная состыковка со связкой ретрофит+окхттп". Идеальная как раз у связки okhttp(retrofit)+moshi, т.к. они обе используют okio для обработки потока байтов.
Друг, понимаешь ли в чем дело, для такой библиотеки, как парсер джсона, мне нахуй не нужно тратить время на документацию, вчитываться в какие-то ебучие особенности там, где этого можно не делать, чтобы в итоге проебать час-два времени, за которые я бы написал важный функционал. Ведь на выходе я получу все тот же парсер джсона. Когда я еще года 4 назад познакомился с Gson, то знаешь, почему я сразу перешел на нее моментально? Потому что там все элементарно - методы fromJson и toJson , тут без всякой доки ясно что они делают. Одна единственная аннотация, используемая постоянно - @SerializedName , для декларирования имен полей, ожидаемых в джсоне от сервака. ВСЕ. В это с нуля вникаешь минуты за 2-3 (что я и сделал будучи еще зеленым бегиннером). При этом всем я ниразу за те же 4 года не столкнулся с багами Gsona, с лагами или неправильной работой.
Касаемо Моши - я пару лет назад с ней сталкивался и даже читал доку, но послал нахер за ненадобностью - так как куча ненужных аннотаций, какие-то методы переопределять, нахуя блядь? Приверженец индусского кода? Специально прочитал сегодняя ее доку еще раз и все равно мало вьехал (не сильно и хотел) в особенности ее работы, так как уже сразу видно по тому, как организована работа с либой, то, как она будет показывать себя в деле. По факту для такой базовой библиотеки, как эта максимум, что надо - это показать как подключать зависимость и как применять в трех ситуациях, описанных выше. Остальное - бесполезная вода и графомания.
То что ты нашел какое-то сравнение гсона и моши мне вообще похуй, я даже по ссылке не заходил, но могу сразу уверенно сказать, что итог того "сравнения" - это то, что МОШИ БЫСТРЕЕ ПАРСИТ 10000000 ОБЬЕКТОВ на 0.0001 СЕКУНДУ, ЧЕМ ГСОН, АХАХА, ГСОН НИНУЖОН, ТОЛЬКО МОШИ.
Опять же , мне похуй на теорию, на практике, реальной практике, гсон сбоев не давал никогда и это факт.
вдобавок к этому люто орнул, увидев функционал HexColor в парсере Jsona. Нахуй он там всрался?
Тоже самое, что Глайде добавить сканер Qr кода, а в Retrofitе - иньекцию зависимостей, кек.
spinner1.setAdapter(MySpinAdapter.adapter1);
spinner2.setAdapter(MySpinAdapter.adapter2);
spinner3.setAdapter(MySpinAdapter.adapter3);
>>тратить время на документацию, вчитываться в какие-то ебучие особенности.
Там и не нужно вчитываться. Пример ее использования показан В САМОМ НАЧАЛА readme(пик1). Если у тебя уходит 2 часа на пробег по ридми, то у тебя более серьезные проблемы, чем выбор библиотеки для парсинга Json.
>>что там все элементарно - методы fromJson и toJson
>>аннотация, используемая постоянно - @SerializedName
Признайся, ты ведь даже не открывал ридми по moshi, иначе ты бы увидел что они АБСОЛЮТНО одинаковые когда дело доходит до "простого" как ты выразился парсинга(пик2).
>>так как куча ненужных аннотаций, какие-то методы переопределять, нахуя блядь?
Я не знаю нахуя, я этим никогда не занимаюсь. Какие-то ToJson/FromJson аннотации. См. пик2 опять же.
>>Специально прочитал сегодняя ее доку
Либо пиздишь, либо ты говноглазый.
>>То что ты нашел какое-то сравнение гсона и моши мне вообще похуй, я даже по ссылке не заходил
Ну по тебе и видно, что ты из этих. "Не смотрел, но осуждаю"
>> могу сразу уверенно сказать, что итог того "сравнения" - это то, что МОШИ БЫСТРЕЕ ПАРСИТ
Там про перформанс ни слова, очередной обосрамс. Но он действительно быстрее Gsona, пруфы сам можешь поискать если тебе интересно.
>>орнул, увидев функционал HexColor в парсере Jsona
Опять показывается твоя тупость и нежелание читать текст черным по белому. HexColor это простой ПРИМЕР кастомного парсинга простых типов. В самбой библиотеке этой аннотации нет и не было.
Советую тебе не отвечать на этот пост и просто принять свое незнание экосистемы Android и нежелание читать больше 2 строк документации.
Ошибся со 2 пиком.
1. Загружать данные в БД и потом отображать на UI
2. Вызвать обсервер с БД, вызвать обсервер с Network объединить и поместить в БД, отобразя потом на UI?
Как правильней получать данные с сети?
Так, анон, ты подожди, а где я говорил, что в универе учат ведроиду? По-моему, ты сейчас в глаза.
Чувак ведроидщиков не набирают с универа. Универщики на том же уровне что и вкатывальщики
Как хочешь так и получай
И ты, анон, тоже подожди. Опять же, где я говорил, что раз в универе не учат андроиду, то меня ему не обучали вообще?
Любите вы, я смотрю, все додумывать...
Оба похожи. Но первый ближе к offline first.
Во втором сложнее ошибки обрабатывать при всех этих мерджах.
Я за первый.
>Опять же, где я говорил, что раз в универе не учат андроиду, то меня ему не обучали вообще?
Рептилоиды?
Рептилоидов.
Кто тебя учил раз не в универе? Работодатель? Нахуй он тогда в универ за тобой пришел?
Если Фрагменты, то какой подход проще использовать? До этого пробовал использовать контейнер в макете контент активити в котором динамически меняются фрагменты. Еще видел вариант, когда в макете активити пишется fragment1, fragment2 и т.д.
Фрагменты. При клике на пункт меню заменяй один на другой и все.
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.ffff, Fragment.newInstance())
.commit();
>курсы
На всякий случай дополню: я имею в виду курсы по обучению андроида, а не курсы в универе.
Речь изначально была о том что за джунами в универ сами приходят работтодатели. И того анона поправили что это бессмысленно приходить за анлроид джунами в универ.
Haskell.
нет такого , что обьективно лучше.
Есть джава, которая была по факту единственным языком разработки под андроид на протяжении лет 8-9. И есть Котлин, который стал офф языком на равне с джавой около года назад. Ситуацию с терками гугла и оракла думаю ты знаешь. Следовательно должно быть очевидно, что все идет к тому, что джаву рано или поздно просто выпилят, а оставят один лишь котлин.
Итог:
джава - огромная база и куча примеров в инете, но освсем скоро будет не нужна
котлин - по сути останется в обозримом будушем единственным языком. Обратная конвертируемость с джавой является очень большим плюсом. Выводы, думаю, сделаешь сам.
окей, спасибо, что все доступно разъяснил
Объективно если ты хочешь вкатываться вот прям щас то учить ты будешь Джаву. А потом не спеша осваивать Котлин когда постепенно от Джавы откажутся.
не согласен. Я автор этого поста >>27259
если чо. Если только сейчас вкатываешься, то есть только в лучшем случае через месяцев 5-6 сможешь найти первую работу в этой сфере, то однозначно стоит учить уже котлин. А смысл сейчас полгода тратить на джаву, попасть на несколько собеседований и вылететь с них, узнав, что все более-менее уважающие себя конторы юзают котлин и требуют этого от новобранцев?
Бро, не перейдут так быстро на котлин. Джавистов можно найти а вот котляш все еще тяжело. Нужно время.
> Следовательно должно быть очевидно, что все идет к тому, что джаву рано или поздно просто выпилят, а оставят один лишь котлин.
Хуесосина тупая, тебе уже объяснили, что Kotlin поверх JVM работает, весь Android SDK написан на Java.
малой, ты че агрессивный такой?
>объяснили
кто объяснил, где объяснил? ты совсем ебанутый?
>Kotlin поверх JVM работает, весь Android SDK написан на Java.
конченная малолетка, не шарящая в теме, я специально же написал по этому поводу:
>Обратная конвертируемость с джавой является очень большим плюсом.
то что сдк андроида написано на джаве никто не отрицает, также как никто и не отрицает того факта, что без поддержки джавы как языка разработки ты сможешь спокойно в котлин-коде вызывать джавовские методы из сдк.
да и спецом для тебя эксперимент:
создай проект, где один класс написан на джаве, второй - на котлине, сделай в каждом по одному паблик методу. После чего пробуй вызывать в одной классе метод другого. Ты ооооочень удивишься тому, как это легко будет получаться и будет работать
А че в Koltin не знать? А в Android че не знать? Прочитал три книжки и готово.
Вот только на работу почему-то не берут, а на дваче тебя гоанокодером называют.
Библию?
кек. Не можешь победить в интернете оппонента в споре - доебись до его орфографии. Истина на все времена. Слив засчитан, мань
Чувак, на JRuby, например, такой же эксперимент даст такой же результат. Или на Clojure.
Про Groovy я уже и не говорю.
Значит ли это, что джаву выпилят и останется только JRuby и Clojure?
Лет 10 назад так и думали многие. И что?
Почитай теперь про эффект Даннинга-Крюгера.
График посмотри.
Ты сейчас на самом пике этого графика, кстати.
Мань, понимаю что интересно читай всякие сферические теории в вакууме, но открою тебе секрет. Джун в любом случае макака. Джун не макака мидл. Так что не вижу проблем и сложностей с джавкой.
Конкретно в этой ситуации - да, ее выпилят. И нет, не из-за обратной совместимости. А из-за терок с ораклом, которые гугл откровенно доебали. То что ты написал (а выше - я) - это не причина того, что джавы не будет, это следствие сложившейся ситуации, при которой гугл постепенно выводит джаву из своей экосистемы, пытаясь делать это максимально безболезненно и либерально
> гугл
Да в рот бы он ебись.
Алсо, предвижу превращение котлина в полнейшее говнище, гугол-стайл.
Та че, я Котлин уже месяцев 7 юзаю, пока нареканий вообще никаких, очень быстро привык, null safety парадигма вообще топчик, очень ее в джаве не хватало. Сейчас когда приходится возвращаться в к старым джавовским проектам, то уже даже ощущение есть некой устарелости, что ли, когда на джаве код пишу... Так что как раз к котлину претензий никаких, а гуглам респект, что сделали основным именно его, а не обоссаный Го (который воистину полнейшее говнище)
> объективно Kotlin или Java?
Вообще похуй. Возьми 10 рандомных вакансий из своего города и сделай выводы, чем слушать этих пидарасов выше.
>Ещё один ньюфаня. Откуда вы лезете вобще?
Либо ты предоставляешь документы, где прямым текстом гугол пишет - мы отсекаем джаву из экосистемы и сейчас у вас есть только один язык - это котлин - либо иди нахуй.
Я раньше съебусь из этой рашки, чем котлин станет единственным языком в этой параше. А съебывать я планирую лет через 5.
Откуда только вы токсичные выблядки лезите.
Например, я прекрасно помню времена 10-12 летней давности, когда все ломанулись с джавы на руби.
Писали про это книги, статьи, тексты и посты, тысячами, буквально.
И где теперь тот руби? Стоит на ржавых рельсах в заросшем травой тупике, лол.
Про скалу так же говорили, чуть позже, что всё, это окончательный и бесповоротный джава-пиздец. И что?
Всё это суета сует и томление духа.
А джава пребудет вовеки.
та я наоборот хочу, чтоб они под мостом нищенствовали за свою тупость, че мне их жалеть. Я им пишу исключительно потому, что меня бесит тупость в людях.
>>27397
На данную секунду джава еще есть. Документы гугла такого уровня тебе не покажет никто, кроме Сергея Брина и Лари Пейджа. А теперь подумай, мамин сьебывальщик, и сложи воедину следующую инфу:
гугл срется с ораклом, которые владеют джавой
гугл это заебывает после 100500 судов
гугл ищут и быстро находят подходящий язык от JetBrains, заключают договор, делают их язык офф языком разработки.
повсюду пропаганда что ЮЗАЙТЕ ОРАКЛ ОН КРУТ (сириузли, пройдись по их документациям в андроиде)
ЧИСТО СЛУЧАЙНО сделана обратная поддержка для быстрого перехода с джавы на котлин вплоть до взаимодействия между собой классов, написанных на разных языках в рамках одного пакета.
Сам сможешь додуматься, какой будет следующий шаг? Или совсем туп? Ясен хуй, что это произойдет не завтра, но верить на полном серьезе, что джаву не выпилят - просто верх манямирка и розовых очков
>вплоть до взаимодействия между собой классов, написанных на разных языках в рамках одного пакета.
Чувак, в Groovy это есть уже лет 10, буквально.
И что?
>КОТЛИН, а не ОРАКЛ, ошибся
Ошибся с пастой?
>>27403
> но верить на полном серьезе, что джаву не выпилят - просто верх манямирка и розовых очков
Да мне похуй. Вообще хотел вчера потыкать котлин, но после того, как я не смог сделать во фрагменте newInstance, я узнал, что в котлине нет статика. И нужно это дело проворачивать через какой-то компанион обджект, или как это по другому назвать? Может быть костыль?
И перевел свой пет проект на джаву. Хотя можно было бы конвертнуть на котлин и посмотреть как правильно, но этот пидор 100% поставит @Jvm...
Отсутствие статика и компаньон-объекты - это они из Скалы спиздили. Как и процентов 80 котлина вообще. А остальное - из Груви.
>это они из Скалы спиздили. Как и процентов 80 котлина вообще. А остальное - из Груви.
Я смотрел видосы, они и не скрывают этого. Но для меня это совершенно другой язык, хотя может я недостаточно его изучал. Хуй знает.
Тупорылый дегенерат опять вылез, я тебе все доступным языком объяснил. Проблема не в джаве, а в апи его классов, который твой любимый котлин тоже использует.
> ЧИСТО СЛУЧАЙНО сделана обратная поддержка для быстрого перехода с джавы на котлин
ЧИСТО СПЕЦИАЛЬНО заявлен еще когда он был внутренним продуктом. Было долгое время, когда гуглу было настолько на котлин поебать, что с выходом нового андроид градл плагина котлин слетал у всех нахуй. Но ты то конечно этого не помнишь, ты же хайпажорить начал только после IO.
> ЧИСТО СЛУЧАЙНО сделана обратная поддержка для быстрого перехода с джавы на котлин вплоть до взаимодействия между собой классов, написанных на разных языках в рамках одного пакета.
Это следствие того, что оба языка компилируется в Java Bytecode. Так же, как и Groovy, Scala и Clojure. Причем тут блядь гугл вообще, шизик?
Что бы там не говорили, джаву тебе все равно придется изучить, т.к. даже если начнешь с котлина, ты наверняка натолкнешься на такие моменты, которые тесно связаны с особенностью джавы.
+15 подоракльник
Никто не говорит, что котлин дерьмо. Это вполне себе хороший язык, но не без минусов. Просто сейчас вокруг котлина развелось 2 типа шизиков. Первый >>27403 который вопит о смерти джавы и каждый раз, когда видит код на джаве, начинает истошно вопить "а че не на котлине((((9 ретрограды!! джава рип!!". Второй - зеркальные первому дануы, которые когда видят код на котлине начинают вопить "нипонятнааа!!!11 на джаве пример нужон", хотя блять классы используются одинаковые.
Использовать котлин нормально, форсить котлин ненормально, понятненько?
> Использовать котлин нормально, форсить котлин ненормально, понятненько?
А что форсить нормально?
Haskell
Dive into python
Brainfuck.
Собственно ищу и никак не могу найти подходящую и в тот же момент хорошую сборку пк для Unreal Engine (500-600 euro).Корпус и монитор есть.Собственно для проекта между Fantasy и Sci-Fi, который будет радовать миллионы двачеров и пикабушников за вполне обоснованную цену(сделаем скидку в 55 %).Вы вспомните про этот пост спустя 3-4 года.:3(И да мне тут сказали 16г б оперативы, и видяха больше 2 гб,на процессор что останется из денег.)Хожу услышать комплектации
Спорить не стану,а позже посмотрю,как ты купишь игру и она тебе понравится(с 50% скидкой):3 доня
>а позже посмотрю,как ты купишь игру и она тебе понравится(с 50% скидкой):3 доня
Пхах.
Кто привел этого пидараса?
> а че не на котлине((((9 ретрограды!! джава рип!!
Но это действительно так. 2.5 года пишу на Котлине, Java(7) стала для меня сродни C++. На бэке то понятно можно и на джаве, т.к. там другие требования от языка и полная java8. Но если ты пишешь под Андроид и не пишешь на Котлине, то ты действительно "редатрд".
Тут ситуация еще проще. Половина треда просто глупые люди, которые не понимают значения выражения "Java Умрет, Kotlin будет единственным языком разработки". Да, как язык для разработки андроид-приложений она действительно умрет, этот анон >>27403 все правильно расписал. НО она не умрет в принципе еще долгие годы, так как во-первых, ее еще используют, как минимум, в интерпрайсе (судя по тому, что тут никто этого не написал я делаю вывод, что для многих это новость), во-вторых, как тут многие заметили из приверженцев джавы и хейтеров котлина - на ней написано андроид сдк и оба языка компилятся в джавовский байткод. Тут можно провести параллель с ассемблером - на нем изначально писали абсолютно все абсолютно для всего, любой другой код так или иначе компилируется в машинный асемблер код. Ну и что теперь? Тут много людей что-то напишут на ассемблере? Правильно, во всем снг от силы анонов 10 таких наберется, потому что надобность в нем напрочь уже отпала. Вот точно такая же участь постигнет джаву в сегменте мобайл девелопмента. Да, котлин будет всегда иметь с ней совместимость и да, андроид сдк останется на джаве, но гуглы просто уберут ее поддержку при разработке (а я напомню вам всем, что АндроидСтудио - продукт тоже гугла) и на этом здешние местные хейтеры котлина соснут толстенного болта и останутся без работы. Самые ушлые поматюкаются и за полгода где-то перейдут на котлин, признав неправоту, остальных справедливо порешает рыночек. Можете даже этот пост заскринить, я гарантирую, что все будет именно так 1 в 1. И да, конечно же можно будет продолжать писать на джаве, и на груви и ДАЖЕ НА С++ приложеньки на ведроид, но такой подход практикуют менее 5% людей и это нигде нахуй не пригодится, ни на какую работу с такими "умениями" не возьмут, а единственный профит, который удасться с этого поиметь - заспорить с другом на сто баксов под пивко, что ты сможешь создать апк файл приложения без андроид студии, обходными путями.
Вообще мне кажется, что то, что я написал выше очень многие знают и понимают и так, но начать переходить на котлин мешает либо лень, либо отсутствие мозгов (а нахуй тогда в програмач пошли?), либо стадия непринятия в их мозгах. Кстати можете посмотреть на параллельную область в мобайле, а точнее, в иос разработку - там как бы уже отказались от богомерзкого и откровенно отвратительного обжС и кодят нормально на свифте, уже даже первое поколение разработчиков появилось, которые в глаза не видели обжС код, но при этом спокойно пишут приложухи на свифте и нормально себя чувствуют. Почему тогда в андроиде это все выливается в такие холивары и такое количество закостенелых консерваторов?
Тут ситуация еще проще. Половина треда просто глупые люди, которые не понимают значения выражения "Java Умрет, Kotlin будет единственным языком разработки". Да, как язык для разработки андроид-приложений она действительно умрет, этот анон >>27403 все правильно расписал. НО она не умрет в принципе еще долгие годы, так как во-первых, ее еще используют, как минимум, в интерпрайсе (судя по тому, что тут никто этого не написал я делаю вывод, что для многих это новость), во-вторых, как тут многие заметили из приверженцев джавы и хейтеров котлина - на ней написано андроид сдк и оба языка компилятся в джавовский байткод. Тут можно провести параллель с ассемблером - на нем изначально писали абсолютно все абсолютно для всего, любой другой код так или иначе компилируется в машинный асемблер код. Ну и что теперь? Тут много людей что-то напишут на ассемблере? Правильно, во всем снг от силы анонов 10 таких наберется, потому что надобность в нем напрочь уже отпала. Вот точно такая же участь постигнет джаву в сегменте мобайл девелопмента. Да, котлин будет всегда иметь с ней совместимость и да, андроид сдк останется на джаве, но гуглы просто уберут ее поддержку при разработке (а я напомню вам всем, что АндроидСтудио - продукт тоже гугла) и на этом здешние местные хейтеры котлина соснут толстенного болта и останутся без работы. Самые ушлые поматюкаются и за полгода где-то перейдут на котлин, признав неправоту, остальных справедливо порешает рыночек. Можете даже этот пост заскринить, я гарантирую, что все будет именно так 1 в 1. И да, конечно же можно будет продолжать писать на джаве, и на груви и ДАЖЕ НА С++ приложеньки на ведроид, но такой подход практикуют менее 5% людей и это нигде нахуй не пригодится, ни на какую работу с такими "умениями" не возьмут, а единственный профит, который удасться с этого поиметь - заспорить с другом на сто баксов под пивко, что ты сможешь создать апк файл приложения без андроид студии, обходными путями.
Вообще мне кажется, что то, что я написал выше очень многие знают и понимают и так, но начать переходить на котлин мешает либо лень, либо отсутствие мозгов (а нахуй тогда в програмач пошли?), либо стадия непринятия в их мозгах. Кстати можете посмотреть на параллельную область в мобайле, а точнее, в иос разработку - там как бы уже отказались от богомерзкого и откровенно отвратительного обжС и кодят нормально на свифте, уже даже первое поколение разработчиков появилось, которые в глаза не видели обжС код, но при этом спокойно пишут приложухи на свифте и нормально себя чувствуют. Почему тогда в андроиде это все выливается в такие холивары и такое количество закостенелых консерваторов?
> этот анон >>27403
Семен, прошу.
> а я напомню вам всем, что АндроидСтудио - продукт тоже гугла
Из гуглового там только плагин и куча багов.
> толстенного болта и останутся без работы
> подразумевая что котлин не учится за неделю
> кодят нормально на свифте
С отваливающимся автокомплитом в икскоде и экспоненциальным ростом скорости билда.
Алсо напоминаю, что без джава кор вы не далеко уйдете от индуса по развитию. Так что да, джаву придется учить, мои сладенькие. А дальше хоть на груви.
>С отваливающимся автокомплитом в икскоде и экспоненциальным ростом скорости билда.
это проблемы уебищного икс кода, который имхо является одной из худших сред работки из всех. Свифт тут не при чем
Стоит ли учить лоадеры, хендлеры, битмапы и тыкать асинтаски вместе с родным хттп и парсить жсоны на 400 строк кода?
Само собой, я обхожусь без этого говноедства. Но я переживаю, что меня спросят на собесе по нему и я всосу. Нахуй тогда такое устаревшее дерьмо вообще спрашивать?
Нет не нужно. Непонятно только почему ты битмапы к этому приписал.
>Времени больно дохуя свободного? Безработный чтоль?
Тоже верно. Чет я погорячился слегка, завтра последний выходной все-таки.
>Половина треда просто глупые люди, которые не понимают значения выражения "Java Умрет, Kotlin будет единственным языком разработки".
На котлине хорошо пишут те люди, которые до этого хорошо писали на джаве. Если человек сразу начнет изучать котлин то у него просто сложится неразбериха в голове, ты этого добиваешься? Даже в это время нужно начинать с джавы, и потом, имея бекграунд рассматривать альтернативу ему по котлину. Иначе ты просто соснешь хуй как при передачи контекста в анус твоей мамаши.
Я хочу просто: Есть один User, есть одна ебучая собака. Мне другие собаки нахуй не сдались. Просто ОДИН К ОДНОМУ. Хуй пойми как разбираться.
очередное бесполезное юзлесс говно
Либо пиши свой костыль, либо юзай моху или мосби. Вот пример простой с моху для даунов как я https://gist.github.com/senneco/a91bd53f257c0fddda6e47f7de9a9fb8
Только это с активити, с фрагментом тоже самое, только перед getSupportFM нужно ебнуть if saveInstance==null{}
В бандл пихают какие-нибудь примитивы типа строка? Объект презентера туда не поместить.
Почему-то со всех сторон кличут про пересоздание активити в ведре, но пока самого простого и не глючного метода с записью флагов в манифесте не нашел.
Да, примитивы, Serializable, Parcelable. Фоновые операции надо закидывать в синглтон и доставать по id после пересоздания, либо ссылки на операции будут в презентере, который Moxy, Mosby, ViewModel, свой костыль.
Под фоновой операцией подразумевается работа текущая в презентере?
К примеру есть проект https://github.com/startandroid/PinCodeScreen в нем используется даггер. Как понимаю, для сохранения состояния написан класс ComponentsHolder?
Используй моху и не еби голову. И не приближайся к компонентам гугла. Они блят багованные.
Чому? У js-ублюдков только так используется. Что там ui, что здесь.
Redux это когда ты весь экран представляешь в виде одного объекта с разными полями, а потом разом все отправляешь в view.render(state) ?
Не совсем. Когда весь стейт инкапсулирован в единое дерево. Компоненты (вьюшки) могут быть поделены и инкапсулированы как нужно. Компоненты подписываются на свой стейт в дереве состояний и диспатчат экшены в редьюсер. Редьюсер обновляет стейт в дереве стейта и затронутые изменением стейта компоненты-подписчики перерендериваются.
Звучит слишком геморойно.
>Чем вьюмодель багованная?
Мне не нравится LiveData, фактория вью модели и сам гугол. Раньше я думал иначе, но сейчас шлю нахуй это говно. Моху с реактивщиной - вот мой выбор.
уже не нужно, нашел ответ. Если кому пригодится, то использовал вот это :
LockSupport.parkNanos(TimeUnit.MILLISECONDS.toNanos(1000));
если юзать ету штуку, то никаких эксепшнов не вылазит
представленные и найденные гайды или слишком тупые, которые тухнешь читать 200 страниц про ебучие условные операторы, или уже совсем люто сложные.
ищу книги (менее желательно), гайды, уроки или видосы (предпочтительнее) для тех, кто уже в теме ООП и понимает c-like синтаксис, но слабо шарит в ведроидах и мобильной разработке и их паттернах.
Заказчик выкатывает требование не показывать пуш уведомление, если приложение открыто на определенном экране. Как без костылей (например статических полей и прочей хуйни) связать пуш-интент сервис с определенными активити? Как лучше обрабатывать открытие активити с контентом по нажатию на пуш? По-моему лучший способ, который не ломает приложение и не требует множества костылей, это чистить вилкой таску FLAG_ACTIVITY_CLEAR_TASK, потом потом руками заполнять стек активити в пендинг интенте. А как анончик с этим справляется?
Вот тебе предпочтительный видос - "[Geekbrains] Android_2015". Есть вступление по Java и продолжение специфично для андроида, брат жив, зависимость етсь. Встречайте на ведущих торрентах страны.
Это копия, сохраненная 5 сентября 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.