SlideShare uma empresa Scribd logo
O fantástico
mundo de Android

Suelen G. Carvalho
Quem sou eu

www.SuelenGC.com.br | slideshare.net/suelengc
MULHERES15!
!
!

Cupom especial para o dia das mulheres!!
15% de desconto
O que é o Android ?
Linguagem

IDE

www.developer.android.com

ADT
Activity
Criar uma tela
Activity

SuaActivity
SuaActivity.java
public class SuaActivity extends Activity {
protected void onCreate (Bundle b) {
super.onCreate(b);
setContentView(R.layout.main_activity)
!

// restante do seu código aqui…
}
}

(comportamento)
main_activity.xml
<LinearLayout xmlns=“…” >
<TextView
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:text=“Olá Mundo!”
… />
</LinearLayout>

(view)
Olá Mundo!
Estrutura de diretórios

resources

ProjetoAgenda!
src
SuaActivity.java
comportamento
res
layout
main_activity.xml	
  
drawable-mdpi!
icon.jpg
drawable-ldpi!
view
icon.jpg	
  
values!
! !
strings.xml
Outras view's
Nome:

<TextView…/>

<EditText…/>

Telefone:
Nota:

<RatingBar…/>

Salvar

<Button…/>
<LinearLayout xmlns=“…” >
<EditText android:text=“Nome: “…/>
<TextView…/>
!

<EditText android:text=“Telefone: “…/>
<TextView…/>
!

<EditText android:text=“Nota: “…/>
<RatingBar…/>
!

<Button android:text=“Salvar“
android:id=“@+id/btn_salvar“…/>
<!-- cotinua… -->
</LinearLayout>
Comportamento ao botão
public class SuaActivity extends Activity {
protected void onCreate (Bundle b) {
super.onCreate(b);
setContentView(R.layout.main_activity)
!

// Recupera o botão da tela
Button salvar = (Button) findViewById(R.id.btn_salvar);
!

//Adiciona comportamento ao botão
salvar.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
// COMPORTAMENTO AQUI…
}
});
}
}
Ciclo de Vida da Activity
O fantástico mundo de Android
Ciclo de vida de uma Activity
onCreate
!

onStart
!

onResume
Android Kill

onRestart

onPause
!

onStop
!

onDestroy
Listas e Adapter's
Exibir uma lista
Fulano
Beltrano
Ciclano
Adapter
Fulano

Beltrano Ciclano

Fulano
Beltrano
Ciclano

0

1
2
Objetos (Java)
View (xml)
public class SuaActivity extends Activity {
protected void onCreate (Bundle b) {
// código anterior…
!

// Objetos Java
String[] contatos = new String[]{“Fulano”,
“Beltrano”,
“Ciclano”};
!

// Adapter (java -> xml)
ArrayAdapter<String> adapter = new ArrayAdapter<String>
(this,
android.R.layout.simple_list_item_1,
contatos);
!

// Vincular adapter a lista
ListView lista = (ListView) findViewById(R.id.lista);
lista.setAdapter(adapter);
}
}
Banco de Dados
Criar um DAO
SQLiteOpenHelper

ContatoDAO
SQLiteOpenHelper
public class ContatoDAO extends SQLiteOpenHelper {
public void ContatoDAO(Context ctx) {
super(ctx, “agenda", null, 1);
}
public void onCreate (SQLiteDataBase db) {
String ddl = “create table contato (name text, telefone text);“;
db.execSQL(ddl);
}
!

public void onUpgrade (SQLiteDataBase db) {
// vamos deixar vazio por enquanto
}
}
Incluindo um contato
public class ContatoDAO extends SQLiteOpenHelper {
// código anterior…
!
public void adiciona(Contato contato){
// insere contato no banco…
ContentValues values = new ContentValues();
values(“nome”, contato.getNome());
values(“telefone”, contato.getTelefone());
!
getWritableDatabase().insert(“agenda”, null, values);
}
// apagar, atualizar e buscar aqui em breve ;)
}
Apagando um contato
public class ContatoDAO extends SQLiteOpenHelper {
!

public void apaga(Contato contato){
String[] ids = {contato.getId().toString()};
getWritableDatabase().delete(“agenda”, “id=?”, ids);
}
!

}
Buscando os contatos
public class ContatoDAO extends SQLiteOpenHelper {
!
public List<Contato> busca(Contato contato){
List<Contato> contatos = new ArrayList<Contato>();
!
SQLiteDatabase database = getReadableDatabase();
Cursor cursor = database.rawQuery(“select * from agenda;”, null);
!
while (cursor.moveToNext()) {
Contato contato = criarContatoDo(cursor);
contatos.add(contato);
}
return contatos;
}
}
Atualizando um contato
public class ContatoDAO extends SQLiteOpenHelper {
public void atualiza(Contato contato){
ContentValues values = new ContentValues();
values(“nome”, contato.getNome());
values(“telefone”, contato.getTelefone());
String[] ids = {contato.getId().toString()};
!

getWritableDatabase().update(“agenda”, values, id, ids);
}
}
Estou por aí se precisarem ;)

Mais conteúdo relacionado

PDF
Angular JS - Fundamentos
PDF
AngularJS - Rotas
PDF
Jquery 2
KEY
PDF
JavaScript - Introdução com Orientação a Objetos
PDF
Introdução ao JQuery e AJAX
PDF
Desenvolvimento de jogos com Corona SDK
PDF
Como (não) invadirem o seu banco de dados.
Angular JS - Fundamentos
AngularJS - Rotas
Jquery 2
JavaScript - Introdução com Orientação a Objetos
Introdução ao JQuery e AJAX
Desenvolvimento de jogos com Corona SDK
Como (não) invadirem o seu banco de dados.

Destaque (7)

PPTX
Para quem você desenvolve?
PDF
A Open Web Platform em prol do seu app!
PDF
Design Patterns na Programação de Jogo
PDF
Programação de Jogos - Design Patterns
PDF
Guia de estilos para a interface do usuário
PDF
Palestra design digital
PDF
Como desenvolver sites utilizando Design Responsivo
Para quem você desenvolve?
A Open Web Platform em prol do seu app!
Design Patterns na Programação de Jogo
Programação de Jogos - Design Patterns
Guia de estilos para a interface do usuário
Palestra design digital
Como desenvolver sites utilizando Design Responsivo
Anúncio

Semelhante a O fantástico mundo de Android (20)

PDF
Introdução ao Android (minicurso 4h)
PDF
Documentao Projeto Android - Intent
PDF
Desenvolvimento de Apps e Games para Android - Parte 6
PDF
Introdução a Plataforma Android
PPTX
Curso Android 01: Introdução
PDF
Curso de android
PPTX
Computação Móvel 2012.2 - Android
PDF
Apresentacao android por Júlio Cesar Bueno Cotta
PDF
Android bootcamp 06-01-2012 Part 1
PDF
Mini Curso Android basico EATI-2017
PDF
Aulas Google Android
DOC
Como criar interfaces gráficas com android
PPTX
Aula05 - Android - Persistência
PDF
Android na Prática
PDF
Android Core Aula 6 - Desenvolvimento de aplicações Android
PDF
Introdução ao Desenvolvimento Android
PPTX
Layouts e multiplas activities
PDF
Desenvolvimento de Apps e Games para Android - Parte 4
PPTX
Desvendando as ferramentas e serviços para o desenvolvedor Android
PDF
Introdução ao Android (minicurso 4h)
Documentao Projeto Android - Intent
Desenvolvimento de Apps e Games para Android - Parte 6
Introdução a Plataforma Android
Curso Android 01: Introdução
Curso de android
Computação Móvel 2012.2 - Android
Apresentacao android por Júlio Cesar Bueno Cotta
Android bootcamp 06-01-2012 Part 1
Mini Curso Android basico EATI-2017
Aulas Google Android
Como criar interfaces gráficas com android
Aula05 - Android - Persistência
Android na Prática
Android Core Aula 6 - Desenvolvimento de aplicações Android
Introdução ao Desenvolvimento Android
Layouts e multiplas activities
Desenvolvimento de Apps e Games para Android - Parte 4
Desvendando as ferramentas e serviços para o desenvolvedor Android
Anúncio

Mais de Suelen Carvalho (20)

PDF
Porque Métodos Ágeis não é pra você!
PDF
Scrum: Relembrando os por quês?
PDF
Techtrends xp desafios da agilidade com trabalho remoto
PDF
Introdução a Kotlin
PDF
Introdução a Android Instant Apps
PDF
Google IO'17
PDF
Construindo Times de Alta Performance - Produtos & Engenharia
PDF
Git Merge e Rebase - The goal and differences
PDF
Dynamic Programming and Reinforcement Learning applied to Tetris Game
PDF
Desenvolvimento de Novos Líderes - Paidéia Educação
PDF
O sucesso do seu app está nos detalhes!
PDF
PDF
Supporting Coding and Testing
PDF
Intercon Android 2014 - Google Play In App Billing
PDF
Semana da Computação USP São Carlos 2014 - Carreira Mobile
PDF
TDC 2014 - Tudo sobre GCM Push Notifications
PDF
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
PDF
Conexao Java - Sua primeira app Android
PDF
7 Masters sobre Android
PDF
A história do surgimento da plataforma móvel Android.
Porque Métodos Ágeis não é pra você!
Scrum: Relembrando os por quês?
Techtrends xp desafios da agilidade com trabalho remoto
Introdução a Kotlin
Introdução a Android Instant Apps
Google IO'17
Construindo Times de Alta Performance - Produtos & Engenharia
Git Merge e Rebase - The goal and differences
Dynamic Programming and Reinforcement Learning applied to Tetris Game
Desenvolvimento de Novos Líderes - Paidéia Educação
O sucesso do seu app está nos detalhes!
Supporting Coding and Testing
Intercon Android 2014 - Google Play In App Billing
Semana da Computação USP São Carlos 2014 - Carreira Mobile
TDC 2014 - Tudo sobre GCM Push Notifications
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Conexao Java - Sua primeira app Android
7 Masters sobre Android
A história do surgimento da plataforma móvel Android.

Último (19)

PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Processos na gestão de transportes, TM100 Col18
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
COBITxITIL-Entenda as diferença em uso governança TI
Aula 18 - Manipulacao De Arquivos python
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Custos e liquidação no SAP Transportation Management, TM130 Col18
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Processos na gestão de transportes, TM100 Col18
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Apple Pippin Uma breve introdução. - David Glotz
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Aula04-Academia Heri- Tecnologia Geral 2025
Gestão de transportes básica no SAP S/4HANA, S4611 Col20

O fantástico mundo de Android