0Pricing
Jetpack Compose Academy · Урок

setContent: с чего начинается ваш интерфейс

Подключите дерево Composable к Activity.

«setContent: с чего начинается ваш интерфейс» — бесплатный урок Jetpack Compose Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Jetpack Compose Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Jetpack Compose Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Connecting Compose to Android

Your Composables need a home. The setContent call inside an Activity is the bridge that hands your UI tree to the Android screen. 🔗

Inside onCreate

You call setContent from an Activity onCreate. That is the moment Android tells your app it is time to show a screen.

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContent { Greeting() }
}

It Takes a Lambda

setContent accepts a lambda, and inside that block you call your Composables. Everything in the braces becomes the screen content.

setContent {
    Greeting("Compose")
}

The Lambda Is Composable

That lambda is itself a @Composable scope. So you can call any Composable directly inside it, no extra setup required.

One Root Composable

A clean app calls a single root Composable here, often your whole app or theme, which then nests everything else below it.

setContent {
    MyApp()
}

Wrap in Your Theme

Most apps wrap the root in their theme so colors and fonts apply everywhere. The theme is just another Composable around your UI.

setContent {
    MyAppTheme {
        MyApp()
    }
}

Replaces setContentView

In the old View system you called setContentView with an XML layout. Compose swaps that for setContent with a Composable lambda.

Extends ComponentActivity

The Activity that uses setContent typically extends ComponentActivity, the lightweight base class Compose is designed to work with.

class MainActivity : ComponentActivity() {
    // onCreate with setContent
}

Where the Tree Mounts

setContent is the entry point. From here Compose builds, lays out, and draws the whole tree of Composables you call inside it.

Add Surface for Background

Wrapping content in a Surface gives a themed background and elevation, a common first child under your theme.

setContent {
    MyAppTheme {
        Surface { MyApp() }
    }
}

One setContent Per Screen

You normally call setContent once per Activity. To show different content, you change state inside the tree, not call setContent again.

Quick Check

A final check on where Compose UI starts.

Recap

You now know where it all begins: call setContent in onCreate, pass a Composable lambda, wrap it in your theme, and Compose draws your app. 🎉

Часто задаваемые вопросы

Урок «setContent: с чего начинается ваш интерфейс» бесплатный?

Да — полный текст урока «setContent: с чего начинается ваш интерфейс» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Jetpack Compose Academy, подпишись на CoddyKit PRO. Курс Jetpack Compose Academy содержит 4 уроков всего.

Чему я научусь в уроке «setContent: с чего начинается ваш интерфейс»?

Подключите дерево Composable к Activity. Ты практикуешь Jetpack Compose Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Jetpack Compose Academy?

Предыдущий опыт не требуется. Jetpack Compose Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «setContent: с чего начинается ваш интерфейс»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Jetpack Compose Academy?

Да. Каждый урок Jetpack Compose Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Написание функции @Composable
  2. Предварительный просмотр в реальном времени с @Preview
  3. Вызов Composable из Composable
  4. setContent: с чего начинается ваш интерфейс
← Назад к Jetpack Compose Academy