Programação em Java para a Plataforma Android AULA 1. Primeiros Passos



Documentos relacionados
Programação para Dispositivos Móveis

Android: Ciclo de vida da Activity

Programação para Android. Aula 06: Activity, menus e action bar

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

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

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

Introdução ao Android

Computação II Orientação a Objetos

Introdução ao Android. Prof. Fellipe Aleixo

Prof. Jhonatan Fernando

Programação para a Plataforma Android Aula 7. Mul$mídia

Desenvolvimento de um aplicativo básico usando o Google Android

Desenvolvimento Android.

Programa de Dispositivos Móveis

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura

AULA 2. Minicurso PET-EE UFRN

Introdução ao Desenvolvimento para Sistema Operacional Android

Android Básico Hello World!

Comunicação entre A0vidades

Programação para Dispositivos Móveis

10 DICAS PARA TURBINAR SEU PACOTE DE DADOS. 1 - Desative os Dados do Celular. 2 Remova as notificações e atualizações automáticas

ANDROID APPLICATION PROJECT

Geração Automática de Código Android Eficiente a partir de Modelos UML

Windows Phone: Acesse Configurações > Rede celular + SIM > Ativada/Desativada. Android: Deslize a tela para baixo e desmarque a opção de dados.

Programação para Android

Programa de Dispositivos Móveis


Programação para Dispositivos Móveis. Activities

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Log, Ciclo de Vida e Diálogos. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Programação para Dispositivos Móveis

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ.

Introdução a Computação Móvel

Manual de instalação e configuração da Ferramenta Android SDK

Desenvolvimento Android. Pontapé inicial...

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

Como configurar s nos celulares. Ebook. Como configurar s no seu celular. W3alpha - Desenvolvimento e hospedagem na internet

INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período

Java Server Pages: Apresentação e Instalação

Configurar o Furbot no Eclipse

BlackBerry Messenger SDK

Criando sua primeira aplicação JAVA com o Eclipse

Provedores de Conteúdo

UM FRAMEWORK PARA DESENVOLVIMENTO DE

Aula 1 - Introdução e configuração de ambiente de desenvolvimento

EA998/MC933 Guido Araujo e Sandro Rigo

Inicialização Rápida do Novell Vibe Mobile

Java Básico. Aula 1 por Thalles Cezar

Introdução ao Android SDK. Prof. Me. Hélio Esperidião

Programação de Dispositivos Móveis

Guia do usuário do PrintMe Mobile 3.0

Google Drive. Passos. Configurando o Google Drive

Desenvolvimento de aplicações na plataforma Google Android

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

PRINCIPAIS DÚVIDAS NA UTILIZAÇÃO DO NOVO COMPONENTE RESPONSÁVEL PELAS OPERAÇÕES DE ANEXAÇÃO NO SCDP

Programação de Dispositivos Móveis

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

ÍNDICE. GUIa DE UtIlIzaÇÃo

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

Conceitos Básicos e Práticos do Android

I N T R O D U Ç Ã O W A P desbloqueio,

Saiba como usar tantas facilidades.

API's e Aplicações para Android

Programa de Dispositivos Móveis

Configurando um Grupo Doméstico e Compartilhando arquivos no Windows 7

Tutorial 1.0. Instalação

Programação para a Plataforma Android Aula 13. Localização

2. O AMBIENTE DE PROGRAMAÇÃO EM C

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

Guião de Introdução ao Eclipse IDE Índice

Mobile Command. Diego Armando Gusava. Orientador: Mauro Marcelo Mattos

Tecnologia e Informática

Manual de Riverside Digital - Windows

DocuWare Mobile ProductInfo. Gerenciamento móvel de documentos. Benefícios

Qlik Sense Desktop. Qlik Sense 1.1 Copyright QlikTech International AB. Todos os direitos reservados.

Android Como configurar Rede sem fio Univates-Professores

Android. Marcelo

CONTEÚDO (técnico) COMPLETO DO TREINAMENTO INTENSIVO PARA ANDROID Universidade Android

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

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

Tutorial de instalação do Java 7 no Windows 7.

Programação para Android. Aula 05: Estilos e temas; galeria de imagens

Plano de Trabalho Docente Ensino Técnico

MANUAL DE INSTALAÇÃO CONFIGURAÇÃO IDE ECLIPSE

SUMÁRIO. Sistemas Operacional. Lista de Produtos. Guia de Prático de Utilização. Descrição das funções do Gerenciador (Botões)

OMT-G Design. Instalação por pacotes

Interfaces Gráficas parte 3

Hyper-V e Intel HAXM. Ativando a virtualização

O que é o Android? O que é o Android

PROJETO INFORMÁTICA NA ESCOLA

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

Digifort Mobile Manual Version 1.0 Rev. A

PROJETO PEDAGÓGICO DE CURSOS

Programação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS - APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc.

TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS

OneDrive: saiba como usar a nuvem da Microsoft

REQUERIMENTO DE EMPRESÁRIO PROCEDIMENTOS DO USUÁRIO Nota: O Empresário poderá fazer a pesquisa de nome previamente ou concomitante ao processo.

COMO INSTALAR O CATÁLOGO

Transcrição:

Programação em Java para a Plataforma Android AULA 1 Primeiros Passos O que é Android Como é o desenvolvimento de aplicações para esse ambiente O que é preciso para começar a programar ABvidades, o início de tudo XML e arquivos de manifesto O mercado Android

ObjeBvos do Curso Aprender a desenvolver aplicações Java: aprender e reforçar técnicas de programação nesta linguagem. para smartphones que usem o sistema operacional Android. Orientação a objetos: Rever conceitos e boas práticas de programação OO. Programação: Este não é um curso de programação básica.

Perguntas importantes O que é Android? O que é Open Handset Alliance? Quais disposibvos suportam Android? Que outros sistemas operacionais para Smartphones existem? Comecemos pelo princípio: o que é Android?

O que é Android? Uma forma portável de executar aplicações em disposibvos móveis. Principalmente smartphones. Mercado em franca expansão. Middleware = kernel (linux) + bibliotecas + máquina virtual + aplicabvos. Ambiente de desenvolvimento. Programação em Java. Novas bibliotecas (mesmíssima linguagem). Middleware: Além de um sistema operacional.

Nós ficaremos aqui! Arquitetura Mas usaremos essas classes

O que é a Open Handset Alliance? As 84 (e crescendo) companhias que apoiam e dão suporte direto à Plataforma Android. Fabricantes de disposibvos: HTC, LG, Motorola, Samsung, etc. Operadoras: KDDI, DoCoMo, Nextel, T Mobile, Telefonica, Telecom Italia, China Mobile, etc. Semicondutores: Aucience, Broadcom, Intel, Nvidia, Qualcomm, SynapBcs. Sogware: Google, ebay, Ascender, LivingImage, etc. Comércio: Aplix, Noser, TAT, Wind River, etc. O que é um Smartphone?

O que é um Smartphone? Smartphones são telefones móveis com um sistema operacional E mais um punhado de coisas: Navegadores web Receptores GPS Comunicação sem fio nabva Câmera Tela de alta resolução etc Quais outros SOs para Smarphones existem?

Que outros SOs existem para Smartphones Existem? Android Symbian Linux Garnet OS (Palm) Windows Mobile Windows Phone Appel IOs Rim BlackBerry OS

Mercado em Expansão Em 2010 o mercado estava assim. E agora?

Porque Android? Grande fragmentação do mercado de smartphones. Diferentes Bpos de hardware. Sogware proprietário. Symbian e Windows Mobile. Redes fechadas. Alguém já teve de desbloquear o aparelho?

CaracterísBcas de Desenvolvimento Recursos limitados Principal limitação é a bateria. Mashups é fácil incorporar uma aplicação em outra. Programação intencional CaracterísBcas do disposibvo Menos memória e poder de processamento. CaracterísBcas das aplicações Quero enviar um e mail, ao contrário de Quero enviar um e mail usando XXXX.

O que eu preciso para programar? Instale o Java Development Kit da Oracle. Java 1.5 ou 1.6 Instale Eclipse versão 3.3 ou posterior Instale o kit de desenvolvimento Android.

Como criar um projeto novo? "File" > "new" > "Project Selecione "Android Project" e clique "next Preencha a tela de criação de projeto conforme indicado na janela a seguir.

Para abvar Checkstyle Click na pasta do projeto com o botão direito do mouse (janela "package") Leve o ponteiro do mouse à guia Checkstyle Clique em "Ac@vate Checkstyle" Padronização: Porque é interessante padronizar os programas?

Discussão Por que usar Checkstyle? Quais são boas padronizações de código? Existem padronizações ruins?

Criando um arquivo de pacote Clique no pacote do projeto com botão direito: "com.aula1 Na Janela pop up: "new" > "file Nome do arquivo: package-info.java /** * This is the core package for * the application. * @since 1.0 */ package com.aula1; Arquivo de pacote: Para que serve este arquivo?

Entendendo nossa Activity package com.aula1; import android.app.activity; import android.os.bundle; /** * Primeira atividade do curso de Android. * @author fpereira? */ public class Aula1Activity extends Activity { /** * Este metodo determina quais eventos irao acontecer * quando esta atividade for inicializada. * @param savedinstancestate? o ultimo estado desta atividade.? */ public final void oncreate(final Bundle savedinstancestate) { super.oncreate(savedinstancestate);? setcontentview(r.layout.main); } }

Nossa interface gráfica <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" >? <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout>?

Executando a Aplicação O que determina o texto escrito na tela? Como eu o modifico?

O Manifesto <?xml version="1.0" encoding="uw 8"?> <manifest xmlns:android="hxp://schemas.android.com/res/android" package="org.anddev.android.hello_android"> <applicabon android:icon="@drawable/icon"> <acbvity android:name=".hello_android" android:label="@string/app_name"> <intent filter> <acbon android:name="android.intent.acbon.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </acbvity> </applicabon> </manifest>

O Manifesto? <?xml version="1.0" encoding="uw 8"?> <manifest xmlns:android="hxp://schemas.android.com/res/android" package="org.anddev.android.hello_android"> <applicabon android:icon="@drawable/icon"> <acbvity android:name=".hello_android" android:label="@string/app_name"> <intent filter> <acbon android:name="android.intent.acbon.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </acbvity> </applicabon> </manifest>

O Manifesto <?xml version="1.0" encoding="uw 8"?> <manifest xmlns:android="hxp://schemas.android.com/res/android" package="org.anddev.android.hello_android"> <applicabon android:icon="@drawable/icon"> <acbvity android:name=".hello_android" android:label="@string/app_name"> <intent filter>? <acbon android:name="android.intent.acbon.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </acbvity> </applicabon> </manifest>

<?xml version="1.0" encoding="uw 8"?> <manifest xmlns:android="hxp://schemas.android.com/res/android" package="org.anddev.android.hello_android"> <applicabon android:icon="@drawable/icon"> <acbvity android:name=".hello_android" android:label="@string/app_name"> <intent filter> <acbon android:name="android.intent.acbon.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </acbvity> </applicabon> </manifest> Launchable: O próprio usuário é capaz de iniciar a Atividade.

Resources <?xml version="1.0" encoding="uw 8"?> <manifest xmlns:android="hxp://schemas.android.com/res/android" package="org.anddev.android.hello_android">? <applicabon android:icon="@drawable/icon"> <acbvity android:name=".hello_android"? android:label="@string/app_name"> <intent filter> <acbon android:name="android.intent.acbon.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </acbvity> </applicabon> </manifest>

Resources <?xml version="1.0" encoding="uw 8"?> <manifest xmlns:android="hxp://schemas.android.com/res/android" package="org.anddev.android.hello_android"> <applicabon android:icon="@drawable/icon"> <acbvity android:name=".hello_android" android:label="@string/app_name"> <intent filter> <acbon android:name="android.intent.acbon.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </acbvity> </applicabon> </manifest>

Strings Quais strings devem ficar no arquivo strings.xml? É recomendável manter strings como constantes, em um arquivo de recursos. Android reconhece o arquivo strings.xml <?xml version="1.0" encoding="uh 8"?> <resources> <string name="hello">hello World!</string> <string name="app_name">aula1</string> </resources> Qual a vantagem de usar o recurso string.xml?

Executando a Aplicação Para executar a aplicação, ublize a guia Run em Eclipse. Selecione a opção Run, dentro da guia Run. Na primeira tentabva de executar uma app, Eclipse fornecerá uma caixa de diálogo "Run As" para a escolha do ambiente de execução. Selecione "Android Applica@on".

Arcabouços Existem duas formas de organização de sogware para reúso: bibliotecas e arcabouços. O que é uma biblioteca? Exemplos? O que é um arcabouço? Exemplos? ABvidades fazem parte do arcabouço de desenvolvimento Android. Famoso princípio de Hollywood: não nos ligue, nós ligaremos para você. Quais métodos da atividade são invocados pelo arcabouço? Como seria o ciclo de vida de uma atividade? Quais eventos poderiam mudar o estado de uma atividade?

oncreate Início da atividade usuário navega de volta para a atividade não onstart atividade na frente? onresume onpause atividade se torna visível onrestart atividade vem para a frente Como podemos implementar esses métodos? onstop ondestroy Término da atividade

public class StateAcBvity extends AcBvity { @Override public final void oncreate(final Bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Log.v("States", "Iniciando a abvidade\n"); } @Override public final void onstart() { super.onstart(); Log.v("States", "Invocando start\n"); } @Override public final void onresume() { super.onresume(); Log.v("States", "Invocando resume\n"); } @Override public final void onpause() { super.onpause(); Log.v("States", "Invocando pause\n"); } } Para que serve essa anotação? @Override public final void onstop() { super.onstop(); Log.v("States", "Invocando Stop\n"); } @Override public final void ondestroy() { super.ondestroy(); Log.v("States", "Invocando Destroy\n"); } Que ações seria razoável implementar nesses métodos?

Programação orientada a templates Um template é um algoritmo com lacunas. Arcabouços são conjuntos de templates. Onde estão as lacunas em nossas abvidades (AcBvity) Androids? Qual a vantagem da programação voltada para templates? E quais as desvantagens?

Publicando a Aplicação Existe um mercado on line de aplicações Android: http://market.android.com Nesse mercado é possível disponibilizar aplicações, gratuitamente ou não E, naturalmente, pode se comprar aplicações. Quais os passos recomendáveis antes de se tentar negociar uma aplicação?

Antes de publicar Teste exausbvamente os casos de uso tratados pela aplicação Teste a aplicação em pelo menos um disposibvo real Teste o desempenho e a portabilidade da aplicação Escolha um bom nome para seu pacote. Em geral, usase com.empresa.nome_app Siga as dicas de projeto de interfaces (ícones, menus, layouts, etc) em http://d.android.com/guide/practices/ ui_guidelines Se possível, peça a outros usuários que usem sua aplicação antes de publicá la.

Assinatura Digital Toda aplicação Android, mesmo as emuladas, precisam de uma assinatura digital. Eclipse criou secretamente uma assinatura para a nossa aplicação exemplo. Para criar uma assinatura explicitamente, use Android Tools, no Eclipse.

Alguns detalhes para publicar Há uma pequena taxa que deve ser paga para efetuar o registro no google market. Para vender as aplicações, é necessário também assinar um sistema de pagamento. Existe o google checkout disponível. É possível disponibilizar aplicabvos gratuitos. É possível atualizar um aplicabvo já publicado com novas versões. Não é possível transformar um aplicabvo gratuito em um aplicabvo pago.