-
Notifications
You must be signed in to change notification settings - Fork 12.5k
Open
Description
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
Metadata
Metadata
Assignees
Labels
No labels