package com.example.smarthome import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.Observer import com.example.smarthome.manager.DeviceManager import com.example.smarthome.manager.SceneManager import com.example.smarthome.model.SmartDevice class MainActivity : AppCompatActivity() { private val deviceManager = DeviceManager() private val sceneManager = SceneManager() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) setupUI() loadDevices() loadScenes() } private fun setupUI() { // Пример: подписка на изменения списка устройств deviceManager.devices.observe(this, Observer { devices -> // Обновить UI (например, RecyclerView) updateDeviceList(devices) }) } private fun loadDevices() { try { deviceManager.fetchDevices() } catch (e: Exception) { showError("Не удалось загрузить устройства: ${e.message}") } } private fun loadScenes() { try { sceneManager.fetchScenes() } catch (e: Exception) { showError("Не удалось загрузить сценарии: ${e.message}") } } private fun updateDeviceList(devices: List<SmartDevice>) { // Логика обновления интерфейса } private fun showError(message: String) { // Показать ошибку пользователю (Toast, Dialog и т.п.) } } DeviceManager.kt
Activity