Introdução ao Google Android

Documentos relacionados
TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis

A plataforma Android: Uma Introdução

Descrição geral do Android

Android OLÁ MUNDO MÓVEL. Prof. Dr. Joaquim assunção.

Introdução ao Desenvolvimento para Sistema Operacional Android

O que é o Android? O que é o Android

Prof: Ricardo Quintão Site:

Módulo 2 - Novas Activities Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Android I N T R O D U Ç Ã O À P R O G R A M A Ç Ã O P R O F E S S O R L E O N A R D O C. R. S O A R E S - L A R B A C K

Programa Analítico de Disciplina INF311 Programação para dispositivos móveis

FRAMEWORK PARA GERENCIAMENTO E DISPONIBILIZAÇÃO DE INFORMAÇÕES MULTIMÍDIA GEOLOCALIZADAS NA PLATAFORMA ANDROID

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 24/09/2010. Carlos Eugênio Torres Engenheiro de Informática

Prof: Ricardo Quintão Site:

Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ

Introdução ao Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Apresentação Introdução Ambiente de desenvolvimento Aplicativos. Minicurso Android. Dia 1. Adão Henrique R. Justo Filho UFC - DETI 16/10/2012

Computação II Orientação a Objetos

Índice. 1. Introdução Instalação: Eclipse e Android Primeira aplicação em Android... 11

Programa de Dispositivos Móveis

TUTORIAL DE INSTALAÇÃO DO AMBIENTE DE DESENVOLVIMENTO ANDROID NO UBUNTU

Android Básico Hello World!

Universidade Federal do Paraná

Introdução ao Desenvolvimento para Dispositivos Móveis

Android Core. Felipe Silveira felipesilveira.com.br. Aula 6

2ª Edição Ricardo R. Lecheta

Imagem retirada do site:

Capítulo 02: Cadastro de Alunos

Tutorial Android Speech

Android Activity. Ivan Nicoli

Curso online de Fundamentos em Android. Plano de Estudo

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega

Configurando o Ambiente de Desenvolvimento Android Studio No Windows Antes de qualquer trabalho ser iniciado no desenvolvimento de uma aplicação

Desenvolvimento para Android Aula 1. Prof. Markus Endler

Instalando o Eclipse e o Android

Projeto GoHome Tutorial Sobre o serviço do Google Maps no Android

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Android Banco de Dados. Ivan Nicoli

Desenvolvimento de um aplicativo básico usando o Google Android

Android Faixa Branca Douglas Drumond

Linguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação

PROPOSTA DE UM PADRÃO DE PROJETO PARA ANDROID UTILIZANDO A WEB

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução ao Desenvolvimento de Aplicativos Android

G-SMS: Protótipo de uma aplicação de envio de SMS georeferenciadas

DESENVOLVIMENTO DE APLICATIVO PARA GERENCIAMENTO E ACOMPANHAMENTO DE ESCAVAÇÃO ARQUEOLÓGICA

Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação. Android. Universidade Federal de Santa Catarina. 17 de dezembro de 2008

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Criando as primeiras telas (Activity)

Android e Bancos de Dados

Módulo 3 - Intenções. SECAP 2014 Prof. Rone Ilídio - UFSJ

Retrofit. Criar um novo projeto. Selecionar a API. Retrofit para consumir Web Service Luiz Eduardo Guarino de Vasconcelos

Curso de Android - 2 Novas Activities. SECAP Prof. Rone Ilídio - UFSJ

Introdução ao ANDROID Prof. Dr. Joaquim C. Assunção

Android Layout Manager. Ivan Nicoli

Prof: Ricardo Quintão Site:

Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler

Introdução ao IDE Netbeans (Programação Java)

Desenvolvimento de aplicações na plataforma Google Android

Programação de Dispositivos Móveis

Android. Marcelo

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Mini Curso Android. Rodrigo Lopes Ferreira.

Desenvolvimento Android.

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

Programação Android. Objetivos Gerais:

Programa de Dispositivos Móveis

Android MapBr. com foco na manipulação de mapas usando interfaces de programação de aplicativos do Google

Instalação JDK 10/03/2017

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

Apostila de. Programando Passo a Passo 3ª Edição. De : Luciano Alves da Silva (lucianopascal@yahoo.com.br)

Configuração do Apache Cordova Lab. 13. Prof. Bruno C. Vani

Desenvolvimento de um aplicativo básico usando o Google Android

Desenvolvedor Android: Avançado. Plano de Estudo

Ricardo R. Lecheta. Novatec

Computação II Orientação a Objetos

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

MVM Mattos Virtual Machine. Andrey de Oliveira Prof. Mauro Marcelo Mattos, Doutor FURB 2012/2

AULA 1 INTRODUÇÃO AO JAVA

MONOGRAFIA: PLATAFORMAS DE DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS

EA998/MC933 Guido Araujo e Sandro Rigo

Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG

Minicurso - Android Fábio Silva / João Paulo Ribeiro

Android: um novo paradigma de desenvolvimento móvel

Desenvolvimento de Aplicativos Android

SISTEMAS OPERACIONAIS

Laboratório 01 NetBeans

Escrito por Maicris Fernandes Qua, 08 de Maio de :00 - Última atualização Qui, 18 de Abril de :17

Programação para Dispositivos Móveis. Activity e Intent

Ferramenta 1 -NetBeans 8.0

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

Programação de Dispositivos Móveis

How to setup environment Projeto F

Login. Criar uma nova Activity. Login. Luiz Eduardo Guarino de Vasconcelos

Transcrição:

Introdução ao Google Android

Agenda O que é Android Arquitetura e componentes Android Virtual Devices (AVD) Android SDK (Software Development Kit) Android Development Tools (ADT) Estrutura básica de uma aplicação Android Utilizando os componentes visuais do Android Banco de Dados SQLite com Android Utilizando Google Maps com Android Referências e leituras recomendadas

O que é Android

O que é Android Plataforma para dispositivos móveis Um Sistema Operacional, Middleware e Aplicações de apoio. 100% OpenSource Construído sobre um Linux Kernel Desenvolvido pela Open Handset Alliance. Android SDK linguagem Java amplamente aceita e utilizada Dalvik VM

O que é Android Cada aplicação (ou serviço) roda em seu próprio processo Linux isolado. Cada processo possui sua própria JVM, isolando a aplicação em nível de código. Uma aplicação pode compartilhar dados e recursos com outras aplicações, ou utilizar recursos expostos por outras. Não faz uso de método main, mas sim de métodos de entrada padrão do SDK (public void oncreate(bundle bundle) ).

Arquitetura e Componentes

Arquitetura e Componentes Arquitetura Android (fonte: http://developer.android.com/guide/basics/what-is-android.html)

Arquitetura e Componentes Aplicações O Android fornece um conjunto básico de aplicações: Cliente de e-mail Programa para SMS Calendário Mapas Navegador Contatos Aplicações Desenvolvidas personalizadamente Todas as aplicações são escritas utilizando a linguagem de programação Java.

Arquitetura e Componentes Framework da Aplicação Um rico e extenso conjunto de Views que podem ser usadas para construir aplicações, incluindo Listas, Grids, Caixas de Texto, Botões, Web Browser etc. Content Providers que permitem que as aplicações acessem os dados de outras aplicações (Lista de Contatos, por exemplo) e para compartilhar seus próprios dados. O Resource Manager, que provê acesso a recursos que não são de código, por exemplo, as Strings internacionalizadas, gráficos e arquivos de layout XML. O Notification Manager que ativa todas as aplicações para exibir alertas personalizados na barra de status. Um Activity Manager que gerencia o ciclo de vida das aplicações e provê um rastro de navegação comum.

Arquitetura e Componentes Bibliotecas System C library - Uma implementação derivada da "libc" dos sistemas BSD. Ajustadas para desempenho máximo em dispositivos baseados em Linux. Media Libraries - Baseado no PacketVideo's OpenCORE; as bibliotecas suportam gravar e executar os mais populares formatos de áudio e vídeo, tais como imagens estáticas, MPEG4, H.264, MP3, AAC, AMR, JPG e PNG Surface Manager - Gerencia o acesso ao subsistema de "display". É a base para a renderização de gráficos 2 e 3D. LibWebCore - Uma "engine" moderna de Web Browser que potencializa o Android browser e o WebView embutido nas aplicações SGL - A "engine" para a renderização dos gráficos 2D.

Arquitetura e Componentes Bibliotecas 3D libraries - Uma implementação baseada em OpenGL ES 1.0 APIs; as bibliotecas usam, automaticamente, a aceleração 3D por hardware (se for disponível no dispositivo) ou o software otimizado para renderização. FreeType - Renderização de fontes baseados em bitmap e vector. SQLite - Uma poderosa e leve "engine" de banco de dados relacional disponível para todas as aplicações O desenvolvedor faz uso destas bibliotecas nativas através do Framework Android.

Arquitetura e Componentes Android Runtime Android inclui um conjunto de bibliotecas centrais que provêem a maioria das funcionalidades disponíveis na Linguagem Java (JDK) A Dalvik VM executa arquivos no formato.dex o qual é otimizado para a mínima utilização de memória. A Dalvik VM executa as classes compiladas pelo compilador Java (.class) que é transformado no formato.dex pela ferramenta do Android SDK chamada "dx". A Dalvik VM comunica-se diretamente com o Kernel Linux para obter o máximo de eficiência em threads e no consumo mínimo de memória e o máximo de desempenho.

Arquitetura e Componentes Linux Kernel Android é construído sobre o Kernel Linux versão 2.6 e segue os mesmos conceitos de segurança, gerenciamento de memória e processos, rede e modelo de driver. O Kernel também age como uma camada de abstração entre o hardware e o resto da camada de software.

Android Virtual Devices (AVD)

Android Virtual Devices (AVD) Android Virtual Devices (Dispositivos Virtuais do Android) é um conceito criado a partir do Android SDK 1.5 que serve para: Armazenar um conjunto de características para que o emulador possa simular exatamente a configuração de um dispositivo real. É possível criar várias configurações para testar a aplicação em várias circunstâncias diferentes Por exemplo, um dispositivo com ou sem câmera, GPS, quantidade X de memória, suporte ou não à recursos 3D, gravador de vídeo e áudio, cartão de memória de Xmb, limitação de internet à Xkbps/s etc. As características podem ser combinadas para simular o ambiente que mais se aproxime da realidade

Android SDK (Software Development Kit)

Android SDK (Software Development Kit) Android SDK (Software Development Kit) é um conjunto de bibliotecas padrão (APIs) e ferramentas para que os desenvolvedores possam se interagir e desenvolver para o sistema Android de maneira fácil e padronizada. Algumas utilidades são: API básica de desenvolvimento Utilitários para compilação, depuração e monitoramento Emulador completo que simula exatamente as condições reais no computador; permitindo que a aplicação seja testada plena e confiavelmente, antes de ser instalada em um dispositivo real.

Android Development Tools (ADT)

Android Development Tools (ADT) Plugin para Eclipse 3.4 e 3.5 Interação completa com o emulador Visualização de threads e processos atuais Navegação no sistema de arquivos do emulador, permitindo inserir, excluir, atualizar arquivos etc. Assistente para criação fácil de novos projetos Automatiza o processo de compilação, empacotamento e instalação da aplicação no emulador Editor de código fonte com auto complete e edição facilitada dos arquivos XML de Layout Permite a geração do pacote.apk que poderá ser distribuído pela rede para ser instalado em um dispositivo real

Estrutura Básica de uma Aplicação Android

Estrutura Básica de uma Aplicação Android Arquivo AndroidManifest.xml Armazena as informações essenciais da aplicação que está sendo desenvolvida, por exemplo: nome do pacote atividades serviços componentes versão mínima do Android SDK requerido para execução etc. Atribui permissões de acesso que a aplicação precisa ter sobre o dispositivo, por exemplo: acesso à internet disco mapas GPS etc.

Estrutura Básica de uma Aplicação Android O que é uma Activity Uma Atividade é uma ação singular (uma tela) que o usuário pode realizar. A classe de implementação deve estender a classe Activity ou derivadas As atividades interagem com o usuário, então elas se responsabilizam por criar a janela na qual você coloca a interface com o usuário Precisa estar, obrigatoriamente, declarada no arquivo AndroidManifest.xml Principais métodos: oncreate(bundle) Ponto de entrada, chamado quando a atividade inicia. onpause() É chamado quando o dispositivo pausar a aplicação

Estrutura Básica de uma Aplicação Android Diretório de Recursos assets/: Coloque neste diretório todos os arquivos estáticos que você deseja empacotar junto com a sua aplicação e instalar no dispositivo. res/drawable/: Coloque neste diretório todas as imagens de sua aplicação (imagens de tela, de botões, ícones etc.). res/layout/: Coloque neste diretório todos os arquivos XML que representam o layout de uma tela (atividade). res/values/: Coloque neste diretório todos os recursos relacionados a textos. Um arquivo com todos os textos da sua aplicação, por exemplo.

Estrutura Básica de uma Aplicação Android A classe R.java Coração dos sistemas desenvolvidos no Android SDK Armazena em forma de atributos Java uma referência interna para todos os recursos que são colocados nos Diretórios de Recursos Não deve ser editada manualmente, o Eclipse fará isso automaticamente Por exemplo, temos dentro do diretório res/drawable a imagem icon.png ; podemos acessá-la de dentro da nossa aplicação Android com a seguinte expressão Java: R.drawable.icon, onde R é a classe, drawable é o diretório e icon é o nome do recurso.

Estrutura Básica de uma Aplicação Android Perspectiva DDMS do ADT plugin no Eclipse Permite interagir diretamente com o Emulador: Navegando no HD, entre os diretórios, inserindo e excluindo aplicações, colocando arquivos de banco de dados etc. Verificar Threads Heap (espaço consumido e livre) LogCat (os logs gerados pelo Android e pelas aplicações) etc.

Estrutura Básica de uma Aplicação Android Tipos de arquivo do Android.dex São os bytecodes das classes Java compiladas..apk É a aplicação Android completa, empacotada, pronta para ser instalada em um dispositivo móvel. Semelhante a um arquivo JAR (Java Archive); Contém todos os recursos, todos os arquivos.dex e todos os arquivos de configuração e identificação necessários para instalação e execução da aplicação Android em um dispositivo móvel compatível

Estrutura Básica de uma Aplicação Android Mais sobre o arquivo AndroidManifest.xml Elemento uses-permission: Indica as permissões que a aplicação terá para executar determinadas operações para que ela possa funcionar corretamente. Elemento instrumentation: Indica código que deverá ser executado em determinados eventos chave do sistema, por exemplo, ao iniciar uma Activity. Geralmente é utilizado para log e monitoramento. Elemento uses-library: Funciona como se fosse o import do Java. Permite que a aplicação acesse outras libs. O serviço de mapa é um exemplo do que precisa ser importado. Elemento uses-sdk: Indica em qual versão da SDK a aplicação foi construída, entre outros detalhes relacionados. Elemento application: Define os detalhes internos da aplicação

Estrutura Básica de uma Aplicação Android Definindo permissões no arquivo AndroidManifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="br.com.discover.aplicacaoandroid "> <uses-permission android:name="android.permission.access_location" /> <uses-permission android:name="android.permission.access_gps" /> <uses-permission android:name="android.permission.internet" /> <application>... </application> </manifest> Neste exemplo, o elemento uses-permission indica algumas permissões que a aplicação precisa ter. É possível notar que é liberado o acesso para localização, GPS do dispositivo e também a internet. Caso estes atributos não tivessem sido explicitamente liberados, a aplicação não teria acesso a eles.

Estrutura Básica de uma Aplicação Android Declarando uma atividade no arquivo AndroidManifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.commonsware.android.skeleton"> <application> <activity android:name=".principal" android:label="principal"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application> </manifest> A tag android:name define a classe que implementa a atividade. A tag android:label define o nome da atividade. A tag ident-filter define as condições na qual a atividade será exibida (no caso que esta atividade é a principal e o usuário poderá executá-la através do menu de aplicações do Android)

Utilizando os componentes visuais do Android

Utilizando os componentes visuais do Android Layouts baseados em XML Definir a tela separadamente do código fonte A tela pode ser reajustada sem alterar o código fonte O código fonte consegue acessar os elementos da tela e alterar (ou obter) seus valores e propriedades em tempo de execução Todo objeto View do Android tem um correspondente em XML Não é obrigatório. A tela pode ser formada por código, como em Swing (Não recomendável) Os arquivos XML de layout devem ficar dentro do diretório de recursos /res/layout/

Utilizando os componentes visuais do Android Exemplo de Layout em XML: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:id= @+id/button android:text= android:layout_width= fill_parent android:layout_height= fill_parent /> </LinearLayout> Para referenciar o Layout na Activity, chame o método setcontentview : @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); } setcontentview(r.layout.main); // o arquivo de layout chama-se main.xml

Utilizando os componentes visuais do Android Uso da anotação @ Definem comportamento dinâmico em arquivos XML do Android Definem características especiais e acessos a recursos dentro do XML Por exemplo, para definir um texto internacionalizado, basta fazer em um componente: android:text= @string/nomedastringdesejada A key nomedastringdesejada deve estar declarada dentro do arquivo /res/values/strings.xml, desta forma: <string name= nomedastringdesejada >Algum texto!!!</string> Quando o componente for renderizado, ele exibirá o texto Algum Texto!!!

Utilizando os componentes visuais do Android Uso da anotação @+id/... É o modo de definir um ID único para que o componente em XML possa ser acessado e modificado pelo código Java. Deve-se usar a tag no XML (para qualquer componente): <Button android:id= @+id/nomeiddesejado /> Para usar no código Java: @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); } Button botao = (Button) findviewbyid(r.id.nomeiddesejado); botao.algumaacao...();

Utilizando os componentes visuais do Android Exemplo de uso do EditText Layout XML: <EditText android:id="@+id/ednomeusuario android:layout_width="fill_parent" android:layout_height="fill_parent" android:singleline="false /> android:inputtype= text Obter valor e alterar no código Java: @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); } EditText ednomeusuario = (EditText) findviewbyid(r.id.ednomeusuario); String texto = ednomeusuario.gettext(); // obtem o texto digitado ednomeusuario.settext( Texto desejado ); // atribui texto

Utilizando os componentes visuais do Android Listagens A classe da Atividade deve estender ListActivity O Layout XML deve ter um componente ListView com o id @android:id/list Atribuir o Adaptador da Listagem, que fará a atribuição dos dados da lista: String[] items = { Item 1, Item 2, Item 3 }; setlistadapter( new ArrayAdapter<String>(this, android.r.layout.simple_list_item_1, items)); Criar o método que irá ser chamado quando um item for selecionado: public void onlistitemclick(listview parent, View v, int position, long id) { selection.settext(items[position]); }

Utilizando os componentes visuais do Android Chamar outras Atividades Uma atividade pode chamar outras atividades ou recursos do sistema através de Intents. A chamada ocorre através do método startactivity() A atividade a ser chamada deve estar declarada no arquivo AndroidManifest.xml Podem ser feitas chamadas à atividades e ser notificado quando ela terminar através do método startactivityforresult() e implementando o método de retorno onactivityresult() Exemplo de chamada simples (sem notificação de retorno): startactivity(new Intent(this, ClasseActivity.class));

Banco de Dados SQLite no Android

Banco de Dados SQLite no Android Suporte nativo ao banco de dados SQLite (http://www.sqlite.org) Banco de dados relacional com baixo consumo de memória e desempenho decente Instruções SQL O Banco de Dados pode ser criado pela própria aplicação ou pode ser colocado dentro dela no dispositivo móvel através do navegador de arquivos Pode ser feito backup, copiando-se o arquivo de banco de dados O arquivo de Banco de Dados fica dentro do diretório (no Dispositivo ou Emulador): \data\data\%nomedopacoteaplicacao%\databases\

Banco de Dados SQLite no Android Principais classes e métodos: Método SQLiteDatabase getapplicationcontext().openorcreatedatabase() SQLiteDatabase.execSQL() SQLiteDatabase.query() Cursor.isAfterLast() Cursor.getString(colPos); Cursos.getInt(colPos); Cursor.moveToNext(); Descrição Referência para um database... Abre ou cria um banco de dados e retorna uma referência do tipo SQLiteDatabase Executa uma instrução SQL (create database, por exemplo) Retorna o uma referência para um objeto Cursor contendo o resultado de uma instrução SQL de consulta (select, por exemplo) para poder ser processada Identifica se não é o último registro Retorna o valor em String de um valor retornado Retorna o valor em Integer de um valor retornado Move o cursor para o próximo registro

Utilizando Google Maps com Android

Utilizando Google Maps com Android Total suporte através do componente <MapView> Acessado através da Internet Mapas do mundo inteiro Permite interação (zoom, ir para pontos específicos, rotas etc.) No ambiente de desenvolvimento é necessário registrar-se no Google e obter uma chave de licença para uso

Referências e Leituras Recomendadas

Referências e Leituras Recomendadas Referências Online: Livros: Documentação oficial do Android: http://developer.android.com/guide/index.html http://developer.android.com/reference/packages.html http://developer.android.com/intl/en/community/index.html Portal em português sobre Android (local da comunidade Android): http://www.portalandroid.org/ Google Android: Aprenda a Criar Aplicações Para Dispositivos Móveis Ricardo R. Lecheta Android Essentials Chris Haseman Beginning Android 2 Mark L. Murphy

Discover www.discover.com.br