Desenvolvimento Android. Pontapé inicial...



Documentos relacionados
Android Básico Hello World!

Desenvolvimento de aplicações na plataforma Google Android

AULA 2. Minicurso PET-EE UFRN

CURSOS ANDROID. Prof: Igor Portela

Escrito por Neri Neitzke Qua, 12 de Outubro de :40 - Última atualização Seg, 26 de Março de :50

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

Computação II Orientação a Objetos

PROJETO PEDAGÓGICO DE CURSOS

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

Programação para Dispositivos Móveis

Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android

Prof. Jhonatan Fernando

Programação para Android

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

Programação para Dispositivos Móveis

Google. Ricardo R. Lecheta. Aprenda a criar aplicações para dispositivos móveis com o Android SDK. Novatec

Tutorial 1.0. Instalação

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

ANDROID APPLICATION PROJECT

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

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Introdução ao Android

Programa de Dispositivos Móveis

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

Android: Ciclo de vida da Activity

Programa de Dispositivos Móveis

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

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

Desenvolvimento Android.

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

Programação para Dispositivos Móveis

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

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

Programação para Dispositivos Móveis

Introdução ao Desenvolvimento para Sistema Operacional Android

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

Programação para Android

Programação de Dispositivos Móveis

TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS

Escrito por Lisiane Batista Neitzke Qui, 29 de Dezembro de :24 - Última atualização Seg, 16 de Janeiro de :41

3ª Edição Ricardo R. Lecheta

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

Desenvolvimento Mobile com Android

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

HCI Summer Workshop. Android #1. Tiago Guerreiro.

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

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

itec h- ON & E ngenharia de S oftware Joel Carvalho - 05/05/2011 Novas Tecnologias Aplicadas à Eng. de So5.

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Definições de Projeto

Casa do Código Livros para o programador Rua Vergueiro, º andar Vila Mariana São Paulo SP Brasil

Android Binding. Implementando o padrão de projeto MVVM com MVVM_. Saiba como criar um projeto utilizando o padrão de projeto MVVM no Android

Introdução à Programação Android

Desenvolvimento com Android Studio. Aula 02 Widgets, Manipulação de Dados e Programação de Eventos

Conceitos Básicos e Práticos do Android

Curso: Especializado Desenvolvimento de Aplicações para Android

FRWTC-400 DESENVOLVIMENTO MÓVEL PARA ANDROID MÓDULO 1

Desenvolvimento de um aplicativo básico usando o Google Android

Desenvolvimento de Aplicações. Android. Rick Rogers, John Lombardo, Zigurd Mednieks e Blake Meike. Novatec

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Introdução ao Android

Interfaces Gráficas parte 3

Desenvolvimento de Aplicativos com ASR para Android

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

De : Luciano Alves da Silva (lucianopascal@yahoo.com.br) Rio de Janeiro Agosto 2012

Autor/Bolsista: Matheus Fernando Finatti

API's e Aplicações para Android

Android Layout Manager. Ivan Nicoli

2ª Edição Ricardo R. Lecheta

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Módulo 4 - Interface Gráfica Gerenciadores de Layout. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Views Interface Gráfica

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

EA998/MC933 Guido Araujo e Sandro Rigo

Apostila de programação para Android

Desenvolvimento de Aplicações para Plataforma Google Android

6ª Edição (VENDA E DISTRIBUIÇÃO PROIBIDA) De : Luciano Alves da Silva (lucianopascal@yahoo.com.br)

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

6ª Edição. De : Luciano Alves da Silva (lucianopascal@yahoo.com.br) ApostilaDeAndroid. Rio de Janeiro - Outubro 2013

Introdução ao Android. Afonso da Silva Machado 3 de Março de 2015

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

Computação II Orientação a Objetos

Google Android para Tablets

Google Android. Uma abordagem prática e didática. Rafael Guimarães Sakurai, Diogo Carleto, erodrigo Cascarrolho

Introdução ao Android

Desenvolvimento de um aplicativo básico usando o Google Android

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

Desenvolvimento para Android

Programação para Dispositivos Móveis. Activities

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

Apresentação de um Processo Cria4vo de Desenvolvimento de uma App Android. Realização de Dinâmica Hands- On para Construção de uma App Android

Transcrição:

Desenvolvimento Android Pontapé inicial...

Toshi Kurauchi andrew.kurauchi@gmail.com @toshikurauchi

Por que desenvolver para Android?

Por que desenvolver para Android?

Por que desenvolver para Android?

Por que desenvolver para Android?

Por que desenvolver para Android?

Por que desenvolver para Android?

Por que desenvolver para Android?

Tudo o que você precisa saber:

Tudo o que você precisa saber: http://developer.android.com/index.html

Dúvidas? Obrigado!

Quero desenvolver para Android!!!

Quero desenvolver para Android!!! 1. Baixar o SDK

Quero desenvolver para Android!!! 1. Baixar o SDK 2. Instalar o Eclipse

Quero desenvolver para Android!!! 1. Baixar o SDK 2. Instalar o Eclipse 3. Instalar o plugin do ADT para o Eclipse

E mais um pouco de download... Window -> Android SDK Manager

E mais um pouco de download... Window -> Android SDK Manager

E mais um pouco de download... Window -> Android SDK Manager

E mais um pouco de download... Window -> Android SDK Manager

E mais um pouco de download... Window -> Android SDK Manager API Levels?

E mais um pouco de download... Window -> Android SDK Manager API Levels? 1 = Android 1.0 2 = Android 1.1 3 = Android 1.5 4 = Android 1.6 5 = Android 2.0 6 = Android 2.0.1 7 = Android 2.1.x 8 = Android 2.2.x...

Criando o emulador... - Window '-- AVD Manager '-- New...

Criando o emulador... - Window '-- AVD Manager '-- New...

Criando o emulador... - Window '-- AVD Manager '-- New...

Criando o emulador... - Window '-- AVD Manager '-- New...

Criando o emulador... - Window '-- AVD Manager '-- New...

Criando o emulador... - Window '-- AVD Manager '-- New...

Criando o emulador... - Window '-- AVD Manager '-- New...

Criando o emulador... - Window '-- AVD Manager Dica: '-- New... Nunca feche o emulador

Criando o emulador... - Window '-- AVD Manager Dica: '-- New... NUNCA Nunca feche o emulador

Vai desenvolver uma app?

Vai desenvolver uma app? JAVA

Vai desenvolver uma app? <XML> JAVA

Criando nosso projeto...

Criando nosso projeto...

Criando nosso projeto...

Criando nosso projeto...

Criando nosso projeto...

Criando nosso projeto...

Criando nosso projeto...

Entendendo o que foi gerado

Entendendo o que foi gerado

Entendendo o que foi gerado

Entendendo o que foi gerado

Entendendo o que foi gerado

Entendendo o que foi gerado

Entendendo o que foi gerado

Entendendo o que foi gerado

Entendendo o que foi gerado

Densidades de tela Aprox. 1mm Fonte: http://ignorethecode.net/blog/2012/03/16/ipad_screen_microscope/

Entendendo o que foi gerado Resource qualifiers

Entendendo o que foi gerado

Entendendo o que foi gerado Strings, dimensões, cores, valores numéricos,...

Entendendo o que foi gerado Internacionalização: values-en-rus values-pt-rbr Strings, dimensões, cores, valores numéricos,...

strings.xml

Entendendo o que foi gerado

AndroidManifest.xml

AndroidManifest.xml

AndroidManifest.xml

AndroidManifest.xml

AndroidManifest.xml

AndroidManifest.xml

AndroidManifest.xml

Tela

= Tela

= Tela Activity (Java)

= Tela Activity (Java) +

= Tela Activity (Java) + layout (xml)

Layout XML

Layout XML LinearLayout (vertical)

Layout XML LinearLayout (vertical)

Layout XML LinearLayout (vertical)

Layout XML LinearLayout (vertical)

Layout XML LinearLayout (vertical)

Layout XML LinearLayout (horizontal)

Layout XML LinearLayout (horizontal)

Layout XML LinearLayout (horizontal)

Layout XML LinearLayout (horizontal)

Layout XML LinearLayout (horizontal)

Layout XML RelativeLayout

Layout XML RelativeLayout

Layout XML RelativeLayout

Layout XML RelativeLayout

Views

Views <RadioButton>

Views <RadioButton> <DatePicker>

Views <RadioButton> <RatingBar> <DatePicker>

Views <TextView> Texto <RadioButton> <RatingBar> <DatePicker>

Views <TextView> Texto <RadioButton> <Button> <RatingBar> <DatePicker>

Views <TextView> Texto <RadioButton> <RatingBar> <EditText> <Button> <DatePicker>

Views <CheckBox> <TextView> Texto <RadioButton> <RatingBar> <EditText> <Button> <DatePicker>

Views <CheckBox> <TextView> Texto <RadioButton> <RatingBar> Etc... <EditText> <Button> <DatePicker>

Activity

Activity

Activity

Activity oncreate() onstart() onresume() Rodando... onpause() onstop() ondestroy()

Activity

Activity

oncreate() onstart() onresume() XML Activity Activity

Referência para uma View Activity? Layout XML <Button android:layout_width="..." android:layout_height="..." android:layout_id="@+id/botao" />

Referência para uma View Activity? findviewbyid(?) Layout XML <Button android:layout_width="..." android:layout_height="..." android:layout_id="@+id/botao" />

Diretório res

Diretório res

Referência para uma View Activity Layout XML Button findviewbyid(r.id.botao) <Button... />

Clicando no botão

Abrindo outra tela...

Abrindo outra tela... Tela => Activity

Abrindo outra tela... Tela => Activity Activity a = new MinhaActivity(); a.oncreate(null);

Abrindo outra tela... Tela => Activity Activity a = new MinhaActivity(); a.oncreate(null);

Abrindo outra tela... Tela => Activity Activity a = new MinhaActivity(); a.oncreate(null);

Abrindo outra tela... Tela => Activity Activity a = new MinhaActivity(); a.oncreate(null); Intent i = new Intent(context, OutraTela.class);

Abrindo outra tela... Tela => Activity Activity a = new MinhaActivity(); a.oncreate(null); Intent i = new Intent(context, OutraTela.class); startactivity(i);

Abrindo outra tela...

Abrindo outra tela...

Abrindo outra tela...

Chamando outras apps Ligação, SMS, sites...

Chamando outras apps Ligação, SMS, sites...

Chamando outras apps O que eu quero fazer?

Chamando outras apps O que eu quero fazer? Ligar!

Chamando outras apps O que eu quero fazer? Ligar! Intent i = new Intent(Intent.ACTION_CALL);

Chamando outras apps O que eu quero fazer? Ligar! Intent i = new Intent(Intent.ACTION_CALL); Para quem?

Chamando outras apps O que eu quero fazer? Ligar! Intent i = new Intent(Intent.ACTION_CALL); Para quem? i.setdata(uri.parse("tel:12345678"));

Chamando outras apps O que eu quero fazer? Ligar! Intent i = new Intent(Intent.ACTION_CALL); Para quem? i.setdata(uri.parse("tel:12345678")); Chamar a Activity:

Chamando outras apps O que eu quero fazer? Ligar! Intent i = new Intent(Intent.ACTION_CALL); Para quem? i.setdata(uri.parse("tel:12345678")); Chamar a Activity: startactivity(i);

Chamando outras apps O que eu quero fazer?

Chamando outras apps O que eu quero fazer? Site!

Chamando outras apps O que eu quero fazer? Site! Intent i = new Intent(Intent.ACTION_VIEW);

Chamando outras apps O que eu quero fazer? Site! Intent i = new Intent(Intent.ACTION_VIEW); Qual?

Chamando outras apps O que eu quero fazer? Site! Intent i = new Intent(Intent.ACTION_VIEW); Qual? i.setdata(uri.parse("http://www.ime.usp.br"));

Chamando outras apps O que eu quero fazer? Site! Intent i = new Intent(Intent.ACTION_VIEW); Qual? i.setdata(uri.parse("http://www.ime.usp.br")); Chamar a Activity:

Chamando outras apps O que eu quero fazer? Site! Intent i = new Intent(Intent.ACTION_VIEW); Qual? i.setdata(uri.parse("http://www.ime.usp.br")); Chamar a Activity: startactivity(i);

Chamando outras apps O que eu quero fazer?

Chamando outras apps O que eu quero fazer? SMS!

Chamando outras apps O que eu quero fazer? SMS! Intent i = new Intent(Intent.ACTION_VIEW);

Chamando outras apps O que eu quero fazer? SMS! Intent i = new Intent(Intent.ACTION_VIEW); Para quem?

Chamando outras apps O que eu quero fazer? SMS! Intent i = new Intent(Intent.ACTION_VIEW); Para quem? i.setdata(uri.parse("sms:12345678"));

Chamando outras apps O que eu quero fazer? SMS! Intent i = new Intent(Intent.ACTION_VIEW); Para quem? i.setdata(uri.parse("sms:12345678")); O que?

Chamando outras apps O que eu quero fazer? SMS! Intent i = new Intent(Intent.ACTION_VIEW); Para quem? i.setdata(uri.parse("sms:12345678")); O que? i.putextra("sms_body", "Mensagem do SMS")

Chamando outras apps O que eu quero fazer? SMS! Intent i = new Intent(Intent.ACTION_VIEW); Para quem? i.setdata(uri.parse("sms:12345678")); O que? i.putextra("sms_body", "Mensagem do SMS") Chamar a Activity:

Chamando outras apps O que eu quero fazer? SMS! Intent i = new Intent(Intent.ACTION_VIEW); Para quem? i.setdata(uri.parse("sms:12345678")); O que? i.putextra("sms_body", "Mensagem do SMS") Chamar a Activity: startactivity(i);

Permissões...

Permissões...

Acessando a internet...

Acessando a internet...

Acessando a internet...

Acessando a internet... HttpClient c = new DefaultHttpClient();

Acessando a internet... HttpClient c = new DefaultHttpClient(); HttpGet get = new HttpGet("http://www.ime.usp.br");

Acessando a internet... HttpClient c = new DefaultHttpClient(); HttpGet get = new HttpGet("http://www.ime.usp.br"); HttpResponse response = c.execute(get);

Acessando a internet... HttpClient c = new DefaultHttpClient(); HttpGet get = new HttpGet("http://www.ime.usp.br"); HttpResponse response = c.execute(get); String conteudo = EntityUtils.toString(response.getEntity());

Acessando a internet... HttpClient c = new DefaultHttpClient(); HttpGet get = new HttpGet("http://www.ime.usp.br"); HttpResponse response = c.execute(get); t String conteudo = e n r e t EntityUtils.toString(response.getEntity()); In e d o ã s is P m r e

Fragments

Fragments

Fragments

Fragments

Fragments

Colocando Fragments na tela... Layout XML

Colocando Fragments na tela... Layout XML Activity

Colocando Fragments na tela... Layout XML!!! ) b o d r i art Activity S p a ó n o H ( 0 3. m o eyc

Colocando Fragments na tela... Layout XML!!! ) b m o eyc Activity n o Compatibility.0 (H 3 Library o d r i t ar p óa S

ActionBar

ActionBar

ActionBar

ActionBar

ActionBar

ActionBar res/menu/main_menu.xml

ActionBar

ActionBar

ActionBar 0. 3 o A d r i t r pa

Links úteis http://developer.android.com/index.html http://developer.android.com/design/index.html http://actionbarsherlock.com/ http://pivotal.github.com/robolectric/ http://blog.stylingandroid.com/ http://code.google.com/p/google-gson/