Entendo Layouts

Olá pessoas, hoje vamos falar de um assunto bem legal Layouts. Ele compõe a parte visual de uma aplicação android. Entender bem seu funcionamento faz parte do processo e ajuda muito na hora de desenvolver. Primeira coisa a ser entendida é o que é um Layout?

Bom o layout é um arquivo em formato xml que através de “tags” podemos incluir os elementos gráficos que queremos que nossa tela contenha. Cada tag, que é referente a um elemento do layout, pode conter dezenas de atributos tais como margens, espaçamentos entre o item anterior e posterior, alinhamentos, textos, id (que falaremos em seguida), dentre vários outros atributos.

Na imagem abaixo podemos ver como a tela ficou com as tags e os atributos de cada elemento. Só para termos uma ideia.

Entendo layouts
Entendo layouts

Existem atributos que serão aplicáveis em diversos componentes, e outros atributos que serão específicos de um componente. Como eu disse anteriormente, para entender bem os layouts é preciso ir um pouco mais fundo. Todos componentes gráficos herdam de uma classe chamada View (android.view.View), que é nativa do Android. Todos os gerenciadores de layout também herdam desta classe. Cada subclasse de View deve implementar o método onDraw(canvas) que é o método responsável por desenhar os componentes na tela. Então existe uma separação: widgets são os componentes gráficos como textos, imagens, edittext, entre outros. E existem os gerenciadores de layout, que são tipos de layouts aplicados a um arquivo de layout, como LinearLayout, RelativeLayout, FrameLayout, que serão responsáveis por armazenar os widgets.

Cada gerenciador de layout se comporta de forma específica e possui finalidades muitas vezes diferenciadas dos outros. O LinearLayout por exemplo é aplicável quando se quer um alinhamento horizontal/vertical entre os widgets, por exemplo, um formulário de cadastro fica melhor se for feito em um layout Linear. Já o RelativeLayout é aplicável quando se quer deslocamentos diferenciados entre um componente e outro. E o relative layout permite também relações de componente para componente, ou seja, você pode alinhar um texto embaixo de um outro texto, somente comparando estes dois. Falarei nos próximos posts como é o comportamento de cada um. Geralmente o que se aplica num app é a utilização de vários gerenciadores de layout, já que através das tags, você pode determinar que em certo “pedaço” da tela haja um tipo de layout diferente do restante da tela. Assim conforme a necessidade, vamos gerenciando nossa tela com o layout apropriado para cada situação, por isso é bem interessante entender cada um.

E se a questão layout estiver bem entendida, será muito mais fácil adaptar o layout para cada tipo de tela, já que no Android existem muitos devices com tamanhos diferenciados.

Até a próxima.

Anúncios

Estrutura de uma aplicação Android

Olá pessoas, voltando a postar neste blog. Mas agora com um diferencial: muitos conhecimentos foram adquiridos neste tempo que serão revertidos aqui.

Hoje eu vou falar um pouco sobre a estrutura de um projeto Android. Só para situar vocês, a IDE que estou utilizando é o Android Studio, na versão 0.9.2, mas porque estou dizendo isto? Porque é o seguinte galera, a estrutura do projeto android pode mudar conforme a IDE, por exemplo na versão anterior do Android Studio tínhamos outra estrutura, e também no eclipse a estrutura de pastas é um pouco diferente. Mas vamos lá.

Estrutura de uma Aplicação Android
Estrutura de uma Aplicação Android

Então vamos analisar um pouco esta estrutura. Na imagem a primeira pasta refere-se aos Manifests, e contém um arquivo AndroidManifest.xml. O Manifest file, é um arquivo bem importante, usaremos ele para por exemplo, adicionar permissões à aplicação, definir o tema da aplicação, definir quais activities estarão na aplicação (não se assuste neste primeiro momento entrarei detalhadamente em cada termo no decorrer dos posts).

A segunda pasta é Java. Nesta pasta é onde colocaremos todo o código, ou seja, toda a lógica de negócio de nossa aplicação. Ou seja, todo código que não se refere a arquivos de layout ficarão aqui nesta pasta.

A terceira pasta é Res, que vem da palavra “resources” ou traduzindo: recursos. Nela colocaremos nossos layouts. Veja como fica interessante separar lógica de negócio dos layouts, traz muito mais clareza. Como vocês podem ver há algumas pastas dentro desta pasta Res. Temos a pasta drawable, layout, menu e values. Na pasta drawable adicionaremos todas as imagens que a aplicação terá e também algumas customizações como quando queremos adicionar bordas a um botão, por exemplo. Na pasta layout colocaremos os layouts de telas da aplicação. Na pasta menu colocaremos os componentes que ficarão na Actionbar, ou seja que fazem parte do Menu da aplicação. E por fim, na pasta values colocaremos recursos de texto, cores , dimensões. Conforme cada tutorial irei explicando melhor como se fazer a utilização de cada um destes itens.

Então pessoas é isso, acho que já deu pra perceber que tem bastante detalhes para serem vistos, mas não se assustem, não é nada que com o dia-a-dia você não vá pegando o jeito. No início parece meio complicado mesmo.

Um abraço e até a próxima.

MyFolioApp – Meu currículo e Portfólio em uma Aplicação Android

MyFolioApp – Meu currículo e Portfólio em uma Aplicação Android

Disponível para download em 

https://play.google.com/store/apps/details?id=com.cvpaula

screen_1_home

Meu Currículo e Portfólio numa App Android: essa era a minha ideia para este aplicativo. Ideia que surgiu da necessidade de demonstrar que já possuo conhecimento da plataforma Android, para posteriormente enviar para empresas de desenvolvimento mobile.

O fato de ter atuado profissionalmente como projetista me fazia pensar que em um currículo em formato doc era difícil demonstrar meus conhecimentos de desenvolvimento Android. O aplicativo encontra-se disponível para download no link citado no topo deste post.

screen_6_actionbar

Na verdade, até agora, o feedback têm sido positivo, tenho recebido alguns elogios pela aplicação, claro que há coisas a serem melhoradas, mas esta foi a minha primeira aplicação, e justamente, este era o objetivo apresentar pelo menos um conhecimento básico de android nesta app.

Caso tenha interesse, faça download dela e me dê seu feedback, que aliás é muito importante, auxilia no meu crescimento profissional e me faz melhorar cada vez mais.