SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
Android
Básico
Uma pequena aula de desenvolvimento
Android
Por que Android?
• Quais são as formas de criar um app?
• Nativo vs Hibrido
• Por que desenvolver nativo?
• Por que desenvolver hibrido?
Hibrido
Ferramentas e Frameworks
●
Xamarin (Zemarin)
●
PhoneGap, Cordova
●
React Native
●
JasonNette
●
...
Nativo
●
Android Studio, Eclipse
●
Java, C++
●
Jynton, Jruby
Controle de Ponto
A proposta é desenolver uma aplicativo
de controle de ponto.
●
Estrutura Android
●
Layout
●
Banco de Dados (Sqlite)
●
Adapter
Entendendo o Android
Entendendo Android
Manifest:O arquivo de manifesto
apresenta informações essenciais sobre
o aplicativo ao sistema Android,
necessárias para o sistema antes que
ele possa executar o código do
aplicativo.
Entendendo Android
Pacote Java: Pacote com todas as
classes java.
Pacote Res: Pacote com todos recursos
externos ( Imagens, strings, layout,
cores, animaçoes,menu,…).
Gradle: é um sistema de automação de
compilação open source.
Layout
Layout
Usamos o ConstraintLayout para criar
esta primeiro tela, mas poderiamos
usar outras formas como :
●
LinearLayout
●
RelativeLayout
●
TableLayout
Activity
Componente de aplicativo que fornece
uma tela com a qual os usuários podem
interagir para fazer algo, como discar um
número no telefone, tirar uma foto, enviar
um e-mail ou ver um mapa. Cada atividade
recebe uma janela que exibe a interface do
usuário. Geralmente, a janela preenche a
tela, mas pode ser menor que a tela e
flutuar sobre outras janelas.
Java
Criamos a tela e entendemos o que é
uma activity, mas e agora como faz ela
aparecer, fazer as funçoes e tudo mais?
No java vamos “ligar” as telas as
classes.
Activity
Java
Vamos agora linkar os objetos da tela
com os objetos da classe.
●
findViewById
●
setContentView
Java
Criamos no Layout um Texto(TextView)
e um Botao(Button).
Usando o findViewById(View view);
TextView txtHora =
(TextView)findViewById(R.id.textView)
Button btnBaterPonto =
(Button)findViewById(R.id.button)
Java
Ta mais meu botão não executou nenhuma
ação! #Comofas?
Vamos fazer uma açao para ele, mas antes
API!
●
View.setOnClickListener(View.OnClickListener l)
Java
BtnBaterPonto.setOnClickListener(new
View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
}
});
Bom, mas o que este botão vai fazer?
Java
Ação simples neste inicio.
Vamos alterar o texto para a hora que foi
batido o ponto.
#PartiuAPI
txtHora.setText(“”);
Java
Bora criar um modelo de ponto para facilitar e
a gente pode salvar no final!
Ponto{
dia: Date();
hora: Time();
acao: [Entrada, Saida]
}
Sqlite
●
Hora de criar o DAO e salvar este
ponto!
●
Teremos que usar uma classe para
acessar o banco SQLiteOpenHelper
SqliteOpenHelper
●
Como descreve na API somos obrigados
a implementar dois métodos
●
OnCreate
●
onUpgrade
DAO
●
Vamos criar o crud desse dao, como só
temos dois campos bem rapidinho.
id: int
dia : date
hora: time
acao: int
Vamos criar o CRUD.
DAO
●
Create table ponto(
“id” int,
“hora” time,
“dia” date,
“acao” int);
DAO
●
Criamos o script da tabela e a classe
que conecta no sql, mas e agora como
faremos para fazer o CRUD?
DAO
●
Vamos criar a classe que faz o CRUD na
tabela ponto.
●
Create
●
Read
●
Update
●
Delete
Relatório
●
Bom salvamos os dados, agora temos
que mostra-los para o usuário.
Android
●
Vamos criar uma nova activity, e vamos
colocar um calendario (CalendarView)
nela.
●
Vamos fazer o bind e usar a funçao
setOnDateChangeListener para pegar o
dia que foi selecionado!
Android
●
Bom criamos duas Activities e as
funções, mas como chama a outra?
●
No nosso exemplo vamos usar o menu!
●
Vamos criar:
res/menu/menu_relatorio.xml
Android
●
Criado o menu, vamos implementa-lo,
na MainActivity vamos implementar os
métodos
onCreateOptionsMenu(Menu menu)
onOptionsItemSelected(MenuItem
item)
Android
●
No android para chamar outra
atividade vc precisa de uma
Intent( Intenção) e nela você fala o seu
contexto(Activity corrent) e para qual
deseja ir!
●
Lembre-se você deve declarar a
Atividade no Manifest
Relatório
●
Agora como faremos para mostrar os
pontos batidos?
●
Que tal criar um Dialog?
Dialog
●
Agora como faremos para mostrar os
pontos batidos?
●
Que tal criar um Dialog?
Dialog
●
Iremos usar o AlertDialog.builder.
Vamos usar o inflate de novo agora para
mostrar a view do Dialog.
●
●
No final dialog.show();
Dialog
●
Pronto, mostramos os pontos batidos!
Referencias
●
Documentação ( https://goo.gl/Tz3X0R)
●
Circulo de vida (https://goo.gl/wI90pR)
●
Codigo fonte
https://github.com/joncasagrande/EATI_
2017
Agradecimentos
●
Muito obrigado pela paciência.
Email: joncasagrande@yahoo.com
Qualquer duvida só chamar!

Mais conteúdo relacionado

Semelhante a Mini Curso Android basico EATI-2017

OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)Ricardo Rufino
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaGPrimola
 
Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?Mozart Diniz
 
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...tdc-globalcode
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao androidMessias Batista
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panosLaís Lima
 
JavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistemaJavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistemaFabio Agostinho Boris
 
Aula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixAula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixCris Fidelix
 
Aula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixAula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixCris Fidelix
 
Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Afonso Machado
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para AndroidClaudio Pereira
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com AngularElmano Cavalcanti
 
Apresentação java
Apresentação javaApresentação java
Apresentação javamunosai
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoFlávio Lisboa
 
Desenvolvimento Ágil com Grails.
Desenvolvimento Ágil com Grails.Desenvolvimento Ágil com Grails.
Desenvolvimento Ágil com Grails.Alex Guido
 

Semelhante a Mini Curso Android basico EATI-2017 (20)

OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno Cotta
 
Spring boot
Spring bootSpring boot
Spring boot
 
Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 
JavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistemaJavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistema
 
Linear Engineering
Linear EngineeringLinear Engineering
Linear Engineering
 
Aula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixAula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane Fidelix
 
Aula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixAula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane Fidelix
 
Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
Csharp
CsharpCsharp
Csharp
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutenção
 
Grails
GrailsGrails
Grails
 
Desenvolvimento Ágil com Grails.
Desenvolvimento Ágil com Grails.Desenvolvimento Ágil com Grails.
Desenvolvimento Ágil com Grails.
 

Mini Curso Android basico EATI-2017