---
# System prepended metadata

title: Untitled

---

Пора готовить материалы для второй главы. Давай начнём с описания зависимостей приложения.
В `app/build.gradle` есть список зависимостей (имплементаций), которые мы берём из внешнего репозитория целиком:

    implementation 'androidx.core:core-ktx:1.9.0'
    implementation 'androidx.appcompat:appcompat:1.6.1'
    implementation 'com.google.android.material:material:1.8.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    implementation "io.github.sceneview:arsceneview:0.9.7"

А затем в активити (`app/src/main/java/io.github.timerbaka.augmentedschoolbooks/MainActivity.kt`) мы из этих зависимостей импортируем нужные кусочки:

    import android.graphics.BitmapFactory
    import androidx.appcompat.app.AppCompatActivity
    import android.os.Bundle
    import android.view.View
    import androidx.core.view.isGone
    import com.google.ar.core.AugmentedImageDatabase
    import com.google.ar.core.Config
    import io.github.sceneview.ar.ArSceneView
    import io.github.sceneview.ar.node.PlacementMode
    import io.github.sceneview.math.Position
    import io.github.sceneview.utils.setFullScreen
Предлагаю написать понемножку (50-100 слов) про каждую из этих штук.
Пример про `implementation "io.github.sceneview:arsceneview:0.9.7" `:

> SceneView для Android - это мощный инструмент с открытым исходным кодом, который позволяет разработчикам мобильных приложений легко интегрировать возможности взаимодействия с 3D-сценами на платформе Android. 

> SceneView предлагает широкий спектр функций, таких как импорт 3D-моделей из различных форматов, автоматическое определение текстур и материалов, поддержка анимации, гибкий контроль камеры и освещения, а также расширенные возможности рендеринга с использованием `OpenGL ES`.

> Кроме того, SceneView обеспечивает множество дополнительных функций, таких как обработка столкновений, физическая симуляция и оптимизация производительности. Эти функции позволяют разработчикам создавать более сложные и интерактивные приложения с трехмерными объектами, а также поддерживать высокую производительность на разных устройствах.

Пример про `import androidx.appcompat.app.AppCompatActivity`:

> `AppCompatActivity` - это базовый класс для активностей в Android-приложениях, который предоставляет поддержку расширенной совместимости с различными версиями операционной системы Android. Этот класс является частью библиотеки `AndroidX AppCompat`, которая обеспечивает стабильную и последовательную внешность и поведение приложений на всех версиях Android, начиная с Android 2.1 (API 7) и выше.  Использование `AppCompatActivity` позволяет разработчикам легко интегрировать новые функции и стандарты в свои приложения, не опасаясь возникновения проблем с обратной совместимостью или непоследовательным пользовательским интерфейсом.



