Ola pessoal,No proximo dia 02 de julho, na Unipe em Joao Pessoa - PB, participarei pelo segundo ano consecutivo do Androidos! Um dos melhores eventos do Nordeste voltados para desenvolvedores Android e abordara temas muito legais do desenvolvimento de aplicacoes Android tais como: arquitetura, programacao reativa, servicos de cloud, e muito mais.Este ano, o Androidos contara com a participacao de tres Google Developer Experts em Android do Brasil: Marcelo Quinta (de Goias), Ubiratan Soares (de Sao Paulo) e eu ;) Isso sem falar na ilustre participacao do Josias Paes (Unipe) e do Gustavo Soares (IFPB).Farei duas participacoes durante o evento: a primeira com uma palestra sobre Data Binding e log em seguida participarei de um Fireside chat, onde o publico podera fazer perguntas e tirar suas proprias duvidas sobre Android.Se voce e desenvolvedor Android, nao poder perder essa oportunidade. Mais informacoes no site do evento. Nos vemos la![EDITADO 08/07/2016]Slides da minha palestra. O codigo-fonte do projeto mostrado nos slides esta no meu GitHub.https://github.com/nglauber/playground/tree/master/android/LivrosFirebase4br4c05,nglauber Ola povo,Ha algum tenho venho estudando dois topicos relacionados a Android que vem me deixando bem empolgado: Kotlin e RX Java.Kotlin e uma liguagem dinamica para JVM desenvolvida pela JetBrains que traz diversas features nao existentes no Java. E o RX Java, bem a grosso modo, e uma biblioteca nos ajuda a trabalhar com sequencia de dados que podem estar em threads separadas de uma maneira bem mais simples.O intuito deste post nao e como dar os primeiros passos com RX ou Kotlin, e sim documentar e compartilhar o que eu aprendi ao tentar implementar um exemplo "simples" com esse conjunto de linguagem+biblioteca+api.Nesse post vou mostrar:- Como acessar a Star Wars API utilizando a biblioteca Retrofit;- Fazer as requisicoes utilizando RX Java + Retrofit;- e todo o codigo e escrito em Kotlin.Configuracao do projetoPrimeira coisa que voce deve fazer e instalar o plugin do Kotlin no Android Studio. Voce pode seguir esse tutorial aqui:https://blog.jetbrains.com/kotlin/2013/08/working-with-kotlin-in-android-studio/A versao atual no momento da escrita desse post e a 1.1.0-release-Studio2.3-1Instalado o plugin, crie um novo projeto no Android Studio.Deixe o build.gradle do seu projeto como a seguir:buildscript { ext.kotlin_version = '1.1.0' ext.appcompat_version = '25.1.0' ext.retrofit_version = '2.2.0' repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.3.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" }}allprojects { repositories { jcenter() }}O que temos de diferente aqui e que estamos criando algumas variaveis com as versoes do Kotlin e da biblioteca de compatibilidade. E na secao de dependencias adicionamos o plugin do Kotlin para o Gradle.Va agora ate o build.gradle do modulo, faca as seguintes alteracoes:apply plugin: 'com.android.application'apply plugin: "kotlin-android"android {...}dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) // Dependencia da linguagem Kotlin compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" // AppCompat compile "com.android.support:appcompat-v7:$appcompat_version" // RXJava compile 'io.reactivex:rxjava:1.2.5' // RXAndroid para termos acesso a main thread do Android compile 'io.reactivex:rxandroid:1.2.1' // Retrofit compile "com.squareup.retrofit2:retrofit:$retrofit_version" // Adapter do Retrofit para retornar objetos observaveis compile "com.squareup.retrofit2:adapter-rxjava:$retrofit_version" // Converter do Retrofit para utilizar o Gson para tratar a resposta do servidor compile "com.squareup.retrofit2:converter-gson:$retrofit_version" // Interceptor para visualizar os logs das requisicoes do Retrofit compile 'com.squareup.okhttp3:logging-interceptor:3.6.0' ...}Aplicamos o plugin do Kotlin e adicionamos as dependencias que utilizaremos no projeto. A motivacao de cada