Ответ
Работал с основными компонентами Android: Activity, Fragment, Service, BroadcastReceiver, ContentProvider.
Activity – точка входа, управляет UI и жизненным циклом.
Fragment – модульный UI, переиспользуемый в разных Activity.
Service – фоновая работа без UI (например, загрузка файлов).
BroadcastReceiver – реагирует на системные события (SMS, зарядка).
ContentProvider – обмен данными между приложениями.
Пример работы с Activity:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
Также работал с Jetpack Compose, ViewModel, LiveData, Room для более эффективной разработки.
Ответ 18+ 🔞
Давай разберёмся, что тут у нас за зоопарк, ёпта. Работал я со всеми этими основными компонентами Android, ну, знаешь, с тем базовым набором, без которого нихуя не соберёшь. Как с конструктором: есть кирпичики, и из них уже лепишь что хочешь, а если не знаешь — получается пиздопроебибна.
Activity — это, блядь, главная точка входа, типа парадной двери в твоё приложение. Она всем рулит: интерфейсом показывает, жизненным циклом управляет — родила, показала, свернула, убила. Всё как у людей.
Fragment — это уже такая хитрая жопа, модульный кусок интерфейса. Его можно, как мартышлюшка, тыкать в разные Activity, чтобы не изобретать велосипед каждый раз. Переиспользуемый, удобный, но иногда с его жизненным циклом волнение ебать, честно.
Service — ну это работяга тихий, в фоне пашет. UI ему нахуй не сдался, его задача — музыку играть, файлы качать или локацию слушать, пока пользователь в другом приложении сидит. Главное, чтобы не жрал батарею как не в себя.
BroadcastReceiver — сторожевой пёс. Сидит и ждёт, когда система крикнет: «Э, сабака сука, SMS пришло!» или «Зарядка подключилась!». Тут же реагирует. Удобная штука, но с новыми версиями Android её поубавили, чтоб не шпионили все подряд.
ContentProvider — этакий обменник данными между приложениями. Хочешь поделиться контактами или фотками из галереи? Вот он, красавец, организует. Без него — доверия ебать ноль, каждое приложение в своём песочнице сидело бы.
А вот тебе пример кода для Activity, простой как три копейки:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
Ну и, ядрёна вошь, конечно, не мог же я на этом остановиться. Ещё ворочал всем этим современным добром: Jetpack Compose (это когда UI декларативно описываешь, а не в XML ковыряешься), ViewModel (чтобы данные переживали поворот экрана), LiveData (за данными следишь, как кот сука собака за мышкой), и Room для работы с базой данных. Всё это, чтобы не изобретать хуй с винтом, а делать всё быстро и правильно. А то как будто на дворе 2012-й год.