ANDROID FRAGMENTS: EXPLICADO - DEEP CODE #1

แชร์
ฝัง
  • เผยแพร่เมื่อ 13 ก.ย. 2024
  • Quer entender como funciona fragments no Android? Então esse tutorial é para você. Aprenda os fundamentos dos Fragments vs Activity e como usar Fragments no Android.
    Me siga: ads.tiagoaguia...
    Compartilhe o video: • ANDROID FRAGMENTS: EXP...
    Código-fonte: ads.tiagoaguia...
    Criando o Chat Messenger Android
    • FIREBASE CHAT ANDROID ...
    Java - Dominando a RecyclerView Playlist
    • DOMINANDO RECYCLERVIEW...
    Kotlin - Dominando a RecyclerView Playlist
    • ANDROID: DOMINANDO REC...
    Produtividade no Android Studio - Android Espartano
    • Video
    Criando o NewsFeed do Facebook Android
    • ANDROID: CRIANDO O FAC...
    #android #kotlin
    O que você aprenderá por aqui:
    Android Fragments Tutorial
    Android Fragments Kotlin
    Android Fragments vs Activity
    O que são fragments no Android?
    Android Fragments Back Stack

ความคิดเห็น • 54

  • @alexmota-dev
    @alexmota-dev 11 หลายเดือนก่อน +1

    Aula top meu amigo, 3 anos depois que se gravou e eu aqui aprendendo a usar fragments pro meu estagio, obrigado amigo 😆

  • @andreramos3290
    @andreramos3290 ปีที่แล้ว

    muito bom!

    • @TiagoAguiar
      @TiagoAguiar  ปีที่แล้ว

      Valeu André.
      Se inscreve no canal caso ainda não tenha inscrito pra ajudar no trabalho :)

  • @Goj10001
    @Goj10001 5 หลายเดือนก่อน

    Fala Tiago, tudo bem?
    Cara, qual a melhor forma de remover uma fragment?
    Por exemplo, um card no meio da tela com um botão close.
    Eu sei que tem como ocultar, mas quando se faz isso, as propriedade de margin continuam na tela.

  • @rdelary
    @rdelary 3 ปีที่แล้ว +1

    Qual distro Linux você está usando nesse vídeo Tiago?

    • @TiagoAguiar
      @TiagoAguiar  3 ปีที่แล้ว +1

      Nesse video uso o Linux mint: 💪 Ah, Se inscreve no canal :)

    • @rdelary
      @rdelary 3 ปีที่แล้ว

      @@TiagoAguiar obrigado! Me inscrevi, parabéns pelos vídeos 👏🏻✌🏻

  • @jaisonklemer8620
    @jaisonklemer8620 3 ปีที่แล้ว +3

    Fala Tiago! Ótimo video, esclareceu muitas dúvidas sobre os fragments. Obrigado!
    Continue sempre com este ótimo trabalho. Abraços!

    • @TiagoAguiar
      @TiagoAguiar  3 ปีที่แล้ว

      Obrigado Jaison 🙏

  • @Ps3JessicaBr
    @Ps3JessicaBr ปีที่แล้ว +1

    Mto bom esse vídeo, caramba vc ajuda muito devs iniciantes como eu, com explicações mto boas e fáceis de entender 👏🤩

    • @TiagoAguiar
      @TiagoAguiar  ปีที่แล้ว +1

      Obrigado Jessica.
      Já se inscreve no canal :D

  • @igorvinicius5227
    @igorvinicius5227 3 ปีที่แล้ว

    massa

  • @devyesk
    @devyesk 10 หลายเดือนก่อน

    Tiagão tem comunidade do discord? comprei seu curso ontem queria fazer networking com a galera

    • @TiagoAguiar
      @TiagoAguiar  10 หลายเดือนก่อน

      Não tem. Tinhamos um grupo no passado mas ele foi descontinuado pois ninguém interagia por lá..
      Cada pessoa estuda em tempo diferentes, pois não é uma "turma fechada", o que acabava que a grande maioria não participava do grupo, o que o deixava ocioso. A interação ficou somente no box de comentários que fica logo abaixo de cada aula.

  • @marcioborges2567
    @marcioborges2567 4 ปีที่แล้ว +2

    Show de conhecimento. Mas, navigate não seria melhor? É uma sugestão.

  • @zucajunior850
    @zucajunior850 4 ปีที่แล้ว +2

    Irmão.. parabéns pela iniciativa.. você e o Thiengo sao foda !! Ajudam muito a comunidade !!
    ..
    Quando der pra criar uns tutoriais pra MPAndroidChart vai ser muito top!! Deus lhe abençõe.. saúde e sucesso na caminhada..

    • @TiagoAguiar
      @TiagoAguiar  4 ปีที่แล้ว +2

      Booa Zuca. Obrigado pelas palavras!! Anotado aqui.

  • @marcelosartor1973
    @marcelosartor1973 2 ปีที่แล้ว

    Excelente vídeo como sempre.

    • @TiagoAguiar
      @TiagoAguiar  2 ปีที่แล้ว

      Obrigado Marcelo🙏

  • @ERGamesPc
    @ERGamesPc 3 ปีที่แล้ว +2

    18:23
    Eu tirei o companion object e funcionou normal o app. Não entendi muito bem essa parte. Oq causaria um problema nesse newInstance()?

  • @janssenbatista8005
    @janssenbatista8005 4 ปีที่แล้ว +1

    Mais uma excelente aula, Tiago.
    Muito obrigado por disponibilizar sempre conteúdo de qualidade. Tenho aprendido muito ctg!
    Me tira uma dúvida: sempre vejo as pessoas dizendo que nesse parâmetro attachToRoot do método inflate tem que passar false. Então pq ele existe? Em qual caso específico ele tem que ser true?

    • @TiagoAguiar
      @TiagoAguiar  4 ปีที่แล้ว +3

      Show. Que bom que gostou Janssen!!
      Esse parâmetro é usado com true principalmente na criação de CustomView. Por exemplo, quando vc cria um custom view sendo que o proprio view nao tem um ViewGroup pai para ser adicionado como um LinearLayout. class CustomView : LinearLayout() {}.. Dessa forma, vc ja passa true dizendo pra ele adicionar ao root.
      E quando esse customview será adicionado via tag merge.. mas em 90% dos casos, tipo RecyclerViewHolder e fragments, passamos false. Dessa forma, voce garante para ele nao adicionar (ainda) ao ViewGroup para que voce possa manipular os elementos da hierarquia como buscar um button usando findViewById e outros.. quem vai adicionar seria vc usando o addView por exemplo.

  • @danielcard067
    @danielcard067 4 ปีที่แล้ว

    Esse cara é show d+
    Grande Tiago

  • @allysonjd
    @allysonjd 3 ปีที่แล้ว

    Muito bom, parabéns pelo conteúdo.

  • @lucaspaixao3659
    @lucaspaixao3659 2 ปีที่แล้ว

    So uma dúvida: itemView.rootView.context é o mesmo que (activity as Context) da linha 32 no seu vídeo em 33:55 ?

  • @eliassilva8117
    @eliassilva8117 3 ปีที่แล้ว +1

    Muito bom conteúdo tá de parabéns, contudo poderia fazer o tópico usando o java? valeu.

  • @robertocampos8463
    @robertocampos8463 2 ปีที่แล้ว

    Oi Tiago. Obrigado pela aula. Criei um projeto com template Botton. Criei no HomeFragment toda Um botao, Uma image view e Um texto. Inibi a logica do Image View e quando clico o botao o app altera o texto de acordo com o que eu quero. O problema é quando habilito as linhas de codigo do Image view: int numeroAleatorio = new Random().nextInt(numerosdado.length);

  • @MaisUmSomente
    @MaisUmSomente 3 ปีที่แล้ว

    33:50 não entendi o por que instanciar um contexto, sendo que você pode pegar o contexto do container.

    • @TiagoAguiar
      @TiagoAguiar  3 ปีที่แล้ว

      Não instanciei o contexto, só guardei ele em uma referencia.
      Para instanciar, seria um new -> Context().

  • @fabioherbert
    @fabioherbert 4 ปีที่แล้ว

    Muito boa a explicação de uso dos Fragments, parabéns.

  • @italone2856
    @italone2856 2 ปีที่แล้ว

    Como eu posso devolver dados sem um fragment pra activity dele mesmo??

  • @IMNonxStop
    @IMNonxStop 4 ปีที่แล้ว +1

    Excelente aula, Tiago!
    Poderia fazer uma série ao estilo Dominando RecylerView só que dessa vez Dominando o Data Binding com Kotlin?
    Não estou achando conteúdos bacanas sobre viewModel e dataBinding.
    Obrigado!

    • @TiagoAguiar
      @TiagoAguiar  4 ปีที่แล้ว +1

      Obrigado Luiz. e valeu pela dica.

  • @gilmarcossantos3951
    @gilmarcossantos3951 2 ปีที่แล้ว

    2:15 contatinho falando. Grande Thiago rsrsrrsrsrsrsr

  • @robertocampos8463
    @robertocampos8463 2 ปีที่แล้ว

    int numeroAleatorio = new Random().nextInt(numerosdado.length);
    dice1.setImageResource(numerosdado[numeroAleatorio]); Quando aperto o botao, o app para de funcionar, como um stop
    Fiz em um template simples e funcionou. Acho que o problema é na relação main activity e o Fragment Home.
    O que voce sugere, por favor ?

    • @TiagoAguiar
      @TiagoAguiar  2 ปีที่แล้ว

      Dificil sem ver o codigo.
      Minha sugestão é abrir o LogCat e ver mensagem de erro.
      Lá vai informar o que pode ser o bug
      Se ainda não for inscrito, já se inscreve no canal hehe

    • @robertocampos8463
      @robertocampos8463 2 ปีที่แล้ว

      @@TiagoAguiar Obrigado. Eu apanhei bastante e descobri que faltava colocar Binding na frente de botoes, etc

  • @CarlosHenrique-sn8py
    @CarlosHenrique-sn8py 4 ปีที่แล้ว

    Tiago , belo conteudo, mas com o Navigations do Jetpack, nao precisa mais dar replace ou add ou supportfragment.. Poderia fazer um video sobre esse tema ?
    Excelente aula !

    • @TiagoAguiar
      @TiagoAguiar  4 ปีที่แล้ว

      Olá Carlos, tudo bem? Vou anotar aqui pra fazer videos do Navigations rs. obrigado.

  • @PauloCeami
    @PauloCeami 4 ปีที่แล้ว

    OnResume é interável ? como assim ? A grande sacada do onResume voce nao falou..., ele ser "interável" é fato que é, mas QUANDO ELE PODE SER INTERÁVEL ?... a função deste cara que deve ser exposta em life cicle é que ele é chamado todas a vezes dentro de um ciclo, seja ele stop , pause, ... ou seja a grande diferença desse cara pro onCreate é que este é chamado apenas 1 vez e o onResume várias vezes...

    • @TiagoAguiar
      @TiagoAguiar  4 ปีที่แล้ว +2

      Olá Paulo, tudo bem? Espero que sim. De fato, o onCreate é chamado apenas 1 vez em relação ao onResume. E sim, ele é o momento que o fragment fica interável, ou seja, o usuário pode interagir com a hierarquia das view. Esta nota está na própria documentação do Android: "... onResume() makes the fragment begin interacting with the user..." Obrigado por comentar..

  • @franciscos.f9474
    @franciscos.f9474 3 ปีที่แล้ว

    Muito bom, só achei que deveria ter utilizando um exemplo com TabLayout

  • @silrafael8408
    @silrafael8408 4 ปีที่แล้ว

    Tô querendo fazer seu curso, Android develop e Arch. Onde realizo a inscrição? Obrigado pelos vídeos. Show!!

    • @TiagoAguiar
      @TiagoAguiar  4 ปีที่แล้ว +1

      Olá Rafael. O Arch você encontra nesse link, androiddeveloper.com.br/android/live
      Já outros cursos para iniciantes do zero é esse: androiddeveloper.com.br/android/iniciante-express
      Abraços

  • @kobane1958
    @kobane1958 4 ปีที่แล้ว

    Aula excelente. Tiago to acustumado a só trabalhar com Activity, porém, desde semana passada venho mechendo com fragment, entretanto ainda não entendo muito bem, estou somente mostrando uma lista fake de algum objeto igual a sua, porém agora queria saber como faço pra pré cadastrar itens no banco de dados e pegar essa lista do banco de dados no adapter do recyclerview, já fiz a parte de cadastrar os itens no banco, queria saber aonde chamo esse cadastro, para quando iniciar o app já cadastrar os dados no banco e após isso eu conseguir pega-los no setupRecyclerView através do queryForAll lá, não sei se estou certo. Por acaso eu chamo esse cadastro de itens no banco de dados no onCreateView do Fragment? Ou tenho que fazer isso no MaiinActivity do fragment?

    • @TiagoAguiar
      @TiagoAguiar  4 ปีที่แล้ว +1

      O Fragment possui ciclos de vidas semelhantes a Activity. Você pode usar no onActivityCreated ou onAttach.. ai depende muito de como deve funcionar o seu app. Mas em resumo, o Fragment é util para modularizar e deixar seu projeto reutilizavel e adaptavel.

  • @jamile5709
    @jamile5709 4 ปีที่แล้ว

    Muito boa aula, Tiago!
    Dúvida: qual distro você usa e como você fez esse setup dos ícones e sua disposição na tela?

    • @TiagoAguiar
      @TiagoAguiar  4 ปีที่แล้ว +1

      Uso atualmente o mint. Ele já vem com essa opção pra configurar os ícones

  • @andremtvaz
    @andremtvaz 4 ปีที่แล้ว

    Tentei fazer esse tipo de implementação, porém com um fragment no lugar da activity e não fucionou. Basicamente, eu comecei um Navigation Drawe Activity, que instancia fragments para as telas de cada item do menu. Aí tentei fazer uma parte da minha tela como um fragment e propagar a chamada de um botão para o fragment pai. Porém, sempre cai a excessão que diz que a interface não foi implementada e o app quebra. Vc sabe o que pode ser?

    • @andremtvaz
      @andremtvaz 4 ปีที่แล้ว

      Acabei de descobrir. Parece que mesmo meu fragment sendo criado por um outro fragment, o listener ainda é a MainActivity. Não faz sentido, pra mim. Mas, parece que é isso.

    • @andremtvaz
      @andremtvaz 4 ปีที่แล้ว

      Atualizando. Por fim, eu ainda não consegui usar fragmentos dinâmico dentro do fragmento home criado pelo Navigation Drawer, juntamente com a arquitetura MVVM. Não sei como fazer para o fragmento dinâmico receber informações do HomeViewModel (que já estaria instanciado) e mudar um textview, por exemplo. Não sei se é viável criar um viewmodel só para o fragmento. São muitas dúvidas. Se alguém aí tiver uma idéia para ajudar, será ótimo. Tudo que eu vejo no youtube, google, stack overflow fica só no básico de fazer o fragmento aparecer e desaparecer. No máximo é ensinado como criar a interface para a MainActivity implementar. Já é um conhecimento muito bom, mas eu preciso de um pouco mais. Talvez, até entender melhor algum conceito para conseguir identificar uma solução.

  • @duduskateboarddudu
    @duduskateboarddudu 4 ปีที่แล้ว

    Great test teacher Tiago! Do you have a course in that site called Udemy? I like your tips

    • @TiagoAguiar
      @TiagoAguiar  4 ปีที่แล้ว +1

      I have courses. It can be found at first link in descriptions..