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

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.

Tutorial # 1 – Desenvolvedor Android: por onde começar??

Você decide então entrar pra esse mundo de desenvolvimento Android. Mas por onde começar? Bom aqui neste tutorial vou descrever um pouco sobre onde encontrar referências, quais são as ferramentas necessárias pra começar a desenvolver.

Referências Técnicas

A sua maior referência deve ser este site: http://developer.android.com , que é onde você irá encontrar toda documentação oficial, além de conter tutoriais bem interessantes, e não menos importantes as guidelines (que serão abordadas no próximo tutorial). Sempre priorize verificar toda documentação do que você quer implementar neste site, afinal, além de ser a documentação oficial do android, ele possui muitos tutoriais também.

Android Developers Website
Android Developers Website

Outra referência que utilizo bastante, que serve mais para dúvidas é o fórum http://stackoverflow.com/ , que, na minha opinião, é um dos fóruns mais acessados por desenvolvedores Android. Já consegui resolver muitos problemas, e aí tem um galera super legal pra te ajudar.

Preparando o ambiente de desenvolvimento

Existem 3 Passos básicos a serem seguidos: instalação da IDE e instalação da SDK.

Instalação da IDE e SDK

Existem 3 IDE´s mais utilizadas no desenvolvimento Android: Eclipse, Eclipse ADT e Android Studio. Na minha opinião é uma questão de gosto mesmo. Eu utilizo o ADT Bundle que é uma versão do eclipse destinada à desenvolvimento Android, mas por um tempo também usei o Eclipse convencional. Nesse link (http://developer.android.com/sdk/index.html). E se você já possui o Eclipse instalado basta fazer o download da SDK do Android.

Instalando a IDE
Instalando a IDE

Bom Galera, esse foi só o primeiro tutorial, no próximo vou mostrar a importância das Guidelines, Estrutura de um Aplicativo Android e os primeiros passos pra você começar a pôr a mão na massa. Aqui é assim: conforme eu vou aprendendo eu vou te ensinando. A ideia era mesmo fazer uma série de tutoriais pra compartilhar aquilo que já sei, mas não significa que eu domine a programação Android, bem pelo contrário. Espero que gostem e mandem dúvidas e sugestões!!!

Tutoriais

O objetivo desta seção do blog é compartilhar o que já sei de desenvolvimento Android. Todo aprendizado que hoje sei, foi proveniente de muito estudo e dedicação, que em 3 meses, me fizeram aprender o suficiente para publicar minha primeira app Android na Play Store. Aqui, descreverei de uma forma simplificada, tudo que aprendi, tentando proporcionar ao leitor do blog, uma oportunidade de aprender de um jeito mais fácil a programação da plataforma. Gostou, não gostou, quer sugerir ou opinar? Entre em contato comigo através de minhas redes sociais. Eu por enquanto, apesar de estar no nível básico, acredito que este pouco conhecimento servirá de base para quem não sabe muita coisa.

 

Espero que gostem!!!