Найти в Дзене
Задачка на Яндекс Собеседовании
Задача: написать реализацию метода x, y координаты относительно view возвращает view (дочернюю или текущую) в который попал ползователь ? Решение: Для реализации метода, который возвращает дочернюю или текущую view, в которой находится пользователь в момент его касания, можно использовать рекурсивный подход. Например, вот пример реализации такого метода на языке Kotlin: fun View?.findTouchedView(x: Float, y: Float): View? { if (this == null) return null // Проверяем, что касание было в пределах текущей view val location = IntArray(2) this.getLocationOnScreen(location) val minX = location[0] val maxX = minX + this...
2 года назад
Применения архитектурных паттернов MVVM, MVI, MVP, MVC - различие ? Архитектурные паттерны MVVM (Model-View-ViewModel), MVI (Model-View-Intent), MVP (Model-View-Presenter) и MVC (Model-View-Controller) используются для организации кода в приложениях, чтобы разделить логику и представление данных. Вот краткое описание каждого из них и различия между ними: 1. MVVM (Model-View-ViewModel) MVVM является паттерном, который используется для отделения бизнес-логики приложения от его пользовательского интерфейса. Он включает в себя три основных компонента: Model, View и ViewModel. Model представляет данные и бизнес-логику, View отвечает за представление данных пользователю, а ViewModel связывает эти два компонента вместе. 2. MVI (Model-View-Intent) MVI является относительно новым паттерном, который основывается на концепции однонаправленного потока данных. Он включает в себя три основных компонента: Model, View и Intent. Model представляет данные и бизнес-логику, View отвечает за представление данных пользователю, а Intent определяет, какие действия должны быть выполнены в приложении. 3. MVP (Model-View-Presenter) MVP является паттерном, который также используется для отделения бизнес-логики приложения от его пользовательского интерфейса. Он включает в себя три основных компонента: Model, View и Presenter. Model представляет данные и бизнес-логику, View отвечает за представление данных пользователю, а Presenter связывает эти два компонента вместе и обрабатывает пользовательский ввод. 4. MVC (Model-View-Controller) MVC является одним из самых старых и широко используемых паттернов архитектуры. Он включает в себя три основных компонента: Model, View и Controller. Model представляет данные и бизнес-логику, View отвечает за представление данных пользователю, а Controller обрабатывает пользовательский ввод и управляет моделью и представлением. Различия между этими архитектурными паттернами включают в себя способы, которыми каждый из них разделяет код, способы связывания компонентов и то, как обрабатываются действия пользователя. Каждый из них имеет свои преимущества и недостатки, и выбор наилучшего зависит от конкретного проекта и его требований.
256 читали · 2 года назад
Понимание ООП и знание структуры данных? ООП (объектно-ориентированное программирование) - это подход к программированию, который основан на использовании объектов, которые могут взаимодействовать друг с другом, образуя более сложные структуры. ООП базируется на трех главных концепциях: наследование, полиморфизм и инкапсуляция. Структуры данных - это способы организации и хранения данных в памяти компьютера. Каждая структура данных имеет свои преимущества и недостатки в зависимости от того, как она используется. Некоторые из наиболее распространенных структур данных включают в себя массивы, списки, стеки, очереди, деревья и графы. Знание ООП и структур данных важно для создания эффективных и легко поддерживаемых программных приложений. ООП позволяет создавать модульный и расширяемый код, который может быть легко адаптирован к изменяющимся требованиям. Структуры данных помогают оптимизировать использование памяти и ускорить выполнение операций с данными.
2 года назад
Протоколы HTTP, HTTPS - различие? HTTP (HyperText Transfer Protocol) и HTTPS (HyperText Transfer Protocol Secure) являются протоколами для передачи данных между клиентом и сервером в Интернете. Главное различие между ними заключается в том, что HTTPS обеспечивает защищенное соединение с использованием SSL/TLS-шифрования, что обеспечивает безопасность передаваемых данных. В отличие от HTTPS, HTTP не обеспечивает шифрование данных, что может привести к утечке конфиденциальной информации, если злоумышленник получит доступ к этим данным. В HTTPS передаваемые данные зашифрованы, что делает их невидимыми для третьих лиц, которые могут перехватывать данные в Интернете. Это обеспечивает безопасность при передаче конфиденциальной информации, такой как пароли, номера кредитных карт и т.д. В целом, HTTPS является более безопасным и рекомендуется использовать для передачи конфиденциальной информации в Интернете. Однако, HTTP все еще используется для передачи нечувствительных данных.
2 года назад
Oтличие Serializable и Parcelable в андроид разработке, какой эффективнее ?
Основное отличие между Serializable и Parcelable в Android разработке заключается в способе сериализации объектов. Serializable сериализует объекты в формате, который может быть использован для сохранения и восстановления состояния объекта, в то время как Parcelable использует механизм передачи данных между процессами (IPC) для передачи объектов между компонентами Android. Parcelable обычно более эффективен, чем Serializable, так как он использует механизм IPC и меньше накладных расходов на маршаллинг и демаршаллинг объектов. Кроме того, Parcelable может быть более безопасен, так как он не использует...
583 читали · 2 года назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала