out/2013Vinicius de Carvalho | [TGL] Dogg

Engatinhando

com Android

Os primeiros passos na criação de aplicativos
 

Vinicius de Carvalho

  • vinidoggll@hotmail.com

  • fb.com/TGL.Dogg

  • github.com/tgl-dogg
[TGL] Dogg          |          Vini Dogg LL

Formação


  • Técnico em Informática
    → ETEC Irmã Agostina


  • Cursando 2º Semestre do Bacharelado em Ciência da Computação
    → Centro Universitário Senac


  • Certificado como Palestrante Android
    → ETEC Irmã Agostina

Experiência Profissional

Engenheiro de Software
Consultor
 

Objetivo

 

O que tem pra hoje

Quero ver todos criando apps hoje!
  • Introduzir vocês à plataforma Android;

  • Introduzir ao ambiente de desenvolvimento de aplicativos para Android;

  • Guiar vocês na criação de aplicativos.

DOs & DON'Ts


  • Aprender o básico sobre a plataforma Android;

  • Estudar programação para Android;

  • Criar um aplicativo relacionado a bacon.
Vocês vão:

Vocês não vão:
  • Se tornar profissionais
    instantaneamente;

  • Publicar aplicativos imediatamente;

  • Ganhar bacon grátis.
 

Quero ver TODOS
criando apps hoje!

Plataforma
Android

Arquitetura

Open Source

Projeto: Apache Software License 2.0
Kernel: General Public License version 2
Todos podem fazer, configurar  e portar 
seu próprio Android!

Android Virtual Device (AVD)

Emulador de dispositivos Android
Perfeito para quem não possui dispositivos Android!
  • Simula Wi-fi, 3G, Giroscópio, Localização, etc.
  • Suporta recursos avançados (Bluetooth, Câmera)
  • Já vem junto com o SDK do Android

Criando Uma AVD

AVD Name: <nome>
Device: Nexus 4 (4.7'')
Target: Android 4.3 - (API Level 18)
CPU/ABI: ARM
Keyboard: Não
Skin: Sim
Cameras: none
RAM: 512
VM Heap Size: 32
Internal Storage: 200
SD Card: 200
Snapshot: Sim
Use Host GPU: Não

Desenvolvendo
Aplicativos

Tamo ai na Atividade!

Para criar aplicativos, é preciso atividade!

Activity 
"Uma coisa focada e única que o usuário pode fazer."

Ciclo de Vida

onCreate( ) → Ao criar, faça...
onStart( ) → Ao começar, faça...
onResume( ) → Ao prosseguir, faça...
onPause( ) → Ao pausar, faça...
onStop( ) → Ao parar, faça...
onDestroy( ) → Ao destruir, faça...

Contexto

"Eu uso crack para fazer programas!"
O Contexto (Context) faz toda diferença!
Context contexto =  MinhaActivity.this; 

Olá Mundo!

Criando o nosso primeiro aplicativo!

Olá Mundo!


Context contexto = MinhaActivity.this; TextView mTextView = new TextView(contexto); String hello = "Olá "; String world = "Mundo!"; mTextView.setText(hello + world); mTextView.setTextSize(50); contexto.setContentView(mTextView);

Ciclo de Vida

Não chamar diretamente!
Sempre chamar da superclasse:
@Overrideprotected void onCreate(Bundle b){
super.onCreate(b);
}


 

Entendendo
os Recursos

Recursos

De onde veio aquela tela branca?
Quem colocou aquele Hello World ali?
De onde veio aquele texto "Hello World"?
Dos recursos (res)!

Recursos

É onde guardamos imagens, animações e outros valores que podem variar de acordo com tamanho do dispositivo, densidade da tela, idioma do usuário e etc.
Values → Strings, Dimens, Integers
Layout → Telas em geral
Drawable → Imagens, .xml

A Classe R

União entre os Recursos e o código Java
Cria ids únicos para cada elemento dos recursos (inclusive para elementos dentro da tela);

É extremamente rigorosa com nome de arquivos;
Tem mania de sumir!

 

Broken Glass

Criando um aplicativo para fazer uso de recursos!

Broken Glass

MinhaActivity extends Activity implements OnClickListener{

protected void onCreate(Bundle b){
        super.onCreate(b);
        Context contexto = MinhaActivity.this;
        setContentView(R.layout.meu_layout);

        RelativeLayout mRelativeLayout = (RelativeLayout) 
        findViewById(R.id.meu_relative_layout);

        mRelativeLayout.setOnClickListener(contexto);
} ...

Broken Glass

...
@Override
public void onClick(View v){
        v.setBackgroundResource(R.drawable.broken_glass);
}


}

ClickListener

ClickListener é uma interface que cuida dos cliques na tela
Quando o usuário clica na tela, o sistema gerencia isso para nós e chama o método onClick() dentro do nosso código, e ai então tratamos do clique.
Não confundir com TouchListener!
 

Entendendo
as Views

Views

Elementos visuais
A TextView é uma View, o RelativeLayout é uma View
O que mais é View?
Praticamente tudo que se pode ver!
Views possuem Listeners!

EditText

Campo de Texto
View para entrada de dados do usuário
Possui versões otimizadas para nomes, senhas, telefones, números naturais, inteiros e decimais, etc.

Buttons

Botões
View específica para tratamento de clique, clique longo, toque e outros eventos.

TextView

Mostrando textos na tela
Como mostrar o texto de uma variável do tipo int?
int i = 0;
String a = String.valueOf(i);
mTextView.setText(a);
mTextView.setText(i + "");
 

Calculadora

Criando uma app para receber valores do usuário, tratá-los e devolvê-los!

Calculadora

TextView mTextView = (TextView)
findViewById(R.id.text_view1);

EditText mEditText1 = (EditText)
findViewById(R.id.edit_text1);

Button mButton1 = (Button)
findViewById(R.id.button1);

mButton1.setOnClickListener(contexto);
Calculadora
Pegando valor da EditText:

String a = mEditText1.
getText().toString();

if(!a.equals("") {
        int v1 = Integer.valueOf(a);
}
Definindo Ação do Botão:

public void onClick(View v) {
        switch (v.getId()) {
        case R.id.button1:
                somar();
                break;
        }
}

Calculadora

Implementem Subtração, Multiplicação e Divisão!

Android
Developers

 

Android Developers

Seu melhor amigo para desenvolvimento Android!
http://developer.android.com

Engatinhando com Android

By Vinicius de Carvalho | [TGL] Dogg

Engatinhando com Android

Workshop ministrado no Centro Universitário Senac sobre Desenvolvimento de Aplicativos para plataforma Android.

  • 681