Skip to content

Latest commit

 

History

History
71 lines (38 loc) · 3.71 KB

GUIDE.md

File metadata and controls

71 lines (38 loc) · 3.71 KB

Guia para os exercícios

Exercício 01

O objetivo desse exercício é aprender o método mais simples de se criar e consumir uma sequência observável, bem como práticas as construções oferecidas pela linguagem Java para se trabalhar com programação reativa.

Para isso, crie um Observable atrás do factory method just( ) e consuma o mesmo imprimindo os itens emitidos no console com uma Action.

Exercício 02

O objetivo desse exercício é verificar outra forma de criação de obseráveis, desse vez com o factory method fromCallable( ). Siga de forma similar ao exercício anterior.

Exercício 03

Nesse exerício, nós aprendemos mais sobre Observers e como consumir os eventos terminais de uma sequência também com Actions

Para isso, no método consumeWithObservers, consuma a sequência passando uma instântica de Observer para o método subscribe( ). Já no método consumeWithActions, verifique como a sintaxe fica mais limpa ao se utilizar três Actions separadas ao invés de um único Observer como callback.

Exercício 04

O objetivo desse exerício é demonstrar que existem diversos factory methods que criam sequências observáveis com comportamento pré-definido. Nesse caso, tomaremos como exemplo range( ).

Exercício 05

Link para o Marble Diagram do operador map( ).

Exercício 06

Link para o Marble Diagram do operador filter( ).

Exercício 07

Link para o Marble Diagram do operador reduce( ).

Exercício 08

O operador collect( ) é uma variante de reduce( ). O objetivo aqui é entender as diferenças entre esses dois operadores.

Exercício 09

Link para o Marble Diagram do operador concat( ).

Exercício 10

Link para o Marble Diagram do operador flatMap( ).

Exercício 11

Link para o Marble Diagram do operador groupBy( ).

Exercícios 12 e 13

O objetivo aqui é entender como RxJava lida com processamento concorrente, em particular do ponto de vista sobre em que momento se deseja aplicar o paralelismo.

Exercício 14

O objetivo desse exercício é verificar que alguns factory methods que retornam sequências pré-definidas ou mesmo alguns operadores associam um novo Scheduler à sequência. Isso é particularmente verdade para operações que lidam com tempo.

Exercício 15

De posso dos conhecimento de Schedulers, vamos visualizar o comportamento do operador merge( ) , usando para isso duas sequências que emitem itens em intervalos aleatórios no tempo.

Exercícios 16, 17 e 18

Nesses exercícios, nós iremos consumir uma REST API com o framework Retrofit. Esse framework oferece uma maneira muito simples de se consumir REST em Java, e em particular, ele é capaz de adaptar o consumo de uma chamada HTTP assíncrona no formato de um Observable.

Para os exercícios 16 e 17, os métodos necessários já estão modelados já classe StarWarsAPI.

O exercício 16 executa uma consulta trivial. Já no exercício 17, iremos encadear uma consulta de modo assíncrono com o operador flatMap.

Para o exercício 18, você deverá adicionar os métodos necessários na classe StarWarsAPI, de maneira a conseguir construir executar a consulta proposta.

  • Link para documentação de Retrofit2
  • Link para documentação de API do Star Was