Kotlin com Android Crie aplicativos de maneira fácil e divertida
Kassiano ResendeSobre o livro
Edição atualizada:
* Atualiza a sintaxe da linguagem, versão do Android (API 31 - Android 11, antes era utilizada a API 24 - Android 8) e do Android Studio;
* Acrescenta temas de arquitetura MVVM;
* Atualiza os acessos ao banco de dados utilizando a biblioteca Room;
* Atualiza os acessos a APIs utilizando a biblioteca Retrofit;
* Remove o uso de bibliotecas que estão descontinuadas.
Este livro é indicado a todos os desenvolvedores e desenvolvedoras que querem começar a utilizar a linguagem Kotlin para criar aplicativos Android. A abordagem utilizada foi pensada tanto nas pessoas que estão iniciando no mundo do desenvolvimento quanto nas que já possuem experiência e querem conhecer a linguagem Kotlin.
É um pré-requisito para o completo entendimento do conteúdo aqui abordado conhecer lógica de programação e suas estruturas básicas em qualquer linguagem. Não é um pré-requisito saber conceitos de Orientação a Objetos nem a linguagem Java, mas se você já possuir esse conhecimento, será de grande valia.
Ao longo deste livro, você desenvolverá alguns pequenos projetos e verá muitos exemplos de códigos. Você pode encontrar o código-fonte de todos os projetos deste livro no seguinte repositório do GitHub: https://github.com/kassiano/livrokotlin-edition-2.
O livro está dividido em capítulos introdutórios e capítulos focados em projetos. Nos capítulos introdutórios, você aprenderá o básico da linguagem Kotlin e da plataforma Android. Eles oferecem uma boa base para os projetos que serão desenvolvidos e trazem, de forma bem fluida e didática, conceitos de escrita de código, além de dicas de produtividade para o desenvolvimento de um projeto real.
O ambiente de desenvolvimento utilizado é o Android Studio e você aprenderá a configurá-lo no terceiro capítulo. Todos os projetos desenvolvidos neste livro são compatíveis com Android a partir da versão 7.0.
A partir do capítulo 5, você começará a trabalhar com projetos – e isso é bem legal, pois aproxima você ainda mais do mundo real do desenvolvimento Android. Através dos projetos deste livro, você vai poder vivenciar a programação de um aplicativo, desde o mais básico até a utilização de recursos mais avançados, como bancos de dados e consumo de dados da internet. Com a mão na massa, você vai experimentar ferramentas, padrões e conceitos que realmente são utilizados em aplicativos de grandes empresas.
Na escrita deste livro, uni a minha experiência de ensino à minha experiência no mercado de tecnologia para trazer até você um material que vai ajudá-lo(a) a aprender algo novo e crescer profissionalmente. Afirmo com toda a certeza que, com os conceitos aprendidos neste livro, você estará pronto(a) para desenvolver diferentes tipos de Apps para Android utilizando a linguagem Kotlin.
Prefácio
Para mim, um bom livro tem que ter uma boa narrativa. Não importa que seja um livro técnico, ele precisa envolver o leitor no processo de aprendizagem com fluência, didática e boas pitadas de embasamento conceitual revelador.
É o que eu identifico neste livro. Apesar de não ter participado do processo de construção do livro, ao lê-lo, tive a sensação de que ele tinha sido feito para mim. Não me senti "sozinho" tendo acesso a um corpo de conhecimento, me senti amparado de perto por alguém que queria me mostrar uma novidade, trazendo argumentos e exemplos muito conectados com a minha realidade de desenvolvimento de software.
Faço parênteses para me apresentar: sou Daniel Makiyama e trabalho na área de software há 16 anos. Já aproveito para dizer que, hoje, ocupando um cargo de gestor de desenvolvimento de software e professor de pós-graduação, continuo sendo um desenvolvedor de software, pois continuo aprendendo e desenvolvendo sistemas, e isso nunca deve parar. Aliás, faço um apelo aqui: gestores, nunca parem de desenvolver!
Trabalho atualmente em um time de Arquitetura Global de uma empresa adquirida pela Capgemini – consultoria de TI internacional, responsável pelos sistemas que rodam nos restaurantes do McDonald's no mundo – e na FIAP, como professor do MBA de Arquitetura e Desenvolvimento na Plataforma .NET.
Em 2009, um certo tempo antes de me juntar à empresa na qual trabalho atualmente, decidi, junto com outros sócios e funding próprio, criar uma startup chamada Donuts4U. Foi nesse momento de grandes mudanças na minha vida que tive a felicidade de conhecer nosso autor. Após uma frustrante e extensiva busca por profissionais formados e experientes em desenvolvimento C# .NET para a startup, tive a sorte de permitir uma chance ao currículo de um jovem de 17 anos que estava fora dos requisitos da vaga. O currículo apresentava um profissional da área de Redes de Computadores que estranhamente parecia nutrir um grande interesse em programação.
Tamanha foi a minha surpresa quando, durante a entrevista, percebi que ali estava o profissional com a maior propriedade em programação que eu havia entrevistado até então, versado nos conceitos, com exemplos concretos e, principalmente, muita disposição para aprender. Tivemos uma enxurrada de vivências, desafios intensos e aprendizado contínuo, e construímos uma grande amizade.
Este livro é extremamente prático. Os capítulos nos compelem a abrir o Android Studio e experimentar. É vibrante acompanhar as pequenas dicas focadas em produtividade e organização. Este livro atende de forma precisa ao ímpeto que temos de experimentar rapidamente na linguagem, evitando setups em um primeiro momento e indo direto ao código – e aí, sim, intercalando pequenos setups com códigos bem direcionados, alavancando o que a JetBrains tem a oferecer para a iniciação dos interessados.
É interessante ver como a preocupação com performance, qualidade e produtividade está "embedada" na linguagem e que ela já nos direciona neste caminho, o que é muito valioso se pensarmos que se trata de um ambiente mobile. Assim como as importantes regras de validação do compilador Java para Android, as abstrações propostas pelo Kotlin evitam o emprego de práticas nocivas, inocentes ou ineficazes no código. Nesse sentido, o Kotlin apresenta funcionalidades como templates de string, operador safe call, single-expression functions e classes de dados – todos inspirados em movimentos convergentes em diversas comunidade de software –, sem contar os métodos fluentes, que tornam o código mais semântico e facilitam a sua leitura. Ter menos código para ler significa muito: facilita o entendimento e simplifica o trabalho de manutenção futura.
O livro é fluido como uma aula de curso profissionalizante: vai direto ao ponto e injeta conceitos à medida que são realmente necessários para a continuidade da atividade prática, de forma até divertida, com a responsabilidade e o respeito de trazer um conhecimento acessível, independente de experiências prévias com outras linguagens.
Este é um livro que você abre em um Kindle ao lado do seu computador, ou o coloca em um segundo monitor, e vai lendo, codificando, testando e embarcando na viagem, que é cheia de interjeições de dúvidas seguidas de epifanias — tudo isso no seu tempo, com calma e com as etapas necessárias para um entendimento mais completo, que é como realmente todo processo de aprendizagem deveria ser. A linguagem do livro é jovial e envolvente, e, para mim, o aprendizado sempre fica mais fácil dessa forma, mais informal e prático. As seções de resumo são a cereja do bolo: elas nos ajudam a retomar os conceitos e fechar o entendimento sobre o tema abordado no capítulo.
O autor apresenta muitas dicas de uso da IDE do Android Studio, como configurar o emulador e outros passos importantes para tornar suave o processo de desenvolvimento e deploy de seus Apps. Isso tudo foi muito esclarecedor para mim, que não tenho muita experiência com a plataforma Android. É incrível como essa plataforma tem um vocabulário e um funcionamento bem próprio (e bem organizado), que vai muito além do ambiente de desenvolvimento clássico em Java. É muito interessante quando uma linguagem nos força a utilizar boas práticas através de uma boa estrutura. Isso é um dos motivos do sucesso do Android.
Kassiano constrói os layouts e simula um processo real de desenvolvimento, com as tomadas de decisão quanto a como organizar o código — aqueles questionamentos importantes que levam a boas decisões de como e por que fazer daquela forma. Inicialmente, o autor foca em uma aplicação muito comum e muito utilizada em tutoriais de diversas outras linguagens, que é o aplicativo de listas. Isso facilita que o leitor foque mais no aprendizado da linguagem (pois uma aplicação de listas já é de domínio da maioria das pessoas que já desenvolvem), além de poder enxergar onde a linguagem Kotlin está frente a outras linguagens. Por fim, Kassiano fecha com chave de ouro apresentando o processo de desenvolvimento de uma calculadora de bitcoins, que se tornou realmente um aplicativo da Play Store e que foi concebido inicialmente para o livro. Isso mostra a dedicação que o autor teve durante a construção do livro.
Fica claro que as ferramentas usadas no livro são de alta produtividade, pois este é um dos grandes objetivos da criação dessa linguagem. A utilização da ferramenta de ORM no caso de banco de dados é um ótimo exemplo da preocupação deste livro em apresentar ao leitor uma forma rápida de desenvolver seus aplicativos Android — sem contar a utilização de conceitos bem atuais, como a criação do banco de dados e tabelas através de código, o que permite a migração estrutural caso a estrutura das tabelas mude ao longo do tempo. Dessa forma, todo o conhecimento sobre o seu aplicativo fica autocontido na solução de código. Isso é muito vantajoso para a manutenção e evolução do seu sistema.
Ao término deste livro, você terá visto na prática todos os passos necessários para construir e publicar na Play Store aplicações para smartphones desenvolvidas na linguagem Kotlin, no ambiente de desenvolvimento Android Studio. O escopo das aplicações apresentadas no livro vai além das funcionalidades da linguagem, com a utilização de banco de dados, acesso a APIs REST e funcionalidades dos smartphones, como notificações, acesso à galeria de imagens, câmera e localização através de GPS.
Bom, não vou me estender mais, pois a cada novo parágrafo que escrevo, mais demoro para liberar você para esta prazerosa experiência. Ajeite-se na sua cadeira, ligue o notebook ou computador (caso ainda não esteja ligado), coloque este livro ao lado (ou projetado em outro monitor ou no Kindle) e vá montar sua próxima aplicação usando Kotlin agora mesmo! Afinal, o que você está esperando? =D
Por Daniel Makiyama, Gerente de soluções Web no Google
Sumário
- 1 A linguagem Kotlin
- 1.1 Um breve histórico
- 1.2 Interoperabilidade, como assim?
- 1.3 Uma linguagem concisa
- 1.4 Livre-se das referências nulas
- 2 Programando em Kotlin
- 2.1 Conhecendo o Kotlin Playground
- 2.2 Inserindo comentários no código
- 2.3 Definindo variáveis val e var
- 2.4 Tipos de dados
- 2.5 Estruturas de decisão
- 2.6 Estruturas de repetição
- 2.7 Funções
- 2.8 Orientação a Objetos
- 3 Configurando o ambiente de desenvolvimento
- 3.1 Android Studio
- 3.2 Configurando o SDK
- 3.3 Primeiro projeto: Hello World
- 3.4 Criando um emulador Android
- 3.5 Executando o projeto
- 3.6 Habilitando o Auto Import
- 4 Anatomia da plataforma Android
- 4.1 Activities
- 4.2 Acessando recursos - Classe R
- 4.3 Views - Componentes visuais
- 5 Primeiro projeto - Cálculo da aposentadoria
- 5.1 Fase de planejamento
- 5.2 Criando o projeto
- 5.3 Criando uma Activity
- 5.4 Criando o layout da Activity
- 5.5 Programando a lógica
- 5.6 AndroidManifest
- 6 Lista de compras
- 6.1 Planejamento
- 6.2 Criando o projeto
- 6.3 Criando o layout
- 6.4 Programando o aplicativo
- 6.5 Pequenas melhorias
- 6.6 Removendo um item da lista
- 7 Arquitetura e padrão MVVM
- 7.1 Model-View-ViewModel
- 7.2 ViewModel
- 7.3 Conectando a ViewModel com a Activity
- 8 Persistência de dados com Room
- 8.1 Tipos de persistência de dados
- 8.2 Adicionando as dependências
- 8.3 Definindo as entidades
- 8.4 Definindo o DAO
- 8.5 Definindo o objeto de banco de dados
- 8.6 Criando instâncias do banco de dados
- 8.7 Refatorando a ViewModel para usar o banco de dados
- 8.8 Adicionando items no banco de dados
- 8.9 Removendo itens do banco de dados
- 8.10 Organizando os arquivos
- 9 Projeto Crypto Monitor
- 9.1 Planejamento
- 9.2 Componentizando o layout
- 9.3 API de dados - Mercado Bitcoin
- 9.4 Buscando os dados da API
- 9.5 Criando a ViewModel
- 9.6 Gerenciamento de estados
- 9.7 Conectando a UI
- 10 Notificações, permissões, localização e publicação
- 10.1 Notificações
- 10.2 Solicitação de permissões
- 10.3 Localização por GPS
- 10.4 Publicação na Play Store
- 11 Conclusão
Dados do produto
- Número de páginas:
- 300
- ISBN:
- 978-85-94188-75-5
- Data publicação:
- 07/2018. Atualizado em 07/2023.