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

Criando uma simples Aplicação Android

Oi , Oi, Oi pessoas. Então hoje vamos falar um pouco do que é preciso para criar uma simples aplicação Android. Começando então pelo início, ao abrir seu Android Studio você vai ver a seguinte tela:

create_new_project
Criando um novo Projeto

Depois disso precisamos dar um nome ao projeto e o nome que o pacote terá. O Google Play, ou seja, a loja onde você publica os seus apps Android na verdade salva pelo nome do pacote, ou seja, se você colocar um nome de pacote que já exista lá, terá de mudar futuramente para poder publicar, portanto é bem interessante que já se escolha um nome que não terá duplicado. Geralmente indica-se para que o nome do pacote da aplicação seja o domínio (site) ao contrário e em seguida o nome da aplicação, como por exemplo, meu projeto seria net.paulacr.MeuApp.

Nomeando a aplicação
Nomeando a aplicação

Depois disto precisamos selecionar o tipo de projeto, se será para smartphones/Tablets, para TV, ou Android Wear. Nesta tela também selecionaremos a mínima versão que nossa aplicação estará disponível. Como podemos ver na figura abaixo.

Escolha do tipo de projeto e SDK
Escolha do tipo de projeto e SDK

Feito isso agora podemos escolher o tipo de projeto que queremos, se é uma activity em branco, ou uma tela de mapa. Vale ressaltar o seguinte, esta escolha está valendo somente para a primeira tela a ser criada, o que poderia ser usado uma activity em branco e depois, codificando-a, fazer ela se tornar uma activity de mapa.

Escolha do tipo de activity
Escolha do tipo de activity

Por fim a última tela, onde colocamos nome para esta “primeira” activity que já irá aparecer. Podemos também colocar qualquer nome e modificá-la futuramente.

type_name_of_activity
Nomeando as activties

E por último temos nosso projeto pronto para começar. Percebam na figura abaixo, que o Android Studio já cria algumas coisas para gente de forma automática. Temos também à esquerda toda a estrutura do projeto e no próximo tutorial vamos começar a fazer aplicações na prática, que dará maior visibilidade de como tudo funciona.

Até mais!!!!

Activity e seu ciclo de vida

As activities são com certeza um dos pontos chave no conhecimento da plataforma Android. Entendendo bem seu funcionamento, fica bem mais fácil desenvolver para Android. A activity pode ser entendida como uma atividade, e geralmente ela representa uma tela da aplicação (pelo menos na maioria dos casos).

A activity promove uma interação entre usuário e aplicação. Pode mostrar conteúdos estáticos ou dinâmicos, ou a mistura destes. Quando se quer, por exemplo, mostrar uma tela, utiliza-se o método setContentView(R.layout.meu_layout);

Então pra começar a entender como funciona a activity é necessário entender o seu ciclo de vida. É só você parar pra pensar, como que quando você volta de uma ligação por exemplo para a aplicação que estava anteriormente aberta, suas informações ainda continuam lá, isto ocorre por causa do ciclo de vida da activity. Nada melhor que uma imagem para exemplificar tudo isto.

Fonte: http://developer.android.com/guide/components/activities.html
Ciclo de vida de uma activity

Então vamos tentar entender como tudo funciona. O primeiro método do ciclo de vida é o método onCreate. Neste método a activity é criada pela primeira vez , assim como os componentes gráficos que irão aparecer na tela, isso mesmo, irão aparecer pois neste método eles ainda não mostrados para o usuário. O segundo método a ser chamado é o método onStart, que é chamado antes dos componentes ficarem visíveis na tela, obrigatoriamente, SEMPRE depois do método onCreate é chamado o método onStart. O próximo método é chamado onResume, e nele sim, os componentes de tela são mostrados para o usuário, permitindo interação do mesmo com a aplicação.

Quando você abre outra aplicação ou recebe uma ligação, por exemplo, o método onPause é chamado, e é recomendado que todo dado que deva ser persistido, utilize esse método para o fazer. Por exemplo, o usuário está preenchendo um formulário na sua aplicação e atende uma ligação, antes que este usuário possa perder os dados que estava digitando, quando a activity entrar no método onPause, você persiste aqueles dados para que o usuário não tenha que os digitar novamente.

Logo depois é chamado o método onStop, que significa que a aplicação já não está mais visível para o usuário. E aqui sim é uma incógnita, pois não há como ter certeza se depois desta etapa a aplicação voltará a ser mostrada ou poderá ser destruída pelo sistema. Não há como saber,portanto , se tiver dados para serem salvos, que sejam salvos no onPause.

Mas quando ela somente está na fila, e você finaliza aquela ligação telefônica, ela retorna para o usuário e entra no método onRestart, significa que ela está voltando a ativa. Mas ainda seu conteúdo não está visível, e então vai para o método onStart e onResume consequentemente. Se ela não ir para o método onRestart é então destruída. Ou até mesmo quando o usuário finaliza o app ela entra no método onDestroy.

É bem interessante o sistema android, e como ele gerencia tudo isto. Funciona como uma pilha, onde cada nova activity que é criada é adicionada a esta pilha, e sempre a mais nova activity está por cima da mais antiga. Assim você sabe com certeza que quando finalizar a activity atual, será movido para a activity anterior.

Então pessoas é isto até o proximo post, em breve mostrarei na prática como lidar com cada parte do ciclo de vida, e como isto pode ser útil para sua aplicação. Até mais.

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.