Caso ainda não, então coloque-o como na seção "Lista principal, contendo categorias de calçados" deste artigo.
Boa tarde professor, fiz uma pergunta mandei o código, mas esqueci de dizer em qual parte tá dando ERRO
E por fim certifique-se de que em /res/layout/nav_menu.xml (até a última versão deste layout em artigo) tem também um RecyclerView com o atributo android:id="@+id/rv_menu_items".
Professor Vinícius Thiengo, só tenho lhe agradecer pelo perfeito trabalho, espero 1 dia ter esse seu raciocínio.
Primeiro, garanta que a sua versão do aplicativo esteja utilizando o AndroidX ao invés da Support Library.
Depois, certifique-se de que todas as APIs vinculadas ao projeto estão com a sua última versão estável delas sendo referenciadas.
Você também pode dar uma olhada nas respostas do Stack a seguir: https://stackoverflow.com/questions/35890257/android-errorexecution-failed-for-task-apptransformclasseswithdexforrelease
Estou começando agora e instalei o mais recente android studio 3.5 com sdk para android 10. Ao criar o projeto ele automaticamente cria os recursos em androidx com fragments e não consigo reproduzir as aulas do youtube corretamente.
O MainActivity.kt aparece com "fab" e "Snackbar" e outros métodos que não constam nas aulas, ao tentar excluir os layouts dos fragments aparece mensagem que não é seguro deletar.
Haveria a possibilidade de produzir um artigo ou uma aula sobre essa recente atualização? e, se possível, como poderíamos "ajustar" o projeto atual?
Jean, mas isso não deve lhe atrapalhar, pois a sintaxe de uso das APIs, exceto nos layouts XML, será a mesma.
Sobre o aviso do Android Studio, isso é apenas o LINT "enchendo o saco". Siga o passo a passo das aulas, sem deixar de também assistir aos vídeos delas, que o projeto será desenvolvido como esperado. Siga já com o AndroidX.
Muito bom. Consegui deletar e completar a primeira aula. Li a aula 14 e já comecei a entender as alterações. Aprendendo muito agora.
Boa tarde Vinícius, estou com um problema no seguinte trecho de código. Já pesquisei e não achei o erro.
Acontece que os métodos setHasFixedSize, layoutManager e adapter não são encontrados, já verifiquei a class RecicleView importada android.support.v7.widget.RecyclerView, e mesmo assim os métodos não são encontrados. Poderia me dar uma luz? Att.: Rafael Queiroz
Se possível, confirme se a sua versão de compileSdkVersion é a 28. Você consegue verificar isso no Gradle Nível de Aplicativo, build.gradle (Module: app), de sua versão de projeto.
Não precisa migrar o projeto para o Android X agora, pode seguir como ele está, pois essa migração você fará na aula 14 do projeto.
De qualquer forma, vou deixar aqui o link da versão atual do Gradle Nível de Aplicativo do projeto BlueShoes. Novamente, ignore, por agora, a configuração do Android X:
Depois de um tempo eu vi que já estava com a versão atualizada e no layout estava fazendo referência a android.support.v7.widget.RecyclerView, justamente o que você mencionou acima, foi só atualizar para
Tenho uma duvida quanto ao tamanho das imagens, por exemplo resolvi criar uma imagem para acompanhar o projeto e ao reduzir o tamanho de 960x1600 para 640x960 o valor da altura esta variando um pouco e nao fica com 960 no ponto vai para 1067, se eu forçar da uma distorção e nao fica legal, então eu queria saber se eu posso deixar assim? e se deixar posso ter problemas na resolucao depois? por causa da variação acabando numero impar
Na verdade você pode utilizar qualquer tamanho para a imagem de background, pode até mesmo fornecer somente uma imagem (o que se espera é uma imagem para todas as quatro principais versões do folder drawable).
O que vai acontecer neste caso é a falta de qualidade, distorção de imagem, em muitos aparelhos Android. Certamente os usuários e cliente notarão o problema, algo que vai soar pouco profissional para você.
Minha recomendação é que você tenha a imagem de background de app (ou de atividade ou de fragmento) nos seguintes folders com os seguintes tamanhos:
Ele deve estar como no link acima. Caso já esteja, volte aqui que assim vou lhe passar outra solução.
Boa noite professor, qual é a sequência do curso, terminei a primeira parte, onde acho a segunda parte do curso? Muito obrigado pela atenção!
Não consegui compreender o porque de se usar o SelectionTracker. Todo menu precisa necessariamente implementá-lo? Ou apenas neste projeto, para atender uma regra de negócio específico deste app. Num app normal, com menu, necessariamente precisarei implementar o SelectionTracker? Pelo que entendi, é para que a opção selecionada esteja destacada ao navegar pelo app, para dizer ao usuário que você está naquela sessão (exemplo, chinelos). Poderia esclarecer melhor o uso desta API?
Primeiro é importante saber que o menu gaveta do projeto tem uma configuração que não é atendida por um NavigationView ou de maneira simples por um ListView ou qualquer outro framework de lista no Android.
Foi escolhido o RecyclerView como framework de lista para o menu gaveta, pois este é o framework Android mais eficiente, mesmo que a codificação dele seja maior do que a dos demais.
Porém o RecyclerView não teve, até o momento da criação da SelectioTracker API, uma interface de seleção de itens, nós desenvolvedores tínhamos de criar todo um algoritmo para conseguir isso.
Infelizmente a SelectionTracker API não é tão simples devido a quantidade de código boilerplate necessário. Porém é a melhor maneira, em nosso domínio de problema, para manter a seleção e sincronia de itens selecionados entre os dois RecyclerViews que estão sendo utilizados no menu gaveta.
Resumo: a SelectionTracker API é apenas uma API exclusiva para permitir a seleção de um ou mais itens em RecyclerView. Mas não é sempre necessário o uso dela, principalmente quando não estamos utilizando o RecyclerView.
Janes, essa é uma API importante para programadores Android. Tenho um conteúdo completo sobre ela, incluindo vídeos, no link a seguir:
Outra observação professor, na activity_main tu chama esse cara app:menu="@menu/activity_main_drawer" mas dentro dele esta as configurações de criação do app como e onde foi trocada esse xml, pois não encontrei até agora, ou eu que estou errando em algum passo que o senhor explica, desde ja agradeço por sua atenção!
O arquivo activity_main_drawer.xml é um dos arquivos excluídos ao final do artigo, mas provavelmente, em vídeo, eu não realizei esse passo.
A exclusão deste arquivo, em "Removendo o que não é necessário" no artigo acima, é porque ele não mais é útil ao projeto.
Essa parte eu vou adicionar ao artigo, percebi agora que eu não coloquei ela, por isso os erros de execução.
Quando eu tiro essa declaração "initNavMenu(savedInstanceState)" do Oncreate o aplicativo executa porém não carrega os itens corretamente no menu Gaveta os itens corretamente. E se deixo essa declaração deste método da erro. O que poderia ser? Se puder me ajudar agradeço pois ja visualizei as 21 aulas 2x e ainda não consegui encontrar o erro, ai diz que esse cara rl_header_user_not_logged não pode ser nulo em qual momento isso poderia acontecer?
Só uma observação professor, o nome dos links estão iguais, porém o nome do arquivo no GitHub está correto, desde ja agradeço o senhor disponibilizar seu precioso tempo para nos ensinar, muito obrigado mesmo e que seu DEUS continue lhe abençoando grandiosamente!
Estudando e pensando quando terei tudo isso que tu tens na mente, fico impressionado com tanto conhecimento, meus parabéns pelos dias, horas e meses de estudos até chegar onde chegou, sem dizer as noites de sono perdido, mais uma vez meus parabéns!