Мы в Хекслете не понаслышке знаем о силе обучения и весомости плавного погружения в новую профессию. Наша профессия «Java-разработчик» поможет новичку повысить свой level и трудоустроиться 😎
Android: Приоритеты процессов
Процессы делятся по приоритету на 4 вида, в порядке убывания:
1. Видимый активный процесс (Foreground process). В этом процессе работает приложение, с которым взаимодействует пользователь. Процесс находится в этом состоянии в следующих случаях:
-
- Во время выполнения
- Запущен
2. Видимый процесс. Пользователь знает о приложении, запущенном в этом процессе, но не взаимодействует с ним:
-
-
-
3. Background Service. Процесс с сервисом, запущенным командой startService().
4. Закэшированный процесс. К ним относятся пустые процессы, используемые при старте приложений, и процессы, в которых все активити в
Система убивает процессы в порядке возрастания их приоритета для восстановления ресурсов. Подробнее
#Lifecycle
#System
Процессы делятся по приоритету на 4 вида, в порядке убывания:
1. Видимый активный процесс (Foreground process). В этом процессе работает приложение, с которым взаимодействует пользователь. Процесс находится в этом состоянии в следующих случаях:
-
Activity, у которой вызван onResume(), но еще не вызван onPause()- Во время выполнения
BroadcastReceiver.onReceive()- Запущен
Service и выполняется один из колбэков: onCreate(), onStart(), onDestroy()2. Видимый процесс. Пользователь знает о приложении, запущенном в этом процессе, но не взаимодействует с ним:
-
Activity у которой вызван onPause(), но еще не вызван onStop().-
Service, который запущен через Service.startForeground(). В этом случае пользователь видит нотификацию, связанную с сервисом.-
Service, выполняющий функцию, о которой пользователь осведомлен. Например input method service.3. Background Service. Процесс с сервисом, запущенным командой startService().
4. Закэшированный процесс. К ним относятся пустые процессы, используемые при старте приложений, и процессы, в которых все активити в
onStop() состоянии.Система убивает процессы в порядке возрастания их приоритета для восстановления ресурсов. Подробнее
#Lifecycle
#System
👍2🔥1
Не можете продлить нужный сервис, оплатить хостинг или получить деньги из-за рубежа?
Ребята из rk.finaxe.ru тоже столкнулись с данной проблемой и запустили сервис, в котором граждане РФ могут оформить онлайн карту Visa или Mastercard в банке Казахстана.
Для чего это нужно:
— Оплата любых зарубежных сервисов и покупок
— Получение денег из-за рубежа
— Использование в путешествиях
Весь процесс проходит онлайн, от вас потребуется только загранпаспорт, даже вставать с дивана не понадобится!
Оформить заявку и ознакомиться с FAQ можно в боте:
https://t.me/Robokazakh_bot
Ребята из rk.finaxe.ru тоже столкнулись с данной проблемой и запустили сервис, в котором граждане РФ могут оформить онлайн карту Visa или Mastercard в банке Казахстана.
Для чего это нужно:
— Оплата любых зарубежных сервисов и покупок
— Получение денег из-за рубежа
— Использование в путешествиях
Весь процесс проходит онлайн, от вас потребуется только загранпаспорт, даже вставать с дивана не понадобится!
Оформить заявку и ознакомиться с FAQ можно в боте:
https://t.me/Robokazakh_bot
👍2
Activity: Что такое и как запустить?
Activity – основной компонент в андроиде. Активити – это экран, то что видит и с чем взаимодействует пользователь. Может содержать несколько View и фрагментов. Так же как и другие базовые компоненты, может быть точкой входа в приложение.
Активити с MAIN Intent Filter в манифесте запускается при старте приложения, когда пользователь кликает на иконку приложения.
#Activity
#Components
Activity – основной компонент в андроиде. Активити – это экран, то что видит и с чем взаимодействует пользователь. Может содержать несколько View и фрагментов. Так же как и другие базовые компоненты, может быть точкой входа в приложение.
Активити с MAIN Intent Filter в манифесте запускается при старте приложения, когда пользователь кликает на иконку приложения.
#Activity
#Components
Jetpack Compose в проектах на React Native: плюсы, минусы и интеграция
Сегодня я расскажу, зачем нужен Jetpack Compose в проектах React Native, и поделюсь опытом интеграции фреймворка в наши приложения. В конце на примере простого компонента разберем весь процесс разработки на Jetpack Compose.
Подробнее
Сегодня я расскажу, зачем нужен Jetpack Compose в проектах React Native, и поделюсь опытом интеграции фреймворка в наши приложения. В конце на примере простого компонента разберем весь процесс разработки на Jetpack Compose.
Подробнее
👍2
Подборка ссылок на блоги по Swift
• https://github.com/raywenderlich/swift-algorithm-club
• https://sarunw.com
• https://vadimbulavin.com
• https://swiftbysundell.com
• https://avanderlee.com
• https://fivestars.blog
• https://clean-swift.com
• https://swiftwithmajid.com
• https://hackingwithswift.com
• https://swiftrocks.com
• https://donnywals.com
• https://artyom.space/swift-roadmap/
• https://holyswift.app
• https://martinmitrevski.com
• https://khawerkhaliq.com
• https://blog.swiftpackageindex.com
• https://peterfriese.dev
• https://fewlinesofcode.com
• https://serialcoder.dev
• https://www.simpleswiftguide.com
• https://www.swiftlyrush.com
• https://github.com/raywenderlich/swift-algorithm-club
• https://sarunw.com
• https://vadimbulavin.com
• https://swiftbysundell.com
• https://avanderlee.com
• https://fivestars.blog
• https://clean-swift.com
• https://swiftwithmajid.com
• https://hackingwithswift.com
• https://swiftrocks.com
• https://donnywals.com
• https://artyom.space/swift-roadmap/
• https://holyswift.app
• https://martinmitrevski.com
• https://khawerkhaliq.com
• https://blog.swiftpackageindex.com
• https://peterfriese.dev
• https://fewlinesofcode.com
• https://serialcoder.dev
• https://www.simpleswiftguide.com
• https://www.swiftlyrush.com
👍5
Как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM)
КММ — это технология кроссплатформенной разработки, позволяющая писать общий код под основные платформы за исключением UI-слоя. Все продукты со временем накапливают очень большой технологический контекст; КММ, в свою очередь, позволяет его облегчить, делая компоненты технологического стека общими для команд и платформ. Такие технологии дают неоспоримые преимущества — возможность использовать ресурс каждого разработчика при создании новых фич, единый набор тестов, улучшение инженерных практик в командах и прочее.
Подробнее
КММ — это технология кроссплатформенной разработки, позволяющая писать общий код под основные платформы за исключением UI-слоя. Все продукты со временем накапливают очень большой технологический контекст; КММ, в свою очередь, позволяет его облегчить, делая компоненты технологического стека общими для команд и платформ. Такие технологии дают неоспоримые преимущества — возможность использовать ресурс каждого разработчика при создании новых фич, единый набор тестов, улучшение инженерных практик в командах и прочее.
Подробнее
👍1
Activity: Жизненный цикл
Жизненный цикл активити состоит из шести основных коллбэков, вызываемых системой. В порядке вызова:
onCreate() вызывается когда активити создается. В
onStart() вызывается когда активити отрисована и видима пользователю.
onResume() вызывается перед тем как активити станет доступна для взаимодействия с пользователем.
onPause() – метод симметричный
onStop() – метод симметричный
onDestroy() – метод симметричный
Несколько примеров:
1. Пользователь жмет Home. В этом случае активити больше не видна, поэтому вызываются
2. Пользователь переходит на другую активити внутри приложения (реализуется вызовом
3. Вызов
4. Пользователь поворачивает телефон и ориентация активити меняется. Активити пересоздается и вызываются коллбеки
Это базовые методы активити. Более подробно они описаны в документации.
В полный жизненный цикл также входят
#android
Жизненный цикл активити состоит из шести основных коллбэков, вызываемых системой. В порядке вызова:
onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy().onCreate() вызывается когда активити создается. В
onCreate() вы должны вызвать метод setContentView().onStart() вызывается когда активити отрисована и видима пользователю.
onResume() вызывается перед тем как активити станет доступна для взаимодействия с пользователем.
onPause() – метод симметричный
onResume(). Пользователь больше не может взаимодействовать с активити, но активити частично видна пользователю. В этом состоянии UI активити может изменяться.onStop() – метод симметричный
onStart(). Вызывается, когда активити больше не видна пользователю.onDestroy() – метод симметричный
onCreate(). Вызывается перед тем, как активити будет уничтожена системой.Несколько примеров:
1. Пользователь жмет Home. В этом случае активити больше не видна, поэтому вызываются
onPause(), onStop(). Пользователь открывает приложение снова - onStart(), onResume().2. Пользователь переходит на другую активити внутри приложения (реализуется вызовом
startActivity()) – onPause(), onStop(). Пользователь возвращается на предыдущую активити – onStart(), onResume().3. Вызов
finish() – onPause(), onStop(), onDestroy(). Когда пользователь перейдет на эту активити снова, она будет создана с нуля без сохранения состояния.4. Пользователь поворачивает телефон и ориентация активити меняется. Активити пересоздается и вызываются коллбеки
onPause(), onStop(), onDestroy(), onCreate(), onStart(), onResume() с сохранением состояния.Это базовые методы активити. Более подробно они описаны в документации.
В полный жизненный цикл также входят
onRestart(), onSaveInstanceState(), onRestoreInstanceState(), onNewIntent() и другие методы, которые разберем в будущем.#android
👍4
Делаем загрузку с камеры для Android быстрее и надежнее
https://dropbox.tech/mobile/making-camera-uploads-for-android-faster-and-more-reliable
https://dropbox.tech/mobile/making-camera-uploads-for-android-faster-and-more-reliable
👍2
Activity: Как пережить поворот экрана?
При повороте экрана активити уничтожается и создается заново. Вызываются коллбэки
Чтобы сохранить состояние активити, вы должны переопределить метод onSaveInstanceState() и положить данные в Bundle.
При реинициализации активити,
Система вызывает
onSaveInstanceState() вызывается после
onRestoreInstanceState() вызывается после
При повороте экрана активити уничтожается и создается заново. Вызываются коллбэки
onPause(), onStop(), onSaveInstanceState(), onDestroy() – onCreate(), onStart(), onRestoreInstanceState(), onResume().Чтобы сохранить состояние активити, вы должны переопределить метод onSaveInstanceState() и положить данные в Bundle.
При реинициализации активити,
Bundle с сохраненным состоянием передается в onCreate() и в onRestoreInstanceState().Система вызывает
onSaveInstanceState() и onRestoreInstanceState() только в том случае, когда необходимо сохранить состояние, например при повороте экрана или при убийстве активити для освобождения памяти. Данные коллбэки не вызываются, если пользователь выходит из активити нажав Back или если активити убивается вызовом finish().onSaveInstanceState() вызывается после
onStop() на версии API ≥ 28. На API < 28 этот коллбэк вызывается перед onStop() и нет гарантий до или после onPause().onRestoreInstanceState() вызывается после
onStart().👍3
Разработка простого iOS-приложения на SwiftUI в соответствии с принципами чистой архитектуры.
Использование чистой архитектуры позволяет разрабатывать приложения с очень низкой связью и независимо от деталей технической реализации, таких как базы данных и фреймворки. Таким образом, приложение становится простым в обслуживании и гибким для изменений. Кроме того, оно становится внутренне тестируемым. Здесь я покажу, как я структурирую свои проекты с чистой архитектурой. На этот раз мы собираемся создать приложение для iOS с использованием SwiftUI. Мы проиллюстрируем только один вариант использования - вывод списка дел, полученных из API. Давайте начнем.
https://paulallies.medium.com/clean-architecture-in-the-flavour-of-swiftui-5-5-8430786a83
Использование чистой архитектуры позволяет разрабатывать приложения с очень низкой связью и независимо от деталей технической реализации, таких как базы данных и фреймворки. Таким образом, приложение становится простым в обслуживании и гибким для изменений. Кроме того, оно становится внутренне тестируемым. Здесь я покажу, как я структурирую свои проекты с чистой архитектурой. На этот раз мы собираемся создать приложение для iOS с использованием SwiftUI. Мы проиллюстрируем только один вариант использования - вывод списка дел, полученных из API. Давайте начнем.
https://paulallies.medium.com/clean-architecture-in-the-flavour-of-swiftui-5-5-8430786a83
👍3
Как записывать и воспроизводить http-трафик в приложениях для Android и iOS
С 2022 года я присоединился к небольшому, но амбициозному стартапу (mobile .dev), целью которого является создание столь необходимой инфраструктуры для мобильной разработки.
Мы анализируем приложения и проводим сравнительные тесты производительности для выявления проблем до начала производства, а в некоторых случаях нам требуются инструментальные тесты с подражанием сети.
Моя первая задача? Выяснить, можем ли мы сами поиздеваться над сетью, чтобы облегчить использование нашего продукта. Создавать и поддерживать инструментальные тесты с имитацией сети всегда непросто - поэтому мы хотели взять эту ответственность на себя.
https://itnext.io/how-to-record-replay-http-traffic-in-android-and-ios-apps-db24a5dcc0e
С 2022 года я присоединился к небольшому, но амбициозному стартапу (mobile .dev), целью которого является создание столь необходимой инфраструктуры для мобильной разработки.
Мы анализируем приложения и проводим сравнительные тесты производительности для выявления проблем до начала производства, а в некоторых случаях нам требуются инструментальные тесты с подражанием сети.
Моя первая задача? Выяснить, можем ли мы сами поиздеваться над сетью, чтобы облегчить использование нашего продукта. Создавать и поддерживать инструментальные тесты с имитацией сети всегда непросто - поэтому мы хотели взять эту ответственность на себя.
https://itnext.io/how-to-record-replay-http-traffic-in-android-and-ios-apps-db24a5dcc0e
❤1
Android_Apprentice_Third_Edition_Beginning_Android_Development_with.pdf
72.9 MB
Android Apprentice (2020)
Авторы: Darryl Bayliss, Tom Blankenship, Fuad Kamal, Namrata Bandekar
Изучение программирования под Android может быть сложной задачей, особенно если у вас нет опыта программирования. Конечно, документации предостаточно, но инструменты и библиотеки, доступные сегодня, не так просто поддаются изучению. В данной книге используется особый подход: авторы учат программированию, переходя от простого к сложному, начиная с создания простого первого приложения и заканчивая полнофункциональным проигрывателем подкастов.
В книге рассматриваются следующие темы:
✔️Установка IDE;
✔️Макеты;
✔️Дебаггинг;
✔️Интеграция с API Google;
✔️Работа с интернетом;
✔️И многие другие.
Авторы: Darryl Bayliss, Tom Blankenship, Fuad Kamal, Namrata Bandekar
Изучение программирования под Android может быть сложной задачей, особенно если у вас нет опыта программирования. Конечно, документации предостаточно, но инструменты и библиотеки, доступные сегодня, не так просто поддаются изучению. В данной книге используется особый подход: авторы учат программированию, переходя от простого к сложному, начиная с создания простого первого приложения и заканчивая полнофункциональным проигрывателем подкастов.
В книге рассматриваются следующие темы:
✔️Установка IDE;
✔️Макеты;
✔️Дебаггинг;
✔️Интеграция с API Google;
✔️Работа с интернетом;
✔️И многие другие.
👍4
Нужно ли думать о сохранении состояния, если приложение поддерживает только портретную ориентацию?
– Да.
Поворот экрана – это частный случай Configuration Changes. Другой пример – изменение языка системы.
Кроме того, как было упомянуто постом выше, система может уничтожить активити, чтобы использовать занятые ей ресурсы. В этом случае состояние сохраняется и восстанавливается при пересоздании активити.
#State
– Да.
Поворот экрана – это частный случай Configuration Changes. Другой пример – изменение языка системы.
Кроме того, как было упомянуто постом выше, система может уничтожить активити, чтобы использовать занятые ей ресурсы. В этом случае состояние сохраняется и восстанавливается при пересоздании активити.
#State
Telegram
Мобильная разработка #1
Activity: Как пережить поворот экрана?
При повороте экрана активити уничтожается и создается заново. Вызываются коллбэки onPause(), onStop(), onSaveInstanceState(), onDestroy() – onCreate(), onStart(), onRestoreInstanceState(), onResume().
Чтобы сохранить…
При повороте экрана активити уничтожается и создается заново. Вызываются коллбэки onPause(), onStop(), onSaveInstanceState(), onDestroy() – onCreate(), onStart(), onRestoreInstanceState(), onResume().
Чтобы сохранить…
Android - 9 полезных операторов Kotlin Flow, которые необходимо знать
https://blog.canopas.com/android-9-useful-kotlin-flow-operators-you-need-to-know-b9daef4b630f
#Android #Kotlin
https://blog.canopas.com/android-9-useful-kotlin-flow-operators-you-need-to-know-b9daef4b630f
#Android #Kotlin
Fragment
Fragment используется для отображения части UI на экране. Фрагмент создается внутри активити или внутри другого фрагмента.
Для создания и управления фрагментами используется FragmentManager.
Класс-наследник класса Fragment должен иметь дефолтный конструктор без параметров. Система использует этот конструктор при пересоздании фрагмента.
Начиная с API v28 системный класс Fragment – deprecated. Рекомендуется использовать Fragment из Support Library.
#Fragment
Fragment используется для отображения части UI на экране. Фрагмент создается внутри активити или внутри другого фрагмента.
Для создания и управления фрагментами используется FragmentManager.
Класс-наследник класса Fragment должен иметь дефолтный конструктор без параметров. Система использует этот конструктор при пересоздании фрагмента.
Начиная с API v28 системный класс Fragment – deprecated. Рекомендуется использовать Fragment из Support Library.
#Fragment
Стоит ли изучать Swift? Как меняются правила IT сферы в новых условиях?
Обсудим на бесплатном вебинаре от SwiftBook, а также расскажем какие навыки нужны, чтобы освоить профессию iOS-разработчика.
Регистрируйся и получи в подарок:
➕ книгу «The Swift Programming Language» от Apple на русском
➕ экипировку iOS-разработчика
Ждём тебя! Ссылка на регистрацию ➤ здесь
Обсудим на бесплатном вебинаре от SwiftBook, а также расскажем какие навыки нужны, чтобы освоить профессию iOS-разработчика.
Регистрируйся и получи в подарок:
➕ книгу «The Swift Programming Language» от Apple на русском
➕ экипировку iOS-разработчика
Ждём тебя! Ссылка на регистрацию ➤ здесь
👍1
50 вопросов и ответов для собеседования по Swift в 2022 году
Перед вами список из 50 вопросов и ответов для собеседования по Swift. Эти вопросы посвящены программированию на Swift и разработке приложений для iOS. Вы должны знать ответы на них, прежде чем у вас появится шанс продемонстрировать свои навыки перед интервьюером.
Кроме того, не стесняйтесь использовать эти вопросы для собеседования по Swift для тренировки перед экзаменом.
Эти вопросы для собеседования расположены в случайном порядке, а не от простого к сложному.
Перед вами список из 50 вопросов и ответов для собеседования по Swift. Эти вопросы посвящены программированию на Swift и разработке приложений для iOS. Вы должны знать ответы на них, прежде чем у вас появится шанс продемонстрировать свои навыки перед интервьюером.
Кроме того, не стесняйтесь использовать эти вопросы для собеседования по Swift для тренировки перед экзаменом.
Эти вопросы для собеседования расположены в случайном порядке, а не от простого к сложному.
👍3
Weekend Offer для мобильных разработчиков пройдет уже 23–24 апреля
Получите оффер в команду VK Teams всего за одни выходные, а ещё – дополнительную зарплату на старте.
Команда поставляет мессенджер VK Teams on-premise на серверах для крупных компаний, а также предоставляет SaaS-решение для среднего и малого бизнеса.
Смотрите видеоприглашение и регистрируйтесь на сайте до 22 апреля, с вами свяжутся и введут в курс дела. Удачи!
Получите оффер в команду VK Teams всего за одни выходные, а ещё – дополнительную зарплату на старте.
Команда поставляет мессенджер VK Teams on-premise на серверах для крупных компаний, а также предоставляет SaaS-решение для среднего и малого бизнеса.
Смотрите видеоприглашение и регистрируйтесь на сайте до 22 апреля, с вами свяжутся и введут в курс дела. Удачи!
Подборка каналов для IT специалистов 🎯
Вакансии 📌
https://t.me/progjob Вакансии для программистов
Системное администрирование 📌
https://t.me/i_DevOps Все для DevOps
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
Разработка игр 📌
https://t.me/game_devv GameDev: разработка игр
Программирование, Биг дата, книги 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/coddy_academy Академия кода
Шутки программистов 📌
https://t.me/itumor ITumor | программисты шутят
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют
Вакансии 📌
https://t.me/progjob Вакансии для программистов
Системное администрирование 📌
https://t.me/i_DevOps Все для DevOps
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
Разработка игр 📌
https://t.me/game_devv GameDev: разработка игр
Программирование, Биг дата, книги 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/coddy_academy Академия кода
Шутки программистов 📌
https://t.me/itumor ITumor | программисты шутят
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют
👍3