• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introdução à programação para Android
 

Introdução à programação para Android

on

  • 47,368 views

 

Statistics

Views

Total Views
47,368
Views on SlideShare
47,361
Embed Views
7

Actions

Likes
10
Downloads
1,288
Comments
1

3 Embeds 7

http://www.larback.com.br 4
http://larback.com.br 2
url_unknown 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Introdução à programação para Android Introdução à programação para Android Presentation Transcript

    • Introdução à programação para a plataforma Android Cursos de Verão na Católica 2010 Jorge C. S. Cardoso, Luís Gustavo Martins jorgecardoso@ieee.org, lmartins@porto.ucp.pt
    • Conteúdo
        • Mais alguns conceitos Java
        • O que é o Android
        • Guia desenvolvimento, APIs
        • Instalação SDK e Plugin Eclipse
        • Estrutura de um projecto Android no Eclipse
        • Ciclo de vida de uma aplicação
        • Alguns controlos (caixa de texto, botão, checkbox, slider) 
        • Aplicação exemplo: Enviar um SMS 
        • Aplicação exemplo: Calculadora de fracções
    • Mais alguns conceitos Java: Packages
        • Packages 
          • Os packages são uma organização hierárquica de classes em Java
          • Um package agrupa classes relacionadas 
          • http://download-llnw.oracle.com/javase/1.4.2/docs/api/
        • Para usarmos as classes de um determinado package temos de indicar explicitamente (no ficheiro da classe) que queremos utilizar uma classe concreta ou todas as classes desse package.
      • import java.math.*;
        • Todos os ficheiros importam automaticamente o package java.lang.*;
    • Mais alguns conceitos Java: Packages
        • As nossas classes também têm de ficar associadas a uma package
        • (Se não o fizermos explicitamente, ficam associadas a uma package default vazia)
        • Normalmente, usa-se uma estrutura tipo nomes de domínio da internet, invertida:
          • eu.jorgecardoso.cvc2010.Veiculo
        • (No nosso computador, cada uma das palavras é mapeada no nome de uma pasta
          • eu/jorgecardoso/cvc2010/Veiculo.java )
          •  
      • APIs / Documentação
    • O que é o Android
      • "Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The  Android SDK  provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language." -  http://developer.android.com/guide/basics/what-is-android.html
      • - Sistema operativo com kernel Linux
      • - Framework aplicacional baseado em Java
      • - Máquina virtual Dalvik (optimizada para dispositivos móveis)
    • Bye, bye, Apple :) http://www.bbc.co.uk/news/technology-10839034
    • Guia de desenvolvimento, APIs
      • http://developer.android.com/guide/index.html
      • http://developer.android.com/reference/packages.html
    • Desenvolver aplicações Android em Eclipse
        • Eclipse: 
          • http://www.eclipse.org/
          • É um ambiente integrado de desenvolvimento (IDE); editor, compilador, debugger, referência, etc
        • Android SDK: 
          • http://developer.android.com/sdk/index.html
          • Bibliotecas, ferramentas e emulador Android
        • Plugin Android para Eclipse: 
          • http://developer.android.com/sdk/eclipse-adt.html
          • Acesso às bibliotecas, ferramentas e emulador a partir do Eclipse
    • Instalação SDK e Plugin
        • SDK
          • Descarregar (link no slide anterior)
          • Descompactar e copiar para qualquer sítio no disco.
        • Plugin
          • No eclipse ir a Help -> Install new software
          • Adicionar o site  https://dl-ssl.google.com/android/eclipse/
          •   Marcar "Developer tools" e instalar
        • Depois de instalado o plugin
          • Ir a Window -> Android SDK and AVD Manager -> Available packages 
            • Marcar e instalar
    • Criação emulador
        • Window -> Android SDK and AVD Manager -> Virtual Devices
          • New 
        • Seleccionar o dispositivo 
          • Start
      •     
    • Criar um projecto Android
      • File -> New -> Project : 
      • Android -> Project
      • Escolher um "Build Target"
      • Definir :
        • "Application name" (qualquer coisa), 
        • "Package name" (do género com.jorge.android), 
        • "Create Activity" (.NomeDaClasse) e 
        • "Min SDK Version" (é um valor inteiro da coluna API no Build Target)
    • Estrutura de um projecto Android no Eclipse
        • assets
          • Ficheiros externos que a nossa aplicação usa
        • bin
          • O projecto compilado 
        • gen.com.jorge R.java 
          • É gerado automaticamente e contém identificadores de recursos
        • res
          • Recursos (imagens, texto e layout) 
        • src
          • O nosso código fonte.
          • É criado um esqueleto automaticamente 
        • AndroidManifest.xml
          • Definições da aplicação
          • Não vamos mexer
    • Ciclo de vida de uma aplicação Android
        • Um bocado mais complexa do que o ciclo de vida de uma aplicação desktop...
      http://developer.android.com/guide/topics/fundamentals.html#actlife
    • Activity
        • A classe Activity é a classe que implementa o ciclo de vida descrito e serve de base a uma aplicação.
        • Todas as aplicações são subclasses de Activity
          • Fazem override dos métodos relativos ao ciclo de vida (que interessarem à aplicação)
        • Definida no package 
          • android.app
            • http://developer.android.com/reference/android/app/Activity.html
    • Ciclo de vida de uma aplicação Android
        • Ver projecto "android-1"
        •  
        • Abrir a consola
          •   Window -> Show view -> Other : Android -> Logcat
    • Correr a aplicação no emulador
        • (Se o emulador não estiver a correr)
          •   Window -> Android SDK and AVD Manager -> Virtual Devices : Seleccionar o dispositivo : Start
        • Run
    • Alguns controlos
        • A classe base para os componentes gráficos num ecrã é a classe View
        • Todos os controlos são subclasses de View:
          • Botões
          • Caixas de texto (label e editável)
          • Scroll
          • Checkbox
        •   Um ecrã de uma aplicação tem, tipicamente, vários componentes, e.g., uma caixa de texto, um botão, uma checkbox, etc.
        • Para criarmos esta estrutura temos de organizar os componentes hierarquicamente
          • Temos de usar componentes que podem conter eles próprios vários componentes: ViewGroup
    • ViewGroups
        • Um ViewGroup é um painel ao qual podemos adicionar outras Views (ou outros ViewGroup)
          • A classe ViewGroup é ela própria subclasse de View
          • Mas não tem representação visual, apenas serve para organizar os componentes lá dentro
        • Existem diferentes ViewGroup que organizam os componentes de forma diferente
    • ViewGroups
        • A janela da aplicação apenas tem associada uma única View
          • Normalmente associamos uma ViewGroup (subclasse de View) para podermos associar à ViewGroup todos os outros controlos
    • Alguns controlos
        • A maior parte dos controlos gráficos estão no package
          • android.widget
            • http://developer.android.com/reference/android/widget/package-summary.html
        • As classes View e ViewGroup estão em
          •   android.view
            • http://developer.android.com/reference/android/view/package-summary.html
    • Alguns controlos
        • Todos os controlos têm um construtor que necessita de um Context
          • Este parâmetro é a nossa Activity (subclasse indirecta de Context)
        • Ver projecto "android-2"
    • Eventos de input
        • Para detectarmos eventos relacionados com os controlos (eventos gerados por input do utilizador) temos de associar ao controlo um objecto que escuta as notificações dos eventos em que estamos interessados. 
        • Cada controlo pode definir eventos diferentes e, por isso, classes diferentes que escutam esses eventos.
    • Eventos de input
      • public class Controlos extends Activity implements OnClickListener {
      •      Button btn;
      •      public void onCreate(Bundle savedInstanceState) {
      •          super.onCreate(savedInstanceState);
      •         
      •          // Um botão com o texto 'olá'
      •          btn = new Button(this);
      •          btn.setText("Olá");
      •          // vamos escutar clicks no botão
      •          btn.setOnClickListener(this);
      •         
      •          setContentView(btn);
      •      }
      •      // A interface OnClickListener define apenas este método que temos de implementar
      •      @Override
      •      public void onClick(View view) {
      •          Log.i("Controlos", "Botão pressionado");
      •      }
      • }
    • Listeners
        • Por exemplo, um Button, gera eventos quando é clicado, enviando notificações para o objecto do tipo OnClickListener que está registado no Button.
        • Ver projecto android-3
          • Experimentem adicionar outro botão
        • Ver projecto android-4
    • Exemplo calculadora de fracções
      • Ver projecto FractionCalculator
    • Exemplo SmsSender
      • Ver projecto SMSSender
    • Fim
      • Cursos de Verão na Católica 2010
      • http://porto.ucp.pt/cvc/
      Jorge C. S. Cardoso, Luís Gustavo Martins jorgecardoso@ieee.org, lmartins@porto.ucp.pt http://slideshare.net/jorgecardoso (tag: cvc2010) Código fonte:  http://db.tt/AOFOfA2