Skip to content

Instantly share code, notes, and snippets.

@gracietti
Last active October 22, 2017 19:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gracietti/5b7fab36cd080cd0707d098d09588ee1 to your computer and use it in GitHub Desktop.
Save gracietti/5b7fab36cd080cd0707d098d09588ee1 to your computer and use it in GitHub Desktop.
Contador de Like. Enviado como tarefa para a Turma I do Projeto Mão na Massa no dia 22/Out/2017.
// Nessa tarefa, nos queremos saber quantos likes cada post recebeu.
// Já temos alguns dados de exemplo criados, simulando que alguns usuários deram like em alguns posts.
// Agora queremos passar o ID de um post e saber o total de liks recebidos por ele.
// Com essa atividade, vocês já relembrarão alguns comandos de lógica de programaço em KOTLIN.
// Dica: para implementar o contador, vocês precisaro usat FOR e IF.
fun main(args: Array<String>) {
// Essa é uma lista com alguns exemplos de dados
val listaDeLikes = listOf(
RelacaoDeLike(323423,1), //Usuario 323423 deu like no post 1
RelacaoDeLike(234234,1), //Usuario 234234 deu like no post 1
RelacaoDeLike(456456,1), //Usuario 456456 deu like no post 1
RelacaoDeLike(233424,2), //Usuario 233424 deu like no post 2
RelacaoDeLike(466656,2), //Usuario 466656 deu like no post 2
RelacaoDeLike(536853,2), //Usuario 536853 deu like no post 2
RelacaoDeLike(456456,2), //Usuario 456456 deu like no post 2
RelacaoDeLike(464645,3), //Usuario 464645 deu like no post 3
RelacaoDeLike(787423,3), //Usuario 787423 deu like no post 3
RelacaoDeLike(685344,3), //Usuario 685344 deu like no post 3
RelacaoDeLike(987987,3) //Usuario 987987 deu like no post 3
)
//Aqui eu coloco o ID do post que eu quero consultar
val postId = 2
//Essa variável vai armazenar o resultado do contador de likes
val totalDeLikes = contarNumeroDeLikes(postId, listaDeLikes)
//E agora eu imprimo o resultado na tela
println(">>> Aqui está o resultado: o post $postId tem um total de $totalDeLikes likes.")
}
fun contarNumeroDeLikes(postId: Int, listaDeLikes: List<RelacaoDeLike>): Int {
var totalDeLikes = 0
//Imprementar o contador
// Para cada elemento da `listaDeLikes`, vou precisar verificar se o `postId` é igual ao `postId` que eu quero consultar
// ESCREVA SEU CODIGO AQUI :)
//Retorno o resultado com o total de likes
return totalDeLikes
}
//Essa classe estaria armazenada no banco de dados no backend (nuvem)
class RelacaoDeLike(userId: Int, postId: Int): Object() {
val userId = userId
val postId = postId
init {
//Esse texto será impresso sempre que uma nova relação de likes for criada
println("Foi criado uma nova relação de like entre o usuário $userId e o post $postId")
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment