android aprendiz androidpro

37
ANDROID APRENDIZ Um guia para iniciantes Crie seu primeiro aplicativo Android

Upload: leticiacardoso

Post on 17-Dec-2015

78 views

Category:

Documents


12 download

DESCRIPTION

Android

TRANSCRIPT

  • ANDROID APRENDIZ

    Um guia para iniciantesCrie seu primeiro aplicativo Android

  • Android AprendizUm guia para iniciantes

    Crie seu primeiro aplicativo Android

    Fillipe Cordeiro

  • Sumrio

    #1 Passo: Introduo a Plataforma Android 9

    #2 Passo: Estrutura da Plataforma Android 11

    #3 Passo: Meu Primeiro Projeto Android 13

    #4 Passo: Entendendo o Projeto Android 22

    #5 Passo: Interface do Projeto Android 25

    #6 Passo: Programao do Projeto Android 32

  • Fillipe Cordeiro engenheiro e possui mais de 8 anos de experincia em desenvolvimento de

    softwares. Dentre suas experincias com desenvolvimento de aplicativos, esto tecnologias

    como Java, Android e Python. Formado em Engenharia da Computao, dedica-se a levar

    conhecimento de alto nvel a profissionais e aprendizes que, como ele, acreditam que o

    Mobile e a Internet das Coisas no esto no futuro e sim no presente.

    Sobre o Autor

  • O objetivo deste livro e apresentar voc ao mundo do Android de uma forma fcil e rpida,

    sem muita enrolao.

    Hoje em dia, cada vez mais pessoas utilizam o celular para acessar a Internet, o volume

    tanto que o acesso web, por dispositivos mveis, j esta quase superando o acesso dos

    computadores tradicionais. Por essa razo, muitas empresas, na rea mobile, faturam milhes

    anualmente desenvolvendo aplicativos prprios e para terceiros.

    Com a altssima demanda por profissionais qualificados e a grande falta destes, comeam a

    aparecer grandes oportunidades para quem quer seguir uma carreira como desenvolvedor

    Android, seja em grandes empresas ou autnomos.

    O livro Android Aprendiz mostra exatamente o marco inicial do caminho a ser percorrido, para

    que voc adentre o mundo da plataforma e, num breve futuro, alcance esse grau de

    profissionalismo. um contedo de qualidade, focado na criao de sua primeira aplicao

    Android e est disponvel gratuitamente.

    Sobre o livroSobre o Livro

  • muito comum aparecerem dvidas durante o aprendizado de uma nova plataforma. Neste

    momento, no ser diferente.

    Quando comecei a estudar sobre o Android, tive muitas duvidas sobre muitas coisas e

    conceitos. s vezes, era difcil achar respostas claras para o que eu buscava.

    Por isso, para que voc possa se desenvolver o mais rpido possvel, estou disponibilizando

    meu e-mail para entrar em contato, quando suas dvidas surgirem. Eu responderei a todos os

    e-mails; ento, no deixe de me contatar, caso esteja com alguma dificuldade.

    Dvidas

    Android Pro8

    [email protected]

  • muito comum surgirem muitas dvidas sobre uma plataforma muito antes de voc comear

    a estud-la; por isso este material tem como misso passar o mximo de informaes

    possveis para dar todo o conhecimento que voc precisa saber sobre a plataforma do

    Google.

    Hoje, o Android a plataforma mobile mais utilizada. Vejamos alguns dados estatsticos para

    entender o alcance que essa plataforma tem pelo mundo.

    Introduo a Plataforma Android

    9 Android Pro

    Esse quadro apresenta os dados do site Statista, at julho de 2013, onde podemos ver que

    foram feitos mais de 50 bilhes de downloads de aplicativos pelo mundo todo.

    Outro dado muito interessante a quantidade de aparelhos em que o Android est presente,

    85% dos aparelhos em mais de 190 pases. E esses nmeros no param de crescer, pois

    segundo o Google, a cada dia, mais de um milho de usurios novos chegam ao Android para

    consumir jogos e aplicativos.

  • Claro que, com todas essas pessoas utilizando a plataforma, gera muita demanda para a

    criao de aplicativos e jogos de diversas reas. Muitas empresas esto incorporando, em

    seu Negcio, aplicativos mobile e cresce o nmero de empresas especializadas em

    desenvolvimento de aplicativos para terceiros.

    Toda essa demanda de desenvolvimento de aplicativos acaba influenciando o mercado de

    trabalho de desenvolvimento de aplicativos e jogos. Hoje, o mercado mobile est muito

    aquecido e muito exigente para com o desenvolvedor mobile.

    Muitos desenvolvedores usam seu tempo livre para desenvolver aplicativos prprios e publicar

    na Google Play, para lucrar com a venda ou publicidade. Existem tambm um mercado muito

    grande de trabalhos de freelancer, principalmente, vindos de agncias que tm uma demanda

    muito grande de projetos.

    Um bom desenvolvedor Android tem de saber dar qualidade ao aplicativo que est

    desenvolvendo e isso inclui boa qualidade de cdigo, alta produtividade no desenvolvimento e

    conhecimento em integraes de sistemas.

    Existem diversas ferramentas e frameworks que ajudam o desenvolvedor com ganho de

    produtividade e a minimizar bugs em seus aplicativos, melhorando, assim, a qualidade do

    software.

    Introduo a Plataforma AndroidAndroid Aprendiz

    10 Android Pro

  • Desde 2007, o Android vem sofrendo atualizaes e a cada verso que lanada a

    plataforma fica mais poderosa em termos de processamento e integrao com outros

    aparelhos eletrnicos. Veja, na tabela abaixo, a lista das verses da plataforma.

    Estrutura da Plataforma Android

    Android Pro

    Podemos ver que a verso Jelly Bean, hoje, a mais utilizada pelos usurios.

    Recentemente, o Google lanou a verso 5.0 da plataforma chamada Lollipop; como ainda

    muito recente, no tem dados estatsticos oficiais no site oficial do Android. Essa nova verso

    vem com muitas novidades e houve mudanas significativas na plataforma, uma aposta

    muito grande do Google e vem com conceitos que influenciam diretamente no

    desenvolvimento de aplicativos e jogos para o Android.

    Nos prximos pargrafos vamos entender melhor sobre a arquitetura da plataforma.

    (Fonte: https://developer.android.com/about/dashboards/index.html)

    11

  • Todo usurio de Android sabe as funes bsicas da plataforma, como fazer uma chamada,

    enviar uma mensagem de texto, mudar as configuraes do sistema, instalar ou desinstalar

    aplicativos etc. Bem! Todos os usurios do Android sabem isso, mas no o suficiente para

    ser um desenvolvedor Android. Ento, vou explicar as camadas que compem a plataforma

    Android para que voc inicie o caminho como desenvolvedor Android.

    Estrutura da Plataforma AndroidAndroid Aprendiz

    12 Android Pro

    Aplicativos

    Frameworks, Servios e Bibliotecas

    Bibliotecas e Servios nativos

    Linux

    http://androidannotations.org/ http://square.github.io/retrofit/

    Intents Activities

    ServicesWidgets

    A figura acima mostra todas as camadas da plataforma e podemos ver que a base de todo

    Android desenvolvida baseada em Linux:

    Aplicativos: So os aplicativos e jogos desenvolvidos em Java.

    Frameworks, servios bibliotecas, geralmente, tambm escritos em Java e servem para

    facilitar o desenvolvimento de aplicativos e jogos.

    Bibliotecas e servios nativos so recursos que j vm com o Android, para serem

    utilizados pelo desenvolvedor.

    Linux a base de tudo e inclui todos os drivers de hardware e redes (Bluetooth,

    cmeras, USB, GPSs etc), sistemas de arquivos e processamento.

    Os aplicativos e jogos so desenvolvidos, utilizando a linguagem de programao Java e, hoje

    pela internet, existe muito material sobre essa linguagem desde o bsico at o mais

    avanado.

  • Neste capitulo, vou ensin-lo a cria seu primeiro Projeto Android. Para isso, preciso ter o

    ambiente de desenvolvimento configurado j com a ferramenta Eclipse ADT e o Android

    SDK.

    Caso ainda no tenha seu ambiente configurado, d uma olhada no Post escrito por mim

    Android: Configurando o Ambiente de Desenvolvimento no Blog Produo de Jogos.

    Se voc j configurou seu ambiente, hora de colocar a mo na massa.

    Meu primeiro Projeto Android

    13 Android Pro

  • J que esta sua primeira vez, criando um aplicativo Android, inicie a criao do seu projeto

    pelo caminho mais simples com a ajuda da ferramenta Eclipse ADT.

    Execute o Eclipse ADT que est localizado dentro da pasta do Android SDK, conforme visto

    na configurao do ambiente de desenvolvimento.

    Ele deve se parecer com a imagem abaixo:

    Meu primeiro Projeto AndroidAndroid Aprendiz

    14

    primeira vista, o Eclipse ADT pode parecer um pouco confuso, com tantos botes,

    funcionalidades e telas, mas no se preocupe com isso agora. A princpio, ignore todos os

    botes e funcionalidades que ainda no aprendeu que, no decorrer do livro, vou explicar

    alguns deles.

    Android Pro

  • Agora crie seu projeto Android, acessando o menu da seguinte forma:

    Arquivo > Novo > Projeto de Aplicativo Android

    Ou em ingls: File > New > Android Application Project

    Deve aparecer uma tela como a figura a seguir:

    Meu primeiro Projeto AndroidAndroid Aprendiz

    15

    Explicarei os elementos dessa primeira tela antes de voc comear as configuraes:

    Application Name: Nome do aplicativo que ser configurado automaticamente. o

    nome que aparece no cone, quando voc instala um aplicativo no seu celular.

    Project Name: o nome do projeto dentro do Eclipse ADT. No, necessariamente,

    precisa ser o mesmo que o Application Name.

    Package Name: o nome do pacote onde ficaro seus cdigos Android. No

    desenvolvimento Java, uma boa prtica utilizar desta forma, considerando que

    estamos no Brasil, br.com.suaaplicacao.

    Android Pro

  • Minimum Required SDK: a verso minima do Android, suportada pelo seu

    aplicativo.

    Target SDK: a verso mxima do Android, suportada pelo seu aplicativo.

    Compile With: a verso do Android que vamos utilizar para compilar o projeto, ou

    seja, onde esto as bibliotecas nativas da plataforma para gerar o executvel do

    aplicativo. Essa verso costumar ser a mesma configurada em Minimum Required

    SDK.

    Theme: um tema padro que o Eclipse ADT vai configurar no seu projeto

    automaticamente, com alguns componentes.

    Agora, preencha os dados da tela conforme a figura abaixo:

    Meu primeiro Projeto AndroidAndroid Aprendiz

    16

    Clique no boto Next > para ir para o prximo passo da configurao.

    Android Pro

  • Na tela abaixo, apenas desmarque a opo Create custom launcher icon. Desmarcar essa

    opo significa optar por no utilizar, nesse momento, nenhum logo ou cone customizado em

    seu aplicativo, desse modo, o cone utilizado ser o padro do Android.

    Meu primeiro Projeto AndroidAndroid Aprendiz

    17

    Clique no boto Next > para ir para o prximo passo da configurao.

    Android Pro

  • Agora, escolha um layout inicial para seu projeto. Nesse caso, escolha a opo mais bsica,

    chamada Blank Activity.

    Meu primeiro Projeto AndroidAndroid Aprendiz

    18

    Clique no boto Next > para ir para o prximo passo.

    Android Pro

  • Pronto, voc est muito perto de criar seu primeiro projeto Android. Clique no boto Finish

    para terminar todo o processo.

    Meu primeiro Projeto AndroidAndroid Aprendiz

    19 Android Pro

  • Se tudo ocorreu bem, sua tela estar parecida com o exemplo a seguir.

    Meu primeiro Projeto AndroidAndroid Aprendiz

    20

    Agora, voc vai executar o projeto, usando o emulador que ensinei a criar no Post Android:

    Configurando o Ambiente de Desenvolvimento no Blog Produo de Jogos. (no capitulo

    Configurando o Ambiente de Desenvolvimento)

    Clique com o boto direito do mouse, em cima do seu projeto MeuApp, e siga para o menu

    Run As > Android Application.

    Android Pro

  • Meu primeiro Projeto AndroidAndroid Aprendiz

    21

    Parabns!

    Voc criou seu primeiro projeto Android :D

    Android Pro

  • Agora que voc j criou seu primeiro projeto Android, vai entender do que feito o projeto,

    seus arquivos e pastas. Nesse primeiro momento, no vou explicar tudo o que compe o

    projeto, mas apenas o necessrio para voc entender por agora.

    No se preocupe em tentar decorar tudo o que cada pasta ou arquivo faz, pois no decorrer do

    seu aprendizado, isso ser algo comum para voc.

    Entendendo o Projeto Android

    Android Pro22

  • Primeiro, voc entender o arquivo mais importante do projeto Android: o AndroidManifest.

    xml.

    O AndroidManifest.xml responsvel por definir as caractersticas do projeto como

    permisses, verso, logo, nome e seus componentes. Ao longo dos estudos, voc aprender

    vrias configuraes desse arquivo.

    Veja um exemplo do arquivo:

    Entendendo o Projeto AndroidAndroid Aprendiz

    23 Android Pro

  • Outras partes que compem seu projeto Android so:

    src/: a pasta onde ficam as fontes do seu projeto, ou seja, as classes Java que voc

    desenvolve.

    res/: Contm vrios recursos do projeto como imagens, layout, xmls de configurao

    como veremos a seguir.

    o drawable/: existem vrias pastas drawable que contm as imagens utilizadas no

    projeto. Cada uma das pastas contm uma verso de uma determinada imagem,

    separadas por definio de tela.

    o layout/: nesta pasta, ficam os arquivo responsveis pelo design das telas do seu

    projeto.

    o menu/: nesta pasta, ficam os arquivos xml referente aos menus do seu projeto.

    o values/: contm outras configuraes em xml para parametrizao do projeto

    como cores, mensagens dentre outras.

    Entendendo o Projeto AndroidAndroid Aprendiz

    24 Android Pro

  • Neste captulo, voc estudar um pouco a interface grfica do Android, como ela funciona e

    sua estrutura.

    Basicamente, todos os componentes visuais do Android so baseados em View e

    ViewGroup. As Views so componentes como botes, campos de texto, combo-box dentre

    outros. Os ViewGroups so componentes de organizao de layout como listas e tabelas, ou

    seja, agrupamento de Views.

    A hierarquia dos componentes pode ser representada desta forma:

    Interface do Projeto Android

    Android Pro25

  • Para entender melhor sobre o View e ViewGroup, voc vai usar seu projeto como exemplo,

    abra o arquivo activity_main.xml.

    Interface do Projeto AndroidAndroid Aprendiz

    26 Android Pro

    Nesse exemplo, h dois componentes que compem a interface da tela principal do projeto:

    RelativeLayout: um ViewGroup que posiciona os componentes filhos em relao

    uns aos outros ou em relao ao prprio RelativeLayout.

    TextView: uma View que basicamente serve para mostrar um texto para o usurio.

    TextView

    RelativeLayout

  • Agora, coloque a mo na massa, adicionando dois componentes novos em sua tela principal.

    Remova o TextView e adicione um EditText e um Button. O arquivo vai ficar dessa forma:

    Interface do Projeto AndroidAndroid Aprendiz

    27 Android Pro

    Entenda alguns atributos importantes das Views:

    android:layout_width/android:layout_height: definem o tamanho do componente e

    so obrigatrios para todas as Views.

    android:id: um identificador nico que faz referncia a View. Sempre que for definir

    um id para um componente, ele seguir essa forma @+id/NOME_DO_ID, onde o @+

    indica que estamos criando um id para aquela View.

    android:hint: um valor padro que mostrado, quando o campo texto est vazio.

    android:layout_below: posiciona o componente abaixo de outra View.

  • Execute o projeto no emulador, para ver como ficou seu aplicativo. Lembrando que, para

    executar seu projeto, clique com o boto direito do mouse em cima do projeto e v em Run

    As > Android Application.

    Interface do Projeto AndroidAndroid Aprendiz

    28 Android Pro

    Bom, voc j deu uma cara diferente para seu projeto, usando novos componentes. Por

    mais simples que seja, j um aplicativo que pode interagir com o usurio.

  • Voltando um pouco para o layout principal activity_main.xml, voc ver que o Eclipse est

    sublinhando de amarelo duas linhas do seu arquivo e mostrando a seguinte mensagem.

    [I18N] Hardcoded string "Digite seu nome", should use @string resource

    [I18N] Hardcoded string "Saudao", should use @string resource

    Mas o que isso quer dizer?

    A ferramenta est avisando-o de que no est seguindo uma boa prtica de desenvolvimento

    e est colocando as mensagens direto na sua View. Ele ainda indica para usar uma @string

    resource no lugar das mensagens.

    Qualquer texto que for utilizado no seu projeto, sempre deve estar dentro de Resources. Os

    Resources permitem que voc gerencie suas mensagens e outros dados em um nico local e

    ajuda, tambm, a adicionar suporte de vrios idiomas ao seu aplicativo.

    Os Resources ficam na pasta values do seu projeto e, nesse caso, ir utilizar o strings.xml,

    para colocar seus textos.

    Interface do Projeto AndroidAndroid Aprendiz

    29 Android Pro

  • Abra o arquivo strings.xml.

    Pode-se ver que j existem algumas strings configuradas no arquivo.

    Interface do Projeto AndroidAndroid Aprendiz

    30 Android Pro

    MeuApp Hello world! Settings

    Vamos adicionar mais duas strings no arquivo, que deve ficar assim:

    MeuApp Hello world! Settings Digite seu nome Saudao

    Basicamente, voc adicionou uma tag string com um contedo e deu um nome a ela.

    Mensagem X

    Lembrete: todas as mensagens utilizadas no seu projeto devem estar dentro desse

    arquivo e nunca diretamente no cdigo ou nos arquivos de layout.

    Legal! Voc adicionou as strings dentro do arquivo, agora precisa ir para o arquivo

    activity_main.xml e trocar as mensagens pela referncia delas.

  • Interface do Projeto AndroidAndroid Aprendiz

    31 Android Pro

    Veja que trocou as mensagens pelas referncias delas. Dessa forma, fica muito mais fcil

    gerenciar todas as mensagens do projeto.

    O arquivo activity_main.xml vai ficar assim.

  • Neste captulo, voc ver um pouco de programao e entender como interagir com a

    interface grfica do projeto.

    preciso mostrar uma saudao para o nome que foi digitado no campo de texto; para isso,

    voc precisa colocar uma ao no boto onde, quando o usurio clicar, sua ao de saudao

    acontea, mostrando uma mensagem para o usurio junto com o que foi digitado no campo

    texto.

    Programao do Projeto Android

    Android Pro

    Ol Fulano, tudo bem?

    32

  • Abra o arquivo MainActivity.java.

    Programao do Projeto AndroidAndroid Aprendiz

    33 Android Pro

    public class MainActivity extends Activity {

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }

    @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; }

    @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }}

    Essa uma Activity, um dos componentes mais importantes do Android. Ela responsvel

    por fazer a interao da interface grfica com outras funcionalidades e bibliotecas.

  • Todas as telas do seu projeto devem estender uma Activity, dessa forma voc fala para o

    Android que aquela sua classe uma Activity tambm.

    Existe um mtodo muito importante dentro de uma Activity que o onCreate, ele

    responsvel por fazer a criao dos componentes na tela. Sempre que quiser trabalhar com

    um componente de tela usar o onCreate. Dentro do onCreate, h duas chamadas de

    mtodos, o super.onCreate(savedInstanceState) que o onCreate nativo da plataforma e o

    setContentView(R.layout.activity_main) que onde relacionamos nosso layout com nossa

    Activity.

    Sendo assim, voc precisa resgatar os componentes pelos ids, para poder trabalhar com

    eles. A Activity do Android tem um mtodo chamado findViewById onde pode pegar seu

    campo de texto e o boto.

    Veja abaixo como fica seu cdigo para fazer isso dentro do mtodo onCreate:

    Programao do Projeto AndroidAndroid Aprendiz

    34 Android Pro

    public class MainActivity extends Activity {

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

    // Resgatamos nossos componentes pelo id final EditText editTextNome = (EditText) findViewById(R.id.editTextNome); final Button btnAcao = (Button) findViewById(R.id.buttonAcao); }

    ...

    Agora que j tem seus componentes, pode comear a trabalhar com eles para atingir seu

    objetivo, mostrar uma mensagem de saudao para o nome digitado no campo de texto.

  • Agora, voc vai adicionar uma ao em seu boto, utilizando o mtodo setOnClickListener.

    Dentro do clique do boto, pega o nome dentro do campo de texto e mostra uma mensagem

    na tela do usurio, utilizando um Toast. O Toast uma mensagem rpida que aparece para o

    usurio e desaparece depois de alguns segundos.

    Programao do Projeto AndroidAndroid Aprendiz

    35 Android Pro

    public class MainActivity extends Activity {

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

    // Resgatamos nossos componentes pelo id final EditText editTextNome = (EditText) findViewById(R.id.editTextNome); final Button btnAcao = (Button) findViewById(R.id.buttonAcao);

    // Adicionando uma ao no clique do boto btnAcao.setOnClickListener(new View.OnClickListener() {

    @Overridepublic void onClick(View v) {

    // Pegamos o conteudo do campo de textoString nome = editTextNome.getText().toString();

    // Mostramos uma mensagem na tela do usurioToast.makeText(MainActivity.this, "Ol, " + nome + " tudo

    bem?", Toast.LENGTH_LONG).show();}

    }); }

    ...

    Execute seu projeto no emulador e veja o resultado.

  • Muito bem! Voc cumpriu o objetivo, fez uma saudao personalizada para qualquer nome

    digitado no campo de texto.

    Programao do Projeto AndroidAndroid Aprendiz

    36 Android Pro

  • Esse, foi apenas o incio da sua jornada para se tornar um desenvolvedor de aplicativos para

    Android.

    Porm, antes de partir, gostaria de deixar dois desafios para voc como um bnus. Desafios

    so sempre bons para voc comear a pensar na resoluo de problemas dentro da

    plataforma Android.

    Espero que nos vejamos em breve, com mais oportunidades, muito mais contedo e um maior

    grau de dificuldade.

    At j!

    Concluso

    Android Pro37

    #1 Desafio: Boas prticasAdicione a mensagem de saudao dentro de strings.xml e o utilize dentro do Toast.Dica: para recuperar a mensagem na Activity utilize o mtodo getString(resId)

    #2 Desafio: Componentes da telaAdicione mais um campo sobrenome abaixo do campo nome e o utilize na mensagem de saudao.