6. Implementação das funcionalidades do Firebase

6.1. Classe Tarefa

A classe Tarefa representa a abstração de uma tarefa, contendo duas propriedades principais: nome e condição (indicando se a tarefa está finalizada ou não). Para que os objetos dessa classe possam ser armazenados no Firebase, utilizamos uma data class em Kotlin. Isso permite que os dados sejam automaticamente convertidos para o formato JSON, garantindo a compatibilidade e facilitando o processo de serialização e desserialização.

Código da classe:

package ...

data class Tarefa(var nome: String="", var condicao: Boolean=false) {
var key: String = ""

fun setTarefaId(key: String?) {
this.key = key!!
}
}

Propriedade key

Adicionamos à classe Tarefa um atributo chamado key, que será utilizado como a chave do registro no Firebase. Esse atributo não faz parte das informações armazenadas dentro do objeto Tarefa no banco de dados, por isso foi definido fora do construtor principal.

Essa abordagem é necessária porque, ao interagir com a lista de tarefas e realizar ações específicas (como edição ou exclusão), precisamos identificar com precisão o item selecionado por meio de sua chave única no Firebase.

Para facilitar a atribuição desse valor, implementamos o método auxiliar setTarefaId, que define a chave da tarefa específica, permitindo um gerenciamento eficiente dos registros.