Пора готовить материалы для второй главы. Давай начнём с описания зависимостей приложения.
В `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` позволяет разработчикам легко интегрировать новые функции и стандарты в свои приложения, не опасаясь возникновения проблем с обратной совместимостью или непоследовательным пользовательским интерфейсом.