Estudando Android - Lista de Conteúdos do Blog
(25770) (17)
CategoriasAndroid, Design, Protótipo
AutorVinícius Thiengo
Vídeo aulas186
Tempo15 horas
ExercíciosSim
CertificadoSim
CategoriaEngenharia de Software
Autor(es)Vaughn Vernon
EditoraAlta Books
Edição1ª
Ano2024
Páginas160
Tudo bem?
Neste artigo vamos a correta listagem dos conteúdos gratuitos do Blog para que você consiga prosseguir com seus 📚 estudos de dev mobile e se torne um desenvolvedor Android.
Antes de seguir com o artigo, não esqueça de 📪 se inscrever na lista de emails do Blog (acima, ao lado ou ao final do artigo) e 📝 confirmar sua inscrição para poder 📦 receber em primeira mão os conteúdos exclusivos sobre dev Android.
A seguir os tópicos que estarão sendo abordados. É importante que você siga, em seu roteiro de estudos, a ordem apresentada das listas e tópicos. Essa ordem foi desenvolvida para que o aprendizado com os conteúdos do Blog seja eficiente:
- Porque estas listas de materiais?;
- Informações importantes:
- Listas de estudo:
- IDE principal para o desenvolvimento de aplicativos;
- Warm up;
- Linguagem de design, prototipagem e políticas de privacidade;
- APIs e recursos base para os desenvolvedores;
- A base das visualizações e layouts;
- Recursos para mídia streaming;
- Recursos do Material Design;
- Animação;
- Seu Web site como aplicativo;
- Persistência local;
- Recursos de rede;
- Recursos de comunicação interna e APIs para melhorias de funcionalidades;
- Alertas, notificações e mensagens push;
- Compartilhamento;
- Monetização;
- Otimização de performance;
- Padrão e API de arquitetura;
- Padrões e técnicas para desenvolvimento;
- APIs de mídias sociais;
- Geolocalização;
- Conteúdos específicos de domínio do problema;
- Estudo do Kotlin.
- Slides;
- Conclusão.
So, keep studying.
Porque estas listas de materiais?
Ok, mas por que está listagem de materiais se basta realizar a busca no site para encontrar algo sobre o dev Android?
Alguns dos seguidores do Blog e do 🎥 canal no YouTube solicitam, frequentemente, uma lista ordenada para estudos Android, lista utilizando os conteúdos gratuitos disponíveis aqui.
A resposta enviada ao questionamento, até antes deste artigo, era construída na hora, uma para cada solicitante, com baixa eficácia.
Algumas vezes alguns conteúdos acabavam sendo indicados para estudo quando na verdade não tinham mais efetividade no dev Android, APIs depreciadas, por exemplo, essa que é uma outra crítica dos seguidores, principalmente às PlayLists do canal.
Outras vezes alguns conteúdos eram esquecidos, conteúdos importantes, pré-requisitos, para entendimento de outros indicados na lista enviada como resposta.
Tendo em mente esses e outros problemas relacionados ao estudo do Android com os conteúdos gratuitos do Blog, foi criado este artigo com indicações de conteúdos internos ao site, que mesmo quando antigos e listados aqui, são importantes tanto quanto, ou mais, os posts mais atuais.
Ressalto que o foco deste artigo é indicar conteúdos do Blog, corretamente ordenados, para aqueles que pretendem se tornar profissionais Android. Ou seja, os detalhes de cada artigo indicado estarão nos textos e vídeos desses.
Informações importantes
Como já informado, estarão sendo indicados somente conteúdos já publicados aqui no blog (em alguns pontos conteúdos complementares, principalmente da documentação do Android), então vale lembrar que alguns deles são a partir de 2013.
Até a metade de 2014 o Android Studio, hoje o IDE oficial de desenvolvimento Android, não era a principal ferramenta de programação para está plataforma e sim o IDE Eclipse.
Mesmo sabendo disso, você deve seguir todos os artigos e vídeos indicados utilizando o Android Studio.
No momento de programar, digo, quando você visualizar os vídeos e então notar que é o IDE Eclipse sendo utilizado, continue, porém implemente o conteúdo com sua instalação do Android Studio, pois quase todos os conteúdos apresentados com o Eclipse são apenas códigos com uso de APIs internas e lógicas de negócio facilmente reproduzíveis no Android Studio.
Fique tranquilo quanto a instalação e configuração do Android Studio em sua máquina, pois o primeiro conteúdo indicado na listagem para estudo é justamente sobre este IDE, o passo a passo de como utiliza-lo.
Modo recomendado de estudo
Em todos os artigos indicados é informado em cada um deles: ou o link para acesso ao projeto completo no GitHub; ou o link para download do arquivo 🗜 .zip que contém o projeto.
Sempre busque fazer o download do projeto e então seguir com ele aberto no Android Studio, utilizando a opção "Open an existing Android Studio project" no caso de ser um projeto construído no Android Studio:
Ou a opção "Import project (Eclipse ADT, Gradle, etc.)" no caso de um projeto desenvolvido no Eclipse ou em outro IDE:
Assim você poderá ter, de maneira mais tangível, o código do projeto em estudo. De qualquer forma, não deixe de também tentar a sua própria implementação, fazendo com que a prática fixe o conhecimento.
Uma outra estratégia de estudo que indico e pratico, é: você desenvolver algum projeto que já tenha em mente ao mesmo tempo em que vai aprendendo os conteúdos nos artigos e vídeos. Um projeto como um marketplace de lava-jatos, por exemplo.
Assim que for aprendendo a desenvolver para Android, com os conteúdos indicados, veja se o assunto atual em estudo é aplicável à sua ideia e então, caso sim, comece a desenvolver aquela parte do projeto.
Ressaltando: quando você vai desenvolvendo, praticando, o aprendizado é ainda mais eficiente, pois também tem o conhecimento tácito adquirido.
Você notará que os artigos mais atuais do Blog têm, além do conteúdo apresentado em vídeo, o conteúdo em texto e em slides. Nesses artigos dê prioridade a parte em texto para depois seguir para a parte em vídeo, isso, pois a parte em texto é mais completa, com todo o código do projeto e a explicação dele.
💡 E agora a dica de ouro: não deixe de ler todos os comentários de todos os artigos indicados, incluindo os comentários das páginas dos vídeos no YouTube. Isso mesmo quando você tiver entendido tudo, pois quase sempre tem algo útil que você ainda não captou, até mesmo respostas para algumas de suas dúvidas.
E, obviamente, se mesmo assim, lendo também os comentários, alguma dúvida tenha persistido, não deixe de perguntar na página do artigo.
Listas de estudo
Com isso podemos seguir com as listas de conteúdos para estudo. Lembre de segui-las na ordem apresentada, incluindo a ordem dos tópicos.
IDE principal para o desenvolvimento de aplicativos
Como informado anteriormente, aqui você já terá acesso ao conteúdo completo sobre o principal IDE para desenvolvimento Android:
Siga todo o texto e vídeo, pois terá também a parte de otimização do IDE para ele executar de maneira eficiente em sua máquina. No conteúdo indicado você pode seguramente ignorar o primeiro projeto criado em Kotlin.
Se preferir, volte ao início da seção "Modo recomendado de estudo" para ter o passo a passo de importação de projeto existente.
Warm up
Alguns primeiros passos que podem lhe ajudar a iniciar com o "pé direito" o estudo das APIs e recursos para o desenvolvimento Android:
- Criando Um APP de Somar em Android:
- Um aplicativo bem simples sendo criado, tente reproduzir em seu Android Studio.
- Liberando o Android do Seu Smartphone Para Programação:
- Caso o conteúdo do artigo acima não funcione para ti, devido a versão do Android ser mais atual do que a apresentada em vídeo, faça o seguinte. Acesse em seu aparelho real:
- Settings (Configurações);
- About phone (Sobre o dispositivo);
- Build number (Nº de compilação). Aqui, toque sete vezes nesse item. Logo depois aparecerá uma mensagem similar a: "Modo de desenvolvedor ativado".
- Caso o conteúdo do artigo acima não funcione para ti, devido a versão do Android ser mais atual do que a apresentada em vídeo, faça o seguinte. Acesse em seu aparelho real:
Linguagem de design, prototipagem e políticas de privacidade
A seguir alguns conteúdos essenciais antes mesmo de você saber codificar um aplicativo Android:
- Material Design;
- Como Criar Protótipos Android;
- Construindo a Política de Privacidade de Seu Aplicativo Android [Agora Obrigatório].
APIs e recursos base para os desenvolvedores
Abaixo os artigos que contém as principais APIs e recursos no desenvolvimento Android:
- Ciclo de Vida de Uma Atividade no Android;
- Conhecendo o Arquivo AndroidManifest.xml;
- Entendendo a Classe R.java do Android:
- Apesar de não ter tanta importância hoje em saber sobre esta classe, digo, importância como na época em que o Eclipse era o principal IDE para desenvolvimento Android, onde o acesso a classe R era trivial, ainda é inteligente saber o que ela significa.
- Classe Intent e o Conceito de Pilha em Android;
- Entendendo e Utilizando IntentFilter no Android;
- Passagem de Parâmetros de Uma Atividade Para a Outra em Android;
- Enviando e Recebendo Dados Entre Activities em Android;
- Otimizando Sua APP Android Com OnSaveInstanceState;
- onSaveInstanceState, Bitmap e Serializable no Android. Correção;
- Como Reter Objetos Utilizando Android-State API;
- Parcelable no Android, Entendendo e Utilizando:
- O Parcelable é ainda mais importante do que o Serializable, então, mesmo com a facilidade do Serializable, busque sempre utilizar o Parcelable.
- Entendendo a Thread Principal de Uma APP Android;
- runOnUiThread, Atalho de Acesso a Thread Principal no Android;
- Application Class no Android, Entendendo e Utilizando;
- Fragments no Android, Trabalhando com Múltiplas Activities;
- Ciclo de Vida e Otimização de Fragments no Android;
- BroadcastReceiver no Android, Executando Tarefas no Background;
- Service no Android, Entendendo e Utilizando;
- Utilizando BindService com Service no Android;
- IntentService no Android, Entendendo e Utilizando;
- Entendendo e Utilizando a Classe Log Com o LogCat no Android:
- No Android Studio o LogCat se encontra, também, na aba inferior (imagem abaixo). 💡 Recomendo que siga também o conteúdo da documentação Android sobre o LogCat: Gravar e visualizar registros com o Logcat.
- ContentProvider no Android, Entendendo e Utilizando;
- AccountManager no Android, Entendendo e Utilizando;
- Sistema de Permissões em Tempo de Execução, Android M;
- Assinando Uma APP Android e Publicando na Play Store:
- Atenção nesta parte, pois o link acima do artigo tem um conteúdo que muda consideravelmente quando utilizando o IDE Android Studio ao invés do Eclipse, logo, não deixe de acessar também o seguinte artigo da documentação Android: Assinar o aplicativo;
- Para aqueles que estão iniciando: nunca perca o arquivo 🔑 .keystore gerado para o APK de seu APP, caso contrário você não conseguirá enviar um novo APK de atualização de aplicativo nesta loja de APPs.
Você deve ter notado que não foi informado nada sobre layout na lista acima. Sim, é isso mesmo, é possível estudar o conteúdo da lista anterior sem ainda ter visto nada sobre os componentes visuais do Android. Até aqui, apenas veja e siga com os layouts sendo utilizados.
A base das visualizações e layouts
Então com o conteúdo anterior, digo, da seção "APIs e recursos base para os desenvolvedores", ainda não consigo construir nenhum aplicativo?
Na verdade consegue, mas somente aplicativos muito simples. Siga com os estudos, utilizando agora a próxima lista:
- Entendendo e Utilizando o ConfigChanges no Android;
- View: Entendendo os Componentes Visuais no Android;
- LinearLayout no Android, Entendendo e Utilizando;
- RelativeLayout no Android, Entendendo e Utilizando;
- Entendendo e Utilizando o FrameLayout no Android;
- ConstraintLayout, Melhor Performance no Android;
- FlexboxLayout Para Um Design Previsível No Android;
- TableLayout no Android, Entendendo e Utilizando;
- ScrollView e HorizontalScrollView no Android, Entendendo e Utilizando;
- ListView: Entendendo e Utilizando no Android;
- SimpleAdapter no ListView, Entendendo e Utilizando no Android:
- Apesar de colocar o SimpleAdapter aqui, vou ser franco contigo: quase nunca utilizei ele, mas vejo muitos developers, principalmente os que estão iniciando, o utilizando. Mesmo assim recomendo que use o BaseAdapter, esta classe vai lhe dar maior poder de customização sem uma perda significante, se é que existe alguma, de desempenho.
- Utilizando BaseAdapter Para Personalização Completa da ListView;
- GridView no Android, Entendendo e Utilizando;
- Spinner (ou Select) no Android, Entendendo e Utilizando;
- Style, String, Dimen, Color e WindowNoTitle no Android, Entendendo e Utilizando;
- Suporte de Tela com Drawable DPI no Android:
- 💡 Para o conteúdo de suporte de tela também recomendo uma página da documentação oficial do Android: Compatibilidade com várias telas.
- 9-Patch no Android, Mantendo a Qualidade de Imagens de Background;
- ImageSwitcher no Android, Entendendo e Utilizando;
- ViewPager no Android, Entendendo e Utilizando;
- PhotoView Android Para a Completa Implementação de Zoom.
Recursos para mídia streaming
Para o trabalho com vídeos e áudios, principalmente essas duas entidades multimídia, estude:
- VideoView no Android, Entendendo e Utilizando;
- VideoView Com Vídeo Interno a APP Android;
- MediaPlayer no Android, Entendendo e Utilizando;
- Metadados com MediaMetadataRetriever no Android;
- TextToSpeech: Fazendo Sua APP Android Falar.
Recursos do Material Design
Abaixo segue a lista com os componentes de layout comumente utilizados em aplicativos Android.
📡 Importante informar: apesar das numerações nos títulos dos artigos da lista a seguir, você deve focar somente no aprendizado do conteúdo central apresentado no artigo em estudo. Isso, pois não levei em consideração as ordens das PlayLists do canal do Blog, tendo em mente que a ordem deste artigo de listagem de estudos é que é a correta.
Segue lista:
- Material Design (caso você tenha se esquecido deste conteúdo já indicado em uma das primeiras listas);
- Toolbar, Material Design Android - Parte 1;
- RecyclerView, Material Design Android - Parte 2;
- Animação, onLongPress e GridLayoutManager em RecyclerView, Material Design Android - Parte 3;
- Utilizando CardView, Material Design Android - Parte 4;
- Utilizando NavigationDrawer, Material Design Android - Parte 5:
- 💡 No conteúdo do artigo do link acima é muito importante que você entre também na página da library utilizada no vídeo, digo, a página da library no GitHub (vai ter o link no texto do artigo), pois a nova versão da MaterialDrawer library teve atualizações consideráveis em termos de sintaxe.
- Material Dialog, Correção Bug StatusBar e Ações nos Fragments. Material Design Android - Parte 7;
- Sliding Tabs Toolbar, Material Design Android - Parte 8;
- SwipeRefreshLayout e Snackbar, Material Design Android - Parte 9;
- Design Support Library e CollapsingToolbarLayout, Material Design Android - Parte 11;
- Buscas Com SearchView e SearchRecentSuggestions. Material Design Android - Parte 13;
- AppWidget. Material Design Android - Parte 14;
- Date e Time PickerDialog. Material Design Android - Parte 16;
- ContextMenu no RecyclerView. Material Design Android - Parte 17;
- Utilizando BottomSheet Material Design no Android;
- BottomNavigationView Android, Como e Quando Utilizar;
- Chips Android, Quando e Como Utilizar;
- TextInputLayout e Envio de Email no Android com PHPMailer e AWS SES:
- Dê foco somente ao componente TextInputLayout, não se preocupe com o conteúdo de rede e envio de email contido no artigo do link acima, pois o contexto destes é outro e não atrapalha no entendimento sobre o TextInputLayout.
Animação
As animações estão hoje entre os recursos mais comuns nos aplicativos Android, principalmente devido à boa aceitação dos usuários quando os apps vêm com detalhes animados.
A lista abaixo tem os principais conteúdos, discutidos aqui no Blog, sobre animação no Android:
- Lottie API Para Animações no Android;
- ObjectAnimator no Android, Aplicando Efeitos nos Componentes Visuais;
- Colocando Telas de Introdução em Seu Aplicativo Android.
Seu Web site como aplicativo
Para a rápida adoção do mercado mobile sem necessidade de ser um expert em desenvolvimento Android, para isso há inúmeros recursos que permitem fazer com que um Web site também rode como aplicativo Android nativo:
- WebView no Android, Entendendo e Utilizando:
- Mesmo que eu tenha falado no artigo do link acima que o WebView é somente para aqueles que não querem programar com o Java API (se me lembro bem, falei isso), não se engane com o potencial deste componente. Com o passar do tempo, percebi que muitos programadores que já trabalham com Android via Java API ainda utilizam o WebView para as Activities de, por exemplo, "Entrar em contato", disponibilizando o mesmo formulário de contatos que tem na versão Web do app.
- Integrando WebView Android Com JavaScript de Uma WebPage;
- Monitoramento de Inicio e Fim de Carregamento de Página no WebView;
- Facilitando o Desenvolvimento de Apps Android Com a Biblioteca AndroidUtilCode.
Persistência local
Abaixo a lista de conteúdos para o aplicativo Android ser capaz também de trabalhar 💾 offline (ou somente offline, caso não tenha recursos remotos vinculados):
- SharedPreferences no Android, Entendendo e Utilizando:
- 💡 Recomendo também um conteúdo sobre uma API que facilita o trabalho com o SharedPreferences: Segurança e Persistência Android com a Biblioteca Hawk. Apesar de o projeto Android estar em Kotlin, a API é passível de ser utilizada com Java.
- SQLite no Android, Entendendo e Utilizando;
- ORMLite no Android, Entendendo e Utilizando;
- Persistência de Dados Com Realm no Android - Parte 1:
- O conteúdo sobre o Realm é completamente opcional, mas vale conhece-lo, principalmente devido a alta velocidade para gravar e recuperar objetos.
- Persistência de Dados Com Realm no Android - Parte 2;
- Persistência de Dados Com Realm no Android - Parte 3;
- Persistência de Dados Com Realm no Android - Parte 4;
- Persistência de Dados Com Realm no Android - Parte 5;
- Migração de Dados. Realm Library no Android - Parte 6;
- Iniciando Base Realm Com Dados JSON - Parte 7.
Recursos de rede
Outro conteúdo importante no desenvolvimento Android é sobre o assunto: conexão com recursos remotos, mais precisamente, recursos na Web 🕸. Seguem artigos:
- Carregamento e Cache de Imagem Com Universal Image Loader no Android;
- Lib Fresco Para Carregamento de Imagens (com GIFs e WebPs Animados). Material Design Android - Parte 12:
- Ignore o contexto do artigo acima e foque apenas no entendimento de como configurar e utilizar a API Fresco.
- Parser JSON no Android, Entendendo e Utilizando;
- Library Retrofit 2 no Android;
- AsyncTask no Android, Acesso a Thread Principal de Forma Otimizada:
- Apesar de eu utilizar o Retrofit para quase todas as necessidades de rede, vejo que muitos programadores preferem ainda o AsyncTask, que é um outro excelente recurso.
- Input File no WebView Android:
- Apesar do artigo acima referenciar um problema específico no WebView, vi ele como sendo também um conteúdo de rede, pois o problema em si é sobre envio de dados na rede (solucionado também com o Retrofit).
- Volley, Gson e RetryPolicy em Material Design Android Série APP:
- A API Volley foi colocada aqui somente devido ao uso dela no artigo do próximo link, relativo ao ListView, pois sempre indico o Retrofit ante ao Volley, este último não mais é mantido.
- Carregando Dados no ListView Com OnScrollListener e Volley no Android.
Recursos de comunicação interna e APIs para melhorias de funcionalidades
Abaixo a lista de artigos com alguns recursos e APIs que vão permitir que você deixe seus aplicativos Android ainda mais sofisticados em relação ao que já construiu com os conteúdos apresentados nas listas anteriores:
- EventBus Lib, Comunicação Entre Entidades Android:
- Não deixe de acessar a página da library, página que é indicada no conteúdo do link acima. Recomendo isso, pois a API passou por evoluções.
- Como Utilizar o LocalBroadcastManager Para Comunicação no Android:
- 💡 Esta é a API que recomendo ante ao uso do EventBus, pois permiti as mesmas funcionalidades e é uma entidade interna ao Android, não haverá necessidade de referências externas como no caso do EventBus, apesar de exigir um pouco mais de código.
- 3 Estratégias Para Informar Sobre Uma Nova Versão de Seu Aplicativo Android;
- DialogFragment no Android, Entendendo e Utilizando;
- ExpandableListView no Android, Entendendo e Utilizando;
- AutoCompleteTextView no Android, Entendendo e Utilizando;
- Box de Informação Com PopupWindow no Android;
- Construindo View Personalizada no Android;
- Slides no Android Com a Lib AndroidImageSlider;
- TextJustify Lib Com SpannableString no Android;
- Linkify no Android, Entendendo e Utilizando;
- Como Utilizar Spannable no Android Para Customizar Strings;
- Fonts Personalizadas no Android Com a Classe Typeface;
- Fontes em XML, Android O. Configuração e Uso:
- Tanto o conteúdo do link acima como os dos próximos links estão com projetos desenvolvidos em Kotlin, mas todas as APIs utilizadas são também passíveis de trabalho com o Java.
- Definindo Fontes em Trechos Não Triviais do Android;
- Ajuste de Texto com Autosizing TextView - Android Jetpack.
Alertas, notificações e mensagens push
Abaixo os artigos para que você aumente o engajamento em seu aplicativo. Alertas internos e 🛎 notificações no aparelho Android:
- AlarmManager no Android, Sua APP Executando Em Tempos Definidos;
- JobScheduler API no Android, Entendendo e Utilizando;
- GCMNetworkManager Para Execução de Tarefas no Background Android;
- FCM Android - Domínio do Problema, Implementação e Testes Com Servidor de Aplicativo [Parte 1];
- FCM Android - Relatório e Notificação Por Tópicos [Parte 2];
- FCM Android - Notificação Personalizada com NotificationCompat [Parte 3];
- OneSignal Para Notificações em Massa no Android:
- Se não precisa identificar, via código backend Web, quem são os usuários que devem receber a notificação, utilize o OneSignal, tem a configuração simples e é fácil de utilizar.
- Notificação de Engajamento Pelo Firebase Console - Parte 12.
Compartilhamento
Abaixo o artigo que permite a fácil disseminação de seu aplicativo por meio de compartilhamentos de conteúdos internos a ele:
Monetização
Conteúdos sobre 💰 monetização são importantes, principalmente quando há dicas de como utilizar, por exemplo, mais de uma API de anúncio no mesmo aplicativo. Segue lista:
- Vendendo Produtos e Inscrições Com Google In-App Billing no Android:
- Se me lembro bem, no vídeo falo sobre o absurdo que é o Google ficar com 30% dos valores praticados não somente com o In-App Billing, mas também com os APPs pagos na Play Store. Na verdade esse valor é retido para pagamento de taxas que o Google tem de fazer, ou seja, nenhuma fatia desses 30% fica com a empresa do famoso buscador.
- Checkout Transparente da Web no Android:
- Note que o uso de alguma API Web de checkout transparente no Android somente pode ocorrer para produtos físicos. Para liberação de funcionalidades e outros "apetrechos digitais" do aplicativo, somente pode ser utilizado o In-App Billing, respeitando assim os termos e condições de uso do Google Android.
- Monetização Eficiente no Android com APPODEAL;
- Estratégia de Anúncios com In Loco Media no Android;
- Appnext para Monetizar sua APP Android;
- Como Também Monetizar Usuários Inativos de Seu Aplicativo Android.
Otimização de performance
Abaixo alguns artigos um pouco mais avançados que os anteriores, porém com conteúdos fundamentais para a 📈 melhoria dos aplicativos Android.
Tenha mente que otimização em APPs Android é um assunto importante principalmente devido a limitação de recursos que temos nos aparelhos mobile. Segue lista:
- Proguard Android;
- Lint Tool Para Alta Performance em APPs Android;
- Tags Merge e ViewStub Para Otimizar Sua APP Android;
- Injeção de Dependência Com a lib Dagger 2 no Android;
- AndroidAnnotations, Entendendo e Utilizando;
- Trabalhando Análise Qualitativa em seu Aplicativo Android;
- Live Templates Para Otimização de Tempo no Android Studio.
Padrão e API de arquitetura
A maneira como o código é escrito e suas camadas divididas são outros dois pontos importantes para a qualidade de um aplicativo:
- MVP Android;
- ViewModel Android, Como Utilizar Este Componente de Arquitetura:
- O conteúdo do artigo acima (e dos três artigos abaixo) está em Kotlin, mas todas as APIs em uso podem seguramente ser utilizadas também com o Java.
- Data Binding Para Vinculo de Dados na UI Android;
- Observable Binding Para Atualização na UI Android;
- Como Utilizar Métodos Binding Adapter no Android.
Padrões e técnicas para desenvolvimento
Abaixo uma série de conteúdos abordados no Blog sobre padrões de projeto, de implementação, refatoração e técnicas de código limpo:
- KISS - Mantenha Isso Estupidamente Simples;
- Engenharia de Software: Código Limpo na Prática;
- Refatoração de Código: Substituir Construtores Por Métodos de Criação;
- Refatoração de Código: Encadear Construtores;
- Padrão de Projeto: Simple Factory;
- Padrão de Projeto: Factory Method;
- Padrão de Projeto: Abstract Factory;
- Refatoração de Código: Encapsular Classes Com Factory;
- Refatoração de Código: Introduzir Criação Polimórfica com Factory Method;
- Padrão de Projeto: Strategy (Estratégia);
- Refatoração de Código: Substituir Lógica Condicional Por Strategy;
- Padrão de Projeto: Template Method (Método Template);
- Refatoração de Código: Formar Template Method;
- Padrão de Projeto: Cláusula de Guarda;
- Refatoração de Código: Compor Method;
- Refatoração de Código: Mover Acumulação Para Parâmetro Coletor;
- Padrão de Projeto: Adapter;
- Refatoração de Código: Extrair Adapter;
- Refatoração de Código: Unificar Interfaces Com Adapter;
- Refatoração de Código: Substituir Código de Tipo Por Classe;
- Padrão de Projeto: State (Estado);
- Padrão de Projeto: Objeto Nulo;
- Refatoração de Código: Introduzir Objeto Nulo;
- Padrão de Projeto: Singleton;
- Refatoração de Código: Internalizar Singleton;
- Refatoração de Código: Limitar Instanciação Com Singleton;
- Padrão de Projeto: Observer;
- Padrão de Projeto: Decorator (Decorador);
- Refatoração de Código: Mover Embelezamento Para Decorator;
- Refatoração de Código: Unificar Interfaces;
- Refatoração de Código: Extrair Parâmetro;
- Refatoração de Código: Mover Conhecimento de Criação Para Factory.
APIs de mídias sociais
Nos conteúdos indicados a seguir, muitas APIs de mídias sociais estão dentro de contextos que são independentes ao entendimento delas, logo, seguramente assista, ou leia, somente até a configuração final da API em estudo. Segue lista:
- Facebook Login, Firebase Android - Parte 5;
- Google SignIn API, Firebase Android - Parte 6;
- Twitter Login (Fabric), Firebase Android - Parte 7;
- GitHub Login, Firebase Android - Parte 9;
- LinkedIn Login com SocialAuth Library no Android:
- 💡 Para utilizar a SocialAuth API não deixe de referenciar a versão mais atual, indicada na página dela no GitHub: socialauth-android.
- API do YouTube na APP Android, Iniciando:
- 💡 Coloquei o conteúdo sobre a API do YouTube aqui, pois sei da importância dessa API caso você tenha vídeos em seu aplicativo. Mas também sei que parte da sintaxe da versão da API abordada no vídeo não é mais válida, logo, não deixe de acessar a página oficial dela em: YouTube Android Player API.
Geolocalização
Para aqueles que utilizam recursos de 🗺 mapa e geolocalização em seus aplicativos, abaixo alguns conteúdos importantes para estudo:
- Utilizando Intenções Para Mapas de Alta Qualidade no Android;
- Google Maps V2 no Android, Inicio e Configuração:
- 💡 Não deixe de acessar a nova versão da API de Maps no Android: Google Maps Android API.
- GoogleMap e CameraPosition no Android, Entendendo e Utilizando;
- Markers e Listeners no Google Maps Android;
- Polyline, Geocoder e Distância no Google Maps Android;
- Obtendo e Apresentando Rotas no Google Maps Android V2;
- GPS, Triangulação de Antenas e LocationSource no Android;
- Obtendo Localização Com Location API no Android - Parte 1;
- Location API no Android, Atualização de Localização - Parte 2;
- Obtendo Endereços Com Geocoder em Location API Android - Parte 3;
- Tracking Com Location API, JobScheduler e Google Maps V2 no Android - Parte 4:
- Apesar da apresentação do JobScheduler no conteúdo do link acima, recomendo o uso do GcmNetworkManager, pois ele é bem mais simples e eficaz em versões do Android abaixo da API 21.
- Busca Por Locais Próximos, Location API Android - Parte 5;
- Iniciando com Mapbox Android SDK - Parte 1:
- O MapBox, mesmo sendo um recurso pago, vale muito a pena conhecer.
- Customização Com Mapbox Studio, Android - Parte 2.
Apesar de ter aqui no Blog conteúdos sobre o OpenStreetMap, não o coloquei acima, pois eu mesmo não o utilizo, mas caso não queira pagar a Business License do Google para poder utilizar o Android Maps comercialmente, você encontrará os vídeos do OpenStreetMap, ordenados corretamente, na Play List a seguir: Geolocalização no Android.
Conteúdos específicos de domínio do problema
Alguns recursos extras que podem ser de grande utilidade em seu aplicativo Android:
- Como Implementar o Account Kit Login em Seu Aplicativo Android;
- Como Construir Aplicativos Android Com HTML e JSOUP;
- Como Colocar Notificações Bolha em Seu Aplicativo Android;
- API de Endereços Para Pré-Cadastro em APPs Android - Parte 1;
- API de Endereços Para Pré-Cadastro em APPs Android - Parte 2;
- Chronometer no Android, Entendendo e Utilizando;
- Contagem Regressiva no Android com CountDownTimer;
- True Time API Para Data e Horário NTP no Android;
- Leitor de Códigos no Android com Barcode Scanner API - ZXing;
- Integrando o Leitor de QRCode ZXing no Android:
- 💡 Old! Coloquei aqui mais para você ir direto as libraries mais atuais em: ZXing no Android Arsenal.
- Vibrator e HapticFeedback no Android, Entendendo e Utilizando;
- Parser RSS / Atom com a lib Rome no Android:
- 💡 Para este artigo, não deixe também de visitar as libraries RSS do Android Arsenal.
- Drag e Drop no Android, Entendendo e Utilizando;
- Edição de Imagem no Android Com Adobe Creative SDK:
- 💡 A library do conteúdo do link acima sofreu algumas alterações, então não deixe de ler os comentários no artigo e na página do vídeo no YouTube, além de acessar a documentação do Creative SDK.
- Persistência Com Firebase Android - Parte 1:
- Para que você saiba que não precisa de uma infraestrutura "backend convencional" somente para ter dados compartilhados, remotamente, com uma boa qualidade.💡 Também sobre o conteúdo do Firebase, não deixe de acessar o tutorial de migração de código em: Upgrade your Android app from Firebase.com. Isso, pois enquanto eu construía a Play List do Firebase no canal do Blog, no Google I/O 2016 foram anunciadas várias mudanças para este conjunto de APIs.
- PDF no Android:
- O projeto Android do conteúdo acima está em Kotlin, porém as APIs em uso são passíveis de serem utilizadas também com o Java.
Estudo do Kotlin
A seguir alguns conteúdos, introdutórios, que têm como foco a linguagem Kotlin:
- Kotlin Android, Entendendo e Primeiro Projeto;
- Iniciando com Anko Kotlin. Intenções no Android;
- Como Utilizar os Operadores IN e Elvis e a API Parcelable no Kotlin Android.
Note que há inúmeros outros conteúdos do Blog em Kotlin, nesta seção colocamos somente aqueles que têm foco na linguagem.
Slides
Abaixo os slides com todo o conteúdo anterior, porém de maneira mais enxuta:
Conclusão
Como informado no início do artigo: somente conteúdos do Blog. Digo, a maioria. Outras referências foram inevitáveis para que você depois não perdesse horas tentando descobrir os problemas dos projetos de exemplo.
Com o estudo dos conteúdos listados anteriormente, você poderá seguir com suas "próprias pernas" no mundo do desenvolvimento de aplicativos Android.
Além deste Blog e do Canal no YouTube, outros links que recomendo você acompanhar estão listados no artigo a seguir: Sites, Canais e Blogs Gringos Para Estudar Desenvolvimento Android.
E também nunca descarte a opção de primeiro buscar conteúdos na documentação do Android: Android Developers. Alguns dos conteúdos da documentação já estão em português.
Note que aqui não tem todos os artigos publicados no Blog referentes ao dev Android. Para acesso a todos, de forma não ordenada, entre no link a seguir: Android Blog Thiengo Calopsita.
Qualquer dúvida ou sugestão, deixe nos comentários logo abaixo. Este artigo (as listas) poderá (e será) atualizado de acordo com os novos conteúdos disponibilizados no Blog.
E... não deixe de 📪 se inscrever na lista de emails do Blog, e 📝 confirmar sua inscrição, para 📦 receber em primeira mão os conteúdos exclusivos sobre o desenvolvimento Android.
Abraço.
Comentários Facebook