olá estou de volta em mais um vídeo desse primeiro módulo esse módulo 10 que é o módulo de primeiros passos você está vendo que os primeiros passos do android são muitos passos isso é normal acompanhe aqui comigo porque é um processo agora vou falar um pouco sobre a arquitetura do sistema você precisa entender um pouco mais sobre a arquitetura para você entender o que você pode fazer quando você vai estudar sei lá sistemas operacionais você não precisa estudar precisa entender o funcionamento das camadas do sistema operacional uma língua de programação exatamente igual quando você aprendeu
java comigo lá no curso básico lá bem no início de junho você não tem que aprender a estrutura como funcionava a compilação como funcionava o uso do jvm é importante que você saiba isso agora e já que o android estúdio já que o seu celular android ele funciona com uma máquina virtual ele funciona com a execução de código java compilar ele utiliza um bairro onde especial que a gente vai ver como é que funciona mas não traz essa teoria vamos entender como é que funciona a arquitetura ea gente veio nessa aula três ver como funciona
a plataforma android basicamente o sistema android ele é um sistema de camadas ele funciona com cinco camadas na verdade a terceira camada subdividido em duas partes bem definidas segundo a própria documentação do google e se por acaso você ainda não viu documentação do google é aí organizado dentro da plataforma dentro do estudo a alta tem uma recomendação de bibliografia que é a plataforma oficial de desenvolvedores do android então dá uma olhada no material tem muita coisa em português nem tudo foi traduzido mas boa parte sim inclusive esse início que estou passando pra você foi boa
parte traduzido eu que estou fazendo é mais chegando pra você pra você se sentir menos dificuldade então eu disse sistema android cinco camadas a gente vai ter que entender cada uma delas a primeira camada a camada de baixo a gente sempre vai ver chamada de sistema operacional camada de rede camada que quer seja de arquitetura de computadores a gente veio de baixo para cima cada um é sempre debaixo da camada de baixo é o linux cânon é o núcleo do linux como já falei várias vezes e se você não viu ainda os prémio os vídeos
você pulou e tá só nesse vendo arquitetura veja os vídeos anteriores tem muito teor técnico tem muito conteúdo legal tem lá a evolução do sistema tem onde o android utilizado tem muita informação importante que inclusive vai ser necessária para você passar desse módulo para o próximo módulo porque no final desse módulo 0 aqui tem uma avaliação que você precisa fazer beleza então o primeiro nível primeira camada é a camada de núcleo é o núcleo do linux acima dele tem um rol que é o hardware abstract layer que é um nível de abstração a gente vai
ver como funciona acima do alvo em a terceira camada é que na verdade é aquela que eu falei que subdivide em duas que a gente tem as laborais nas bibliotecas de ser e c++ ea gente tem o android ram time que é muito importante a gente poder entender como funciona o time porque eles são a base de todo tipo de aplicação que é desenvolvida para android então se você está com o seu android abertos está o aplicativo do facebook o aplicativo whatsapp você abre seu gmail você abre a sua agenda de contatos aperto ícone do
youtube a netflix todos eles utilizam a mesma coisa todos eles são baseados no ranking time inclusive mudou o time de umas versões para cá a gente já vai ver como funciona a cima dessa terceira camada na verdade subdividindo está a java p já o freiburg java com algumas alterações em algumas partes desenvolvidas pela equipe google e pela equipe android não tem uma série de bibliotecas que você tem que aprender a utilizar a aprender a lidar porque elas são diferentes do java tradicional que você está acostumado a acima da java bem a última camada que é
a a camada de aplicações do sistema são as camadas são os aplicativos base que o google disponibiliza para que você possa fazer a integração do seu sistema com alguns serviços que são disponibilizados pela plataforma android beleza então são essas cinco camadas esses cinco níveis ea gente vai ver cada um deles a partir de agora vamos começar com nível de baixo nível do kernel é onde eu por ter todos os drivers onde vou ter a essência do android que é o linux é uma coisa que eu gosto de falar sempre em sala seguinte o aluno quando
chega pra mim mas agora houve desequilíbrio que se arrume flamengo fui pra caramba é só de 90% da internet é feita de linux só quase 90% do celular e rodam linux sua televisão talvez rodini no seu playstation roda linux são realmente é um sistema muito ruim é uma afirmação no mínimo tola então me especifique isso na área do kernel ele tem toda a parte de drivers para funcionamento do da máquina que na verdade o celular é uma máquina então ele tem placa lógica ele tem processador e tem memória principal ele tem todos os componentes de
uma arquitetura de computadores só que simplificada e aí o linux vai cair vai servir perfeitamente porque o desenvolvedor desenvolvedor da plataforma ele vai ter à sua disposição uma quantidade muito grande de recursos que o linux disponibiliza por padrão então um desenvolvedor de hardware e de software ele tem grandes facilidades porque o google ele não utiliza dentro do projeto android um sistema próprio um sistema que foi desenvolvido do zero e utilizam linux que sabidamente é um sistema operacional ou muito recurso com muita segurança muito bem estabelecido muito bem reconhecido então tem essa facilidade toda na hora
de desenvolver drivers e outra coisa que a gente tem também na camada de linux é o gerenciamento de energia a partir do encerramento de energia fica toda diretamente por conta do lyons então sempre que saia uma versão nova do android ele tem essa parte do caderno atualizada para que ela consuma o mínimo de bateria possível para deixar aparelhos mais finos aparelhos mais esperto e sem consumo excessivo de bateria quem sabe que nem sempre é possível então os aparelhos aí que sei lá que 10 horas de uso ele já se foi a bateria inteira então fica
complicado mas enfim essa camada é a camada mais hardware a camada mais base necessária do sistema de camadas cento rádio está em baixo o usuário está em cima é sempre assim na camada de abstração de hardware que a camada acima a gente tem uma série de interfaces de ligação da parte física com a parte superior que a parte de biblioteca java a camada raul ela significa hardware abstraction ou camada de abstração de hardware nela você tem da compatibilidade com um monte de coisas como por exemplo a câmera as conexões ned wifi ou de 3g 4g
que seja quantidade de sensores tudo aquilo que possa ter uma ligação do hardware como o software acima com a biblioteca já vai com as bibliotecas c++ questão que vão ser explicada já tudo isso é disponibilizado pelo al é o raul ele é desenvolvido não em java está a parte do rau ela não é feita em java efetivamente nem o raul nem a vantagem mesmo de teclas né esse então essa parte de baixo ela geralmente é feita em c e c++ e já que essas partes são feitas em c e c++ a gente tem que ter
a quantidade de bibliotecas para poder rodar isso tudo então você tava mas peraí o android roda java pra que eu tenho seis semanas mais concordo sistema o núcleo do sistema eo raul eles são feitos em c++ então é necessário que eu tenha as bibliotecas e algumas outras ferramentas internas como por exemplo webkit o pgbl o open gl no caso do android é o pls esse s é uma sigla que significa sistemas embarcados na questão sistemas bem compactos então o open gl você já sabe na biblioteca gráfica e tudo mais inclusive agora nas versões mais atuais
além da open gl ela tem o vulcão que é uma biblioteca nova que mostra três deles com uma possibilidade muito mais rápida com uma performance muito maior e sem gastar muita bateria isso é muito importante então essa parte toda a parte a amarelinha o grande time o raul eo linux quero todos eles são desenvolvidos em linguagens e por isso é preciso que essas bibliotecas todas e uma grande vantagem o sistema android através de um recurso chamado android ndk ele permite que algumas aplicações inclusive a sua aplicação utiliza recursos não só do java mas sim também
recursos disse mas mais só você também consegue falar um pouco mais perto da máquina em seu celular por isso em alguns sistemas aí que parece que estão magicamente usando algum recurso do seu celular e realmente estão por causa do e decaído o android que disponibiliza um monte de biblioteca um monte de funcionalidades de 6 mais pra você inclusive o open gl por exemplo ao lado das bibliotecas de serviços mais a gente tem um grande time no pantanal a gente tem com arte que é o android branco time é basicamente explicar de uma maneira simples se
você fez o curso de java comigo você sabe o que é uma jvm é que com a máquina virtual java nas primeiras versões do android saber das minhas versões do sistema operacional essa máquina virtual que rodava não era jvn era uma máquina virtual chamada dalvik então o código compilado embate code era gerada indicou de dalvik e aí eu tinha uma máquina virtual chamada dalvik que rodado esse código por isso que muita gente pergunta inclusive lá no curso vai ensinar como é que ele fez para rodar um programa que ele fez usando suingue por exemplo em
java como é que ele fez para rodar no celular na verdade eu não utilizei o suingue utilizei um tite não os objetos viu de java que vem disponibilizados dentro do sistema android e utilizei um paralelo entre o suingue e com pillay ele em código dalvik não em código jvm não teve uma pequena diferença é claro que não ia falar isso num curso básico num curso em vídeo que se não ia gerar um monte de dúvidas um monte de perguntas então mas eu fiz a galera ficou na dúvida mas agora estou te respondendo o código java
feito para celular é completamente diferente do código java feito para desktop completamente diferente não é java não deixa de java mas usa bibliotecas essencialmente diferentes a partir da versão 5.0 que foi lollipop a dalvik foi substituído pela arte a arte ela permite que as aplicações funcionam em paralelo uma série de ferir na outra é o davi que acaba permitindo que uma aplicação maldosa ou uma aplicação mal escrita prejudicasse outras o art evita isso então o android o time a partir do lone pop ele é utilizado automaticamente na versão anterior do ibope na antes do ele
veio cá então um kit kat significa acostumar com isso na versão que quer que você tinha como entrar nas nas configurações e dizer olha não quer usar o dalvik eu quero utilizar o art a partir do lip pra frente lollipop march melo lugar e óleo você é obrigado a utilizar o art então tem algumas diferenças aí o android estúdio vai gerar de acordo com a pm que você escolher beleza basicamente que o arte faz a mesma coisa que jvm faz ela vai analisar o código vai de cold vai executar vai passar para a camada de
baixo da camada de abstração de hardware vai passar para a camada mais abaixo ainda que a camada do kernel do linux e o sistema vai rodar tá a gente já vai ver em detalhes dentro do aço também a gente possui algumas características como por exemplo o computador dite que o just in time que é o mesmo computador que a gente usa no java basicamente o compilador justin time que ele faz ele verifica os códigos que estão sendo mais atualizados é mais utilizados e jogam para a linguagem de máquinas diretamente da próxima vez que ele foi
executado ele não precisa ser interpretado pela máquina virtual também tem o gado de colector que o java já tem também trouxe uma série de coisas é como se fosse jvm só que feita por seu celular utilizada para utilizar o seu aparelho o seu processador ea sua bateria da forma mais esperta da forma mais inteligente possível por isso a jvm não funciona no sistema android espero que tenha ficado bem claro pra você além do art a gente tem algumas bibliotecas 63 assim como a gente tinha biblioteca extra quando você baixava a jr no java runtime invariavelmente
então o conjunto da jr no seu caso do java por isso eu preciso que você saiba java o conjunto jr é como se fosse o conjunto ram time dentro do ambiente android acima da terceira camada nós temos a camada java e piae que a nossa período nosso frei morto em java como funciona isso ele possui alguns recursos como por exemplo um provedor de conteúdo que seria o provedor de conteúdo dentro do android você sabe que a gente pode utilizar recursos de outros aplicativos por exemplo quando você abre o uber quando você abre o rubber o
sistema do uber usa o sistema do eiser são dois sistemas completamente diferentes mas uma acaba conversando com o outro quem permite isso aqui o compartilhador de conteúdo o provedor de conteúdo melhor falando a gente tem também o sistema de viu o sistema de visualização que são todos aqueles componentes visuais que a gente utilizava traçando um paralelo que seria ouviu você não tem uma camada acima de um programa em java que seria sua ong ser uma biblioteca ou o jovem flex e tudo mais seria uma camada acima que ti né proporcionaria criar botões caixas de texto
listas combos e tudo mais aqui no caso do android a gente utiliza o ambiente de visualização ou ouviu a gente vai ver que a gente usa bastante uma classe chamada viu dentro dos nossos programas é existem componente com os botões é como eu disse anteriormente é um por isso que quando eu desenvolvo alguma coisa em java utilizando suingue eu não posso utilizar no celular porque no celular não tem suingue mas o celular tem essa biblioteca viu e que me traz muitas funcionalidades inclusive a funcionalidades mais recentes como o do ibope pra frente ela traz o
matthew design direto pra mim a outra coisa que existem são os gerenciadores nesse gerenciadores são é notificações então eu tenho ontem gerenciador de notificação gerenciador de recurso pra ele ver se a bateria talvez a minha bateria está baixa e fica monitorando essas coisas se chegou uma notificação ou não quais são as atividades são abertas em algum sistema cachorro isso tudo tá dentro da camada do frango ou java no seu ambiente android beleza acima disso mas temos os sistemáticos que são os aplicativos de sistema que são aquilo como eu disse anteriormente que permitem a integração de
coisas que já vem no google coisas que já vem no seu celular com qualquer aplicativo então por exemplo o discador e mail quando se quer mandar e mail acessar o calendário acessar a lista de contatos tudo aquilo que você pode fazer automaticamente no sistema o seu programa quando você cria um programa você pode criar um programa que mande um e mail você precisa criar o código para mandar um email não já está tudo pronto você precisa é um código para acesso à câmera na recepção de um código para acessar o as suas mensagens não está
tudo pronto e tudo integrável isso tudo também está disponível pra você ea sua aplicação vai ficar acima disso então essas aí são as camadas do sistema android espero que você tenha entendido que você tenha compreendido se não compreender o direito você dá uma olhada de novo nesse vídeo ou então vai pro documento que botar aqui no link tem um link de referência indiretamente pela explicação disso tudo que eu acabei de falar e é basicamente quando você vai programar você precisa saber essa arquitetura aqui porque às vezes você precisa utilizar alguns métodos algumas funcionalidades que são
descritas através dessa arquitetura então é muito importante que você entenda principalmente o uso de viu o uso da ram time do art o uso de sistema então você tem uma commodity e bibliotecas em c++ o tudo é importantíssimo pra você que tá começando a aprender a desenvolver o android e aí pra você que tá aprendendo android eu cheguei a falar que no vídeo anterior que você tem duas possibilidades hoje em dia né a partir do mar chinelo pra frente o próprio android estúdio a partir da versão 3.0 agora da orion ela permite você desenvolver em
duas linguagens a linguagem java e linguagem cotrim a linguagem java a clássica java criada pela sun microsystem depois passou da hora com ea oracle é de algumas facilitadas de algumas temporadas e tudo mais o projeto do android abandono a jvm da oracle e começou a trabalhar essencialmente com a open jvm um pouco diferente tem a mesma funcionalidade mas é totalmente aberta e aí depois de um tempo o google começou fácil puxar mais o java java não é a melhor opção e tal vamos ver uma outra e começou a falar sobre linguagem da arte começou a
falar sobre outras possibilidades a galera ficou na esperança de fechar pi tornar-se nativo o que eu acredito que dificilmente vai acontecer mas surgiu a cotton e aí que é uma linguagem onde você escreve - ela é - verborrágica ela tem muita coisa pronta então ela facilita muito a modificação mas é uma linguagem que ela está muito no início de junho ea partir do android 3.0 que é o que a gente vai usar esse recurso você tem a possibilidade de programa em cotton e também é provavelmente a gente vai começar assim que terminar toda essa leva
de cursos que eu tô construindo a gente vai fazer um curso de quatro em básicos para você entender a diferença mas como é que funciona essas duas linguagens as duas linguagens são meio que linguagens irmãs vamos entender um negócio aqui como é que funciona a gente encerrar esse vídeo quando você viu no curso de java quando você pega um código fonte java que um arquivo ponto java você passa a ele pelo java com o painel você passar pelo compilador exatamente como está escrito ali e aqui você vai gerar um bairro de cocody esse bate recorde
para o celular ele se chama dalvit o código ainda chamado de dalvik é o bate code dalvik que é um bairro onde que vai ser executado baseado nas bibliotecas que já vem dentro do seu celular que já vem dentro da arquitetura que eu acabei de mostrar lhe e cinco camadas uma vez já que esse bate code você vai passar ele pelo art é pelo android um grande time e esse android um grande time e vai passar por todas as bibliotecas de tudo o que é preciso e vai jogar diretamente o seu celular o seu aplicativo
abre então existe ainda essa camada do art assim como existia a camada de jvm dentro do ambiente tal isso é um dos motivos também pra que nem todas as aplicações em android sejam tão rápido assim celulares antigos você tem uma camada mais que a camada do ranking da time que protege mas que acaba dando um pouco mais de lentidão isso é normal apesar do compilador gente do que tem dentro ali baban time mas enfim como funcionaria o cofre o cofre ele não vai gerar um código diferente bytecode basicamente você escreve o código em cotton esse
código de 4 e vai pro compilador cotton em vez do compilador java esse computador cofre vai fazer acesso a uma biblioteca padrão que é um standard livre que é o cofre estando livre e de acordo com essas funcionalidades você vai escrever um código um pouco menor via de regra o código 41 é bem menor do que o código java mas a adaptação é um pouco maior porque ela não é tão óbvia por exemplo já tem muita ligação por ser o cofre não tem 14 em uma cinta si própria dele você ter um período de adaptação
nada muito difícil mas por enquanto a gente vai trabalhar com o java nesse nosso curso mas basicamente ele vai pegar o compilador 4 vai utilizar essa estendendo livre e vai gerar o mesmo bytecode então assim tecnicamente o código e já vai gerar um bate recorde e o código em cofre vai gerar exatamente o mesmo bytecode guanabara mas porque eu vou escolher o cofre no lugar do java agora está escolhendo por conta da simplicidade de escrita de código o cofre ele não é tão simples quanto em python por exemplo ele não é tão verborrágico quanto java
então a galera tá gostando bastante dessa linguagem tem muitas funcionalidades interessantes essas tendas do acre ela ajuda bastante na hora da criação do código porque vem com muita coisa pronta e eu não posso fazer diretamente no java beleza espero que você tenha entendido esse gráfico aqui do lado espero que você tenha entendido a arquitetura do sistema android porque isso é muito importante para os próximos passos que a gente vai dar dentro desse curso desenvolvimento android kiyota caprichado você está vendo o próximo vídeo a gente vai ver quais são os pré requisitos de hardware pra você
que quer se desenvolver dor você vai precisar de um computador já prepara seu computador e mas no próximo vídeo a gente vai ver o que o seu computador precisa ter não pode ser uma máquina tão simples mas também não precisa ser uma máquina top de linha para você ser um desenvolvedor android de mão cheia tranquilo então a gente se vê no próximo vídeo falando um pouco mais sobre requisitos que você vai precisar ter para ser um desenvolvedor android um grande abraço e até lá