continuamos aqui o nosso desenvolvimento do nosso projeto apresentando exatamente De onde nós paramos na última gravação da playlist e na aula anterior né a gente parou aqui trabalhando com esse layout e esse layout aqui teve apoio ali do copilote da Microsoft né e e a gente basicamente aceitou todas as sugestões tá a gente discutiu sobre os layouts discutiu também sobre alguns atributos né Associados a essas a essas tags do XML como também ã como também fizemos algumas algumas análises né de comportamento de algumas propriedades né de valores dessas propriedades como por exemplo de um peso
aqui no layout como também do acesso a a elementos de ícones do próprio Android e etc bem então nós vamos continuar aqui né tentando tentando dar mais alguns passos nesse projeto primeiro a gente viu que os content description tá aqui ainda com mensagem informando pra gente de que é ideal que a gente utilize o string recursos do string a gente vai fazer também essa modificação e também ficou uma mensagenzinha de erro aqui ó que nós não falamos sobre ele n passou despercebido um erro vamos verificar que erro seria esse webview não encontrou esse elemento webview
né voltar para cá e o elemento webview aqui webview e aqui a identificação dele tá com V em Caixa Baixa a gente vai deixar ele com al para ficar fiel ao que nós estamos utilizando aqui tá no na chamada do find by ID agora funcionou o erro já sumiu outra coisa vamos precisar fazer pertir antes da gente corrigir ess ess Strings aqui né para ess esses content descriptions a gente vai precisar inform Nossa aplicação que nós precisaremos de permissões de acesso internet por no escopo hoje dos aplicativos Androids temos nós temos essa seguran de saber
quais tipos de recursos um determinado aplicativo Android precisa gente vai fazer o download ali na loja a gente percebe já existe um local ali que nos informa sobre as permissões a gente faz o download nas informações do app né Se a gente for lá para visualizar as informações do app os detalhes a gente consegue ver também as permissões negá-las adicionar desperius me perdoem mas tirar a permissão de uma do do app Então essas permissões Ah nós precisamos atribuí-las no desenvolvimento do nosso app por exemplo para esse caso aqui que nós precisamos de internet para abrir
uma visão né de um site dentro deste webview nós precisamos aqui no arquivo Android Manifest aqui a no no padrão de árvore Android tem um folder chamado Manifest e uma pasta e um arquivo chamado Android manifests esse Android Manifest não abriu abriu esse Android Manifest traz tudo que é configuração ali do nosso Android do nosso aplicativo dentre outras né traz aqui qual o nome do app né E olha que is aqui é bem legal também de falar esse que tá usando string ó string app name fechar aqui vou abrir novamente Ver se faz diferente ó
string app name esse string appname reflete o nome my webview tá se clicar aqui em control segurar o control e clicar aqui nessa palavra né ó direcionou para a palavra my webview é isso aqui que lá na nossa tela do nosso XML da activity o o Android tá pedindo né pra gente fazer alguma coisa nesse sentido a gente faz daqui a pouquinho tem aqui a determinação da da do ícone né tá usando aqui mipmap e c Launcher a gente for aqui no mipmap tá várias dimensões de ícones para cada resolução de tela hdpi mdpi x
hdpi etc então resumidamente né Nós temos a estrutura aqui do nosso do nosso app né estrutura de configuração do nosso app e aqui também nós temos na no intervalo aqui né no corpo desse application nós temos esse activity e o que que seria esse activity aqui seria a atividade que nós temos que é a nossa principal né que é nosso m activity se nós tivermos mais de uma activity por exemplo nós teríamos vários activities existindo aí nós temos por exemplo né ah intent filters que determina o que esse activity é o activity principal e vai
ser o activity de execução nós poderíamos ter vários activities talvez esses a essas Actions tivesse dentro de um outro activity né tivesse associada a um outra activity tá então poderemos ter Services por exemplo sendo atribuídas aqui aqui né você poderiam estar rodando ali em plano de fundo acessando à internet fazendo download trazendo notíci gerando notificações por exemplo WhatsApp né que fica ali em plano de fundo da você não tá usando WhatsApp mas ele fica ali ó acessando o serviço da da na do WhatsApp e pegando informações chegou mensagem nova para você ir baixando essa mensagem
para deixar Prontinho para você visualizar então nós temos toda a estrutura aqui então faria todo sem sentido que também fosse aqui que nós informá as permissões que nós necessitamos então aqui antes do application a gente vai criar o a solicitação dessa permissão tá existem permissões que são ah automaticamente autorizadas existem permissões que a gente Depende de uma interação específica do usuário então a gente precisaria colocar tanto a solicitação aqui como precisaria em código tá fazer o pedido para o usuário por exemplo pedi uma permissão aqui de de acesso a a gravar arquivos no armazenamento não
público do meu usuário que tem um armazenamento público também se eu precisar fazer isso eu vou precisar pedir essa permissão aqui para o armazenamento que não é público Eu Preciso da autorização explícita do meu usuário Eu precisaria notificar ali que aquelas notificações todo mundo já deve ter visto que eu peço para acessar parcialmente ou totalmente dependendo da versão do do da SDK do Android para acar essa essa esse acesso ao armazenamento do celular então o Android entende de que eu de que você autorizou e vai permitir que meu App Acesse aquele repositório ou qualquer outro
repositório mas existem permissões que não são necessárias a autorização explícita existem permissões como por exemplo da internet Claro que sempre considerando de que que existem evoluções SDK Android então toda vez que surja um Android novo Pode ser que seja revogado uma decisão que é por default pública que P liberada então por exemplo a gente tem versões do Android hoje que eu preciso solicitar permissão para eu acessar a pasta music por exemplo solicitar explicitamente se eu não solicitar explicitamente o usuário precisa ir nas configurações do app e fazer a autorização nas configurações do app Então mas
existe já esse DK sdcs mais recentes que o diretório music é entendido como diretório público então eu consigo salvar arquivos ali Sem problema salvar e acessar arquivos no diretório music por exemplo então sempre considerando que por mais que a gente esteja fazendo agora Entendendo de que essa permissão né esse user permissions a gente tá adicionando aqui a internet por default ela já é automaticamente autorizada Pode ser que em versões novas a gente tenha esse impedimento então sempre temos que est atualizado quanto a essas regras nas novas sdc então criei aqui né o user permission automaticamente
eu concordei quando eu comecei a digitar já gerou aqui Android do pname e a gente vai dizer qual o nome dessa permissão que nós queremos já sugeriu automaticamente o internet e é é o mais popular é o mais utilizado muitos apps Mesmo que não seja necessariamente de site mas precisa da internet para alguma coisa pegar uma novidade seja para para não sei para atualizar o app atualizar é mais em comum porque já atualiza pela loja né mas para baixar alguma novidade né então mesmo que ele não seja necessariamente um navegador em Internet mas sempre tem
alguma coisinha que precisa por exemplo um app de um livro né você já baixa já vem tudo ali naquele app com todo o banco de dados skite já incluso naquele app né pelo menos normalmente é assim mas aquele livro pode ter atualização sei lá pode podem ter mensagens do autor essas mensagens do autor precisaria que viesse ali da internet né porque pode vir a qualquer momento então sugeriu aqui automaticamente ess permission internet aceitei aqui e vou fechar aqui nossa tag por de né o a ideia Já já sugere essa outra tag né abrindo e fechando
a não precisa dela Fecha aqui automaticamente e já ficou legal então essa permissão já solicitada essa permissão mais uma vez a gente informa que precisa da internet mas a gente não precisa necessariamente para essas versões que a gente tá trabalhando fazer a solicitação explícita para que o usuário faça a o o Concord né então basta isso voltando aqui para o nosso m activity né vamos ver se tá tudo ok novamente Opa e aqui no me activity tem o Google eu acho falta o https né Nós não colocamos o https Opa o mouse aqui tá fazendo
duplo clique Ah quando não deveria https Então beleza né acho que aqui tá certinho webview Tá certinho né é o elemento que tá aqui na nossa rit e temos também o Android Manifest que tá com a permissão da internet solicitada fazer aqui a execução no Android virtual né Tá executando aqui o simulador nessa abinha aqui de Running devices a gente pode criar vários outros dispositivos né vários aqui tem um dois aqui você pode criar para tudo basicamente até para Smart TV Então vamos executar aqui pra gente visualizar perfeito executou aí né nossa aplicação nesse simulador
Ah nesse primeiro momento a gente não tá usando essa Barrinha para informar qual que é o site que nós queremos abrir Navegar para um lado Navegar para outro né Nós primeiros Fizemos o teste com um site abrindo sempre que a nossa tela é aberta sempre que essa Nossa main activity for executada tiver ali executando on Create ele vai automaticamente fazer a Instância para o nosso webview vai criar um novo webview client sendo atribuído para o nosso webview para ir na sequência pedir para carregar a URL desejada pela gente mas vai ser bem fácil aqui né
a gente vai tentar pegar o que o usuário digitar aqui nesse Edit Test e vamos fazer essa atribuição aqui de forma dinâmica Vamos pedir para quando ele clicar em avançar ou clicar em voltar ele faça o acionamento no webview para que a página anterior a página próxima seja redirecionada né ou vamos pedir através desse botão no evento de atualização do botão de atualização ele chama webview fazendo o refresh de tela então basicamente nós vamos colocar ações para esses botões e pegar esse valor e vamos fazer com que eles manipulem esse webview que já tá aqui
em tela então o que que a gente tem aí de melhorias né a gente tem tanto Strings pra gente fazer essas modificações aqui e no próximo vídeo a gente vai fazer essas alterações em cada um deles e na sequência dos vídeos seguintes nós vamos colocar os comportamentos em cada um desses elementos e e e fazer a navegação através do nosso webview recebendo né as ações que a gente tá colocando aqui nesse nessa barra de ferramentas do webview