O incrível projeto WanAndroid é baseado em Material Design + MVP + Rxjava2 + Retrofit + Dagger2 + GreenDao + Glide
Este é um aplicativo de aprendizado de tecnologia que fará você se sentir muito bem. A tecnologia usada cobre basicamente as principais estruturas de tecnologia comumente usadas no desenvolvimento Android atual. Além disso, estou trabalhando em um novo plano avançado para Android, dedicado a me tornar um desenvolvedor Android melhor. Amigos interessados podem consultá-lo ~.
O Android Studio avisa que faltam as classes geradas pelo Dagger. Você pode compilar o projeto diretamente e ele será gerado automaticamente pelo Dagger2.
Ainda existem algumas imperfeições neste projeto. Se você encontrar algum bug, sinta-se à vontade para enviar um e-mail ([email protected]) ou PR.
As APIs do projeto são todas do site WanAndroid. Elas são puramente para aprendizado compartilhado e não podem ser usadas para fins comerciais! ! Se você tiver alguma dúvida ou sugestão, entre em contato com [email protected]
O código do projeto tenta ao máximo seguir as especificações de desenvolvimento do Alibaba Java e as especificações de desenvolvimento do Alibaba Android e tem bons comentários.
Use Rxjava2 combinado com Retrofit2 para fazer solicitações de rede.
Use operadores Rxjava2 para converter, atrasar, filtrar e outras operações no fluxo de eventos Use o operador Compose em combinação com a classe de ferramenta RxUtils para simplificar o número de códigos para chamadas de troca de thread.
Use Dagger2 combinado com Dagger.Android para injetar o Modelo no Presenter e o Presenter na Visualização sem acoplamento, realizando o padrão MVP com mais eficiência.
BasePresenter é usado para integrar o ciclo de vida de assinaturas de fluxo de eventos.
Use a barra de ferramentas da coleção Behavior no Material Design para implementar o efeito especial responsivo "para cima e para baixo".
Botões flutuantes que deslizam para cima são usados em muitos lugares para melhorar a conveniência da leitura.
Use a rica animação de atualização do SmartRefreshLayout para elevar a beleza do projeto a um novo nível.
Tencent Bugly é usado para corrigir bugs e CI no projeto.
Animações deslumbrantes e efeitos especiais são usados em muitos lugares do projeto.
Testes unitários de alta cobertura e alguns testes de UI.
Clone este projeto para ver mais. . .
Consulte Análise incrível da fonte da terceira biblioteca
1. Substitua globalmente o campo de esquema do URL de solicitação por https
2. Resolva os bugs do problema
1. Adicionada uma nova coluna de conta oficial para oferecer suporte à pesquisa na conta oficial
2. Resolva bugs no Bugly
1. Adapte-se à versão Android O
2. Resolva bugs no Bugly
1. Adicionado teste de unidade da camada Presenter e teste automatizado de UI de algumas camadas View
2. Resolva o bug de que o status de login se tornará inválido após um período de tempo
3. Realize refatoração apropriada em pequena escala
4. Resolva o bug de compatibilidade do Bugly
1. Adicione dagger.android
2. Use config.gradle para gerenciar uniformemente as dependências do gradle
3. Encapsular o processamento de assinatura RxBinding
4. Adicionar processamento de adaptação de elemento compartilhado
5. Use o Compose para adicionar processamento unificado de resultados de retorno
6. Adicione memória Glide, bitmapPool, configuração de diskCache
7. Otimize a lógica de exibição do carregamento da página de erro
8. Otimize a interface de registro
9. Otimize o efeito de exibição imersivo da barra de status
10.Atualize a versão Gradle para 3.0.1
1. Adicionar módulo de configuração
2. Interfaces de sites comuns separadas
3. Adicione vários rótulos de itens
4. Embeleze o menu da interface de detalhes
5. Adicionar animação de salto ActivityOption
6. Resolva mais de 90% dos vazamentos de memória
1. Adicione gerenciamento de assinatura RxBus para resolver o problema de vazamento de memória RxBus
2. Resolva o problema de que o Webview às vezes não pode ser carregado.
3. Adicione RxPermission para lidar com problemas de permissão do Android 6.0
4. A classe base de resposta base é genérica, reduzindo uma grande quantidade de código de entidade
5. Adicionar página de detalhes de navegação de classificação de conhecimento
6. Registros de pesquisa adicionados e excluídos na página de pesquisa e a interface da IU fica mais bonita.
7. Embelezamento geral da IU do projeto
1. Racionalizar a estrutura de subcontratação do projeto
2. Otimize o módulo de pesquisa
3. Adicione login automático
4. Adicionar ligação inteligente TabLayout RecyclerView
5. Adicione uma barra de status envolvente
6. Otimize o estilo do menu detalhado do artigo
7. Embelezamento geral da IU do projeto
1.Envie a primeira versão do Awesome WanAndroid
API WanAndroid fornecida por Hongyang
GeekNews fornece as ideias arquitetônicas de Dagger2 e MVP
Ideias de implementação de efeitos especiais MD fornecidas por Toutiao
Ideias de implementação para botões flutuantes deslizantes inteligentes fornecidas por diycode
Ideias para implementar efeitos especiais de troca de interface de pesquisa fornecidas por Eyepetizer-in-Kotlin
Além disso, também me referi a muitos projetos de pessoas de destaque no país e no exterior. Obrigado pelo código aberto!
Petal fornece um belo design de interface de UI, obrigado Petal
O grande recurso de ícones do iconfont Alibaba aberto ao mundo exterior
Rxjava
RxAndroid
RxBinding
Reforma
OkHttp
Gson
Deslizar
Adaga2
Faca de Manteiga
GreenDao
SmartRefreshLayout
Lottie-android
Hoje em dia, a indústria Android está gradualmente saturada de talentos, mas os talentos seniores ainda são escassos. O que frequentemente encontramos é que existem apenas 2 ou 3 candidatos adequados em 100 currículos, e a maioria deles está cansada dos negócios. dedicam tempo para estudar muito, ou não sabiam o que aprender para melhorar suas habilidades. Para desenvolvedores Android, é muito importante estabelecer uma estrutura completa de conhecimento do Android o mais cedo possível, compreender os pontos comuns de conhecimento de teste que aparecem com frequência nos principais fabricantes e dominar as habilidades de entrevista.
No ano passado, para entrar em uma fábrica de primeiro nível para fazer coisas mais desafiadoras e obter um salário mais alto, preparei-me com meio ano de antecedência e compilei um conjunto de perguntas de entrevista sistemáticas e de alta qualidade que "afiaram minha espada para dois anos" . Há meio ano venho conduzindo entrevistas continuamente e entrevistei no total Após cada entrevista em vinte ou trinta empresas, resumi sistematicamente as perguntas correspondentes da entrevista e as respostas detalhadas, e as atualizei em meus projetos de entrevista. Agora, em cada módulo, as perguntas mais frequentes sobre frequência ultra-alta e alta frequência foram cuidadosamente compiladas. . Pontos de conhecimento.
No ano passado, otimizei gradativamente o conteúdo original e adicionei muitos conteúdos novos durante minha revisão de entrevistas práticas com grandes empresas. Pode-se dizer que é um resumo da essência das entrevistas em empresas de Internet de primeiro nível. Ao mesmo tempo, também incluirá conteúdo sobre como redigir um currículo e habilidades para entrevistas. para entrevistas e reduz bastante a dificuldade de encontrar um bom emprego.
Este projeto de entrevista é diferente do projeto de entrevista Awesome-Android-Interview em meu Github: https://github.com/JsonChao/Awesome-Android-Interview foi descontinuado há 2 anos (na atualização de outubro de 2020). , o conteúdo está ligeiramente desatualizado, há muitos pontos nele que não são expressos com rigor e o teor geral de ouro é baixo. O banco de perguntas da entrevista que quero compartilhar hoje é uma pergunta de entrevista sistemática e de alta qualidade que resumi, refinei e acumulei continuamente nos últimos dois anos. Muitas das questões centrais nele foram repetidamente corrigidas e corrigidas sob pressão. de entrevistas. Sublimação, teor de ouro extremamente alto.
Antes de compartilhar, uma coisa a observar é que você não deve vazar a informação! Se você pensar bem, entenderá:
1. Se você está exposto e as pessoas que entendem isso entendem mais rápido do que você, entram em uma grande fábrica mais cedo e recebem um salário alto, suas chances de entrar em uma grande fábrica serão menores. Afinal, existem tantas empresas boas. agora, e toda cenoura é uma armadilha.
2. A versão simples do banco de perguntas da entrevista Awesome-Android-Interview que compartilhei publicamente há dois anos ainda é usada como material de drenagem por várias instituições de treinamento, o que aumentou a atual involução do Android. .
Então, isso deve ser lembrado.
Como obter: Digitalize o código QR abaixo.
Esta é uma proposta que venho pesquisando há sete anos. Em primeiro lugar, eu estava pesquisando por conta própria, porque vim de uma cidade pequena e me estabeleci em Shenzhen através de contra-ataques contínuos. Quanto mais comum uma pessoa vem, mais paciência ela precisa para fazer melhorias sistemáticas e abrangentes. Nesse sentido, tenho experiência prática e metodologia muito ricas . Portanto, iniciei a comunidade de crescimento "JsonChao", na esperança de concluir uma transformação sistemática com você.
Minha conta pública JsonChao
foi aberta, com foco na construção de um sistema de conhecimento necessário para o desenvolvimento futuro do Android. Enviaremos artigos de alta qualidade todos os dias úteis para que você possa aumentar seu conhecimento todos os dias. Se você deseja obter os artigos e atualizações mais recentes o mais rápido possível, digitalize e siga ~
Direitos autorais 2018 JsonChao
Licenciado sob a Licença Apache, Versão 2.0 (a "Licença"); você não pode usar este arquivo, exceto em conformidade com a Licença. Você pode obter uma cópia da Licença em.
http://www.apache.org/licenses/LICENSE-2.0
A menos que exigido pela lei aplicável ou acordado por escrito, o software distribuído sob a Licença é distribuído "COMO ESTÁ", SEM GARANTIAS OU CONDIÇÕES DE QUALQUER TIPO, expressas ou implícitas. Consulte a Licença para o idioma específico que rege as permissões e limitações. sob a Licença.