Files
labs-mobile-applications/app/src/main/java/com/example/myapplication/MainActivity.kt
T

53 lines
1.6 KiB
Kotlin
Raw Normal View History

2025-09-24 12:26:38 +04:00
package com.example.myapplication
import android.os.Bundle
2025-09-24 14:18:44 +04:00
import android.widget.Button
2025-09-24 15:48:24 +04:00
import android.widget.EditText
2025-09-24 13:25:08 +04:00
import androidx.activity.ComponentActivity
2025-09-24 15:48:24 +04:00
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import kotlinx.coroutines.launch
2025-09-24 12:26:38 +04:00
2025-09-24 13:25:08 +04:00
class MainActivity : ComponentActivity() {
2025-09-24 13:41:40 +04:00
2025-09-24 15:48:24 +04:00
private lateinit var etInput: EditText
private lateinit var btnAdd: Button
private lateinit var recyclerView: RecyclerView
private lateinit var adapter: NoteAdapter
2025-09-24 14:01:30 +04:00
2025-09-24 15:48:24 +04:00
private lateinit var db: AppDatabase
2025-09-24 14:01:30 +04:00
2025-09-24 14:29:16 +04:00
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
2025-09-24 15:48:24 +04:00
etInput = findViewById(R.id.etInput)
btnAdd = findViewById(R.id.btnAdd)
recyclerView = findViewById(R.id.recyclerView)
adapter = NoteAdapter(emptyList())
recyclerView.layoutManager = LinearLayoutManager(this)
recyclerView.adapter = adapter
db = AppDatabase.getDatabase(this)
// Добавляем заметку
btnAdd.setOnClickListener {
val text = etInput.text.toString()
if (text.isNotEmpty()) {
lifecycleScope.launch {
db.noteDao().insert(NoteEntity(text = text))
}
etInput.text.clear()
}
}
2025-09-24 14:29:16 +04:00
2025-09-24 15:48:24 +04:00
// Подписываемся на изменения
lifecycleScope.launch {
db.noteDao().getAll().collect { notes ->
adapter.update(notes)
2025-09-24 14:29:16 +04:00
}
2025-09-24 14:18:44 +04:00
}
2025-09-24 12:26:38 +04:00
}
}