Ententendo Layouts Parte II – Gerenciadores de Layout

Olá pessoas, vamos falar hoje então de gerenciadores de layout. No último post eu já falei um pouco, e agora vamos aprofundar neste conhecimento. Somente relembrando, os gerenciadores de layout serão responsáveis por armazenar todos os widgets (componentes gráficos) que teremos. Falei também que não é preciso se prender a somente um layout, mas sim fazer uma mescla dos gerenciadores de layout que você necessita. Então agora vamos entender um pouco melhor cada um deles.

AbsoluteLayout – Este layout já está obsoleto e não é mais recomendado utilizá-lo. Ele permite posicionar os componentes na tela através de coordenadas x e y.

FrameLayout – Foi projetado para alocar somente um componente gráfico. É recomendado que se utilize o framelayout para alocar somente um componente, já que seria um tanto custoso alocar mais views filhas, pela questão de posicionamento.

LinearLayout – É com certeza um dos layouts mais utilizados em android. Ele organiza suas entidades filhas em colunas ou linhas. Possui uma propriedade que define a orientação, ou seja, vertical ou horizontal: android:orientation=”vertical”. Ideal para quando se quer que os componentes estejam alinhados. O posicionamento dos componentes é relativo ao layout-pai.

LinearLayout
LinearLayout

RelativeLayout – Neste layout há um diferencial. É possível posicionar os componentes gráficos em relação a outros componentes ou ao layout-pai. Ou seja, se você tiver dois textos dentro deste layout e quiser que a posição de um texto seja relativa a posição do outro texto, aqui é possível. Também é um dos layouts mais utilizados.

RelativeLayout
RelativeLayout

Um fato a ser considerado é que a imagem mostrada acima, do RelativeLayout, também é possível obter com o LinearLayout, claro que teríamos então dois layouts lineares dentro de um Linear-pai, e somente trabalhando com algumas propriedades, poderíamos chegar ao mesmo resultado. O mais importante na hora de escolher o layout, é pensar em multi-resoluções de telas. Ou seja, os Layouts foram projetados para que o desenvolvedor pudesse adaptar o mesmo arquivo de layout para diversas dimensões de telas, já que sabemos que no android existem diversos tamanhos com resoluções diferenciadas. O mais importante é isto, o resto só vem com a prática.

Até o próximo tutorial.

Anúncios

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.

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

Paula Rosa

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…

Ver o post original 233 mais palavras

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!!!