MyFirstApp – Seu primeiro aplicativo

Olá pessoas, voltando então a postar no blog, hoje vou ensinar como criar um aplicativo. Para não confundir muito a cabeça, vamos começar bem simples, fazendo uma aplicação com um texto e um botão, e vamos fazer com que o botão mude o conteúdo do texto. Entendendo bem os princípios básicos de cada elemento fica fácil depois fazer qualquer projeto.

Bom primeira coisa é criar um projeto. Não vale a pena aqui toda vez ensinar como cria um projeto, mas dá uma olhada aí no blog que tem um post falando sobre isso: https://paulacr.net/2014/11/19/criando-uma-simples-aplicacao-android/

Depois que você criou uma aplicação vamos começar com o layout, para preparar nossa aplicação. Primeira coisa a fazer é abrir o arquivo de layout. Geralmente quando você cria um projeto o próprio android studio já cria uma classe MainActivity.java e um layout activity_main.xml. O layout estará contido dentro da pasta res/layout. A pasta res é a pasta onde contém os recursos usados pela aplicação como imagens, textos, dimensões, etc. Observem a figura abaixo:

Criando layout e adicionando um botão
Criando layout e adicionando um botão

O item 1 mostra onde está alocado o layout criado, caso você queira criar um novo é só clicar no package layout com botão direito e criar um novo. O item 2 mostra um “Button”. Que é o elemento que iremos adicionar, como o android já faz um layout com um Texto basta somente adicionarmos um botão para fazer nosso app. Percebam o seguinte, existem duas formas de criar este arquivo de layout, uma delas é arrastando os itens desta paleta, outra forma é construir layout via código xml, como mostra a figura abaixo.

Construindo layout via código xml
Construindo layout via código xml

Com a prática acaba ficando mais fácil fazer via código mesmo, mas inicialmente comecei arrastando, aí é mais uma questão de escolha mesmo. Perceba no rodapé da figura destacado em vermelho duas abas “Design” e “Text”, é nesta aba que é possível trocar de modo de layout, ou seja, modo design é arrastando os elementos gráficos e modo text para digitar em código xml. O Android Studio também possui uma grande vantagem que é de mostrar em tempo real tudo que você vem fazendo no layout, então assim que você adiciona um item, ou insere algum atributo para este item, ele já mostra no celular posicionado ao lado do código. Você também pode já escolher um celular que seja mais próximo de seu objetivo com a aplicação. Existem diversos modelos disponíveis.

Insira um botão nesta tela, contendo os atributos mostrados na figura abaixo:

Adicionando um botão ao layout
Adicionando um botão ao layout

Assim então ficará o layout e os atributos de cada elemento. Percebam que além dos atributos que já estavam gerados pela IDE pelo fato de ja ter layout pronto, foram adicionado o id. Vou explicar um pouco cada atributo. O android exige que você determine sempre a altura e comprimento do elemento, nem que seja 0dp, é preciso ser informada. O atributo width por exemplo possui o valor “wrap_content”, que significa dizer que o tamanho do meu botão depende da quantidade de texto que ele tiver. Já se o valor for match_parent significa que a dimensão assumirá a mesma dimensão do layout pai.

O id é necessário para que possamos identificar estes elementos gráficos na nossa classe java, e assim fazer com que o texto mude seu conteúdo após pressionarmos o botão.

Então agora vamos a parte legal: vamos trabalhar em nossa classe java para vermos funcionando. Abra a classe java onde iremos implementar a lógica do nosso código, como mostra a figura abaixo:

Criando a lógica na classe java
Criando a lógica na classe java

Dentro da pasta java, temos o package do app, neste caso temos um só package, mas em projetos normalmente temos vários. E ali temos nossa classe: MainActivity.java, abra esta classe, e vamos a alguns detalhes aqui.

Esta classe é herdada da classe ActionBarActivity que nos mostra que ela é uma activity, ou seja, uma activity representa uma tela (em raríssimos casos não será uma tela). E para ser uma tela eu preciso informar pra ela qual arquivo de layout representa a tela, por isso, no Android é separado entre layout e lógica do app. Existe a possibilidade de criar cada elemento visual do layout em tempo de execução, porém, até mesmo o Google recomenda o uso de layouts em formato xml.

Sublinhei em vermelho uma linha de comando super importante, setContentView(R.layout.activity_main), usando este comando chamamos o nosso layout. Todo elemento gráfico e layout criado possui um correspondente dentro da classe R, caso eu altere, o android gera novamente na classe R. É uma classe onde não devemos mexer, mas toda vez que precisarmos localizar qualquer elemento faremos por ela.

Bom, agora se você tentar rodar a aplicação, ela irá realmente rodar e aparecerá o nosso layout, claro que por enquanto nenhum botão e texto possui nenhuma ação.

Faça isso, plugue seu aparelho na porta usb, e dê o play, caso não possua um aparelho android, siga esta documentação do Google para configurar um. (https://developer.android.com/tools/devices/managing-avds.html).

Rodando a aplicação pela primeira vez
Rodando a aplicação pela primeira vez

OK, agora vamos implementar a lógica que possibilitará pressionarmos o botão e mudar o texto. Volta lá para sua classe java MainActivity.java, e vamos continuar.

Primeira coisa vamos “encontrar” os elementos na classe java, lembra daquele Id que falei anteriormente, no layout xml, então agora ele será muito útil. Para fazer isto, você precisa dar um nome a sua view (todos os elementos gráficos acabam sendo uma view), e encontrar o id. Por exemplo:

Button meuBotao = (Button) findViewById(R.id.botao)

Fazemos isso para os dois elementos: botão e texto (textview), como mostra a figura abaixo:

Encontrando cada elemento gráfico
Encontrando cada elemento gráfico

É necessário fazer um “cast” porque como estes elementos são views, preciso encontrar dentro da classe view o elemento específico que desejo. Agora estou dizendo especificamente quero o botão e texto que estão no layout.

Agora também vamos gerar o evento de pressionar o botão. É necessário implementar a interface de clickListener, pode ser feito direto no código. Mais pra frente mostrarei de outra forma, mas agora vamos pelo mais fácil de entender:

Setando um texto a partir do evento de click do botão
Setando um texto a partir do evento de click do botão

Criamos então um evento para o click do botão. Perceba que, quando o botão for clicado o que estiver dentro do método onClick será executado. Aí vai da necessidade da aplicação, pode ser um edittext, botão, loading, enfim, usem a criatividade. Executa o app aí que você vai ver o que acontece quando clicar no botão.

Rodando o app e pressionando o botão
Rodando o app e pressionando o botão

Então pessoal, aí está o nosso click de botão sendo interceptado por um evento. Pode ser utilizada esta mesma lógica para várias aplicações, com outros componentes de view também, uma boa parte dos componentes permitem essa interação, utilizando o clickListener.

Espero ter ajudado, e dúvidas e sugestões podem entrar em contato, adicionar nas redes sociais.

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.