Escolar Documentos
Profissional Documentos
Cultura Documentos
Tudo o que voc precisa saber para iniciar o aprendizado sobre a plataforma ANDROID. Por : Ricardo Sutana de Mello
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
O que o ANDROID ?
Android
uma plataforma composta de sistema operacional, middleweres e um conjunto de aplicativos; Baseado no ncleo do Linux;
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
Programao
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
Android ADT(21.1.0)
Eclipse
+ ADT Plugin Android SDK Tools Android Plataforms Tools Ultima atualizao Android Emulador
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
Mercado Android:
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
Prospeco (2016):
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
Verses lanadas:
Fonte: http://developer.android.com/about/dashboards/index.html
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
Application Project
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
10
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
11
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
12
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
13
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
14
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
15
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
16
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
17
Estrutura do Projeto
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
18
src
Pasta do projeto que contm todas as classes java necessrias. MainActivity.java foi criada pelo Wizard no incio do projeto.
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
19
gen
A pasta gen contm a classe R.java que gerada automaticamente e permite que a aplicao acesse qualquer recurso como arquivos e imagens, utilizando as constantes da classe R.java.
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
20
assets
Arquivos opcionais, como por exemplo uma fonte customizada, estes arquivos so acessveis ao programador
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
21
libs
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
22
res
dedicado ao armazenamento de recursos (arquivos de layout, imagens, animaes e xml contendo valores como strings, arrays e etc) acessveis atravs da classe R;
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
23
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
24
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
25
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
26
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
27
Hello World
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
28
WIDGETS
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
29
LinearLayout android.widget.LinearLayout
Este tipo de layout organiza os widgets de forma linear, podendo ser na horizontal ou vertical.
<LinearLayout xmlns:android=http://schemas.android.com/apk/res/android android:layout_width= android:layout_hight= android:orientation= > . <TextView . android:id="@+id/letreiro" . android:layout_width="wrap_content" </LinearLayout> android:layout_height="wrap_content"
android:clickable="true" android:drawableTop="@drawable/letreiro" android:onClick="selecionarOpcao" android:text="@string/letreiro" android:textColor="#FFFFFF" android:textStyle="bold" />
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
30
RelativeLayout - android.widget.RelativeLayout
Layout extremamente poderoso, pois consegue posicionar qualquer widget esquerda, direita, acima ou abaixo de outro widget qualquer.
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
TextView - android.widget.TextView
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
32
EditText android.widget.EditText
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
33
Button android.widget.Button
Adiciona um boto ao aplicativo para realizar alguma ao necessita da implementao na classe MainActivity.java do metodo onClick.
<Button android:id="@+id/saudacaoButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/surpreenda_me" android:onClick="surpreenderUsuario"/>
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
34
Spinner
android.widget.Spinner
Exibe para o usurio uma lista de itens dos quais ele s pode selecionar um (combobox, dropdown..) Os itens listados devem ser colocados em um arraylist no arquivo strings.xml
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
35
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
36
Exemplo
Para este primeiro exemplo, vamos criar uma activity onde o usurio insere seu nome e clica em um boto. File>Import>Existing Android Code Into Workspace
Selecione Refresh Selecionar Finish
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
37
Activitys
Toda activity uma classe de sua aplicao que controla os eventos de uma tela. Cada activity deve ser obrigatoriamente declarada no AndroidManifest.xml. Para isso basta usar a tag:
<activity android:name=".MyActivity"/>
composto por 7 mtodos que indicam seu estado atual. So eles: onCreate(), onStart(), onResume(), onPause(), onStop(), onRestart() e onDestroy().
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
38
39
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
Intents android.content.Intent
A Intent uma mensagem que a aplicao envia para o sistema operacional Uma Intent uma AO
Intent intent = new Intent(this,ClasseAtividade.class);
startActivity(intent);
ou
Intents - android.content.Inten t
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
41
Intents - android.content.Intent
do Componente
De finido pelo nome completo da classe e o nome do pacote defi nido no AndroidManifest.xml que representamos o componente que deve ser o encarregado de tratar a Intent. A ao uma string que de fine o que deve ser realizado. Existem diversas aes genricas no Android, disponibilizadas como constantes na classe Intent. Alguns exemplos de constantes so:
Ao
ACTION_CALL ACTION_VIEW
Dados
Os dados de uma Intent so representados atravs de uma URI e a partir dela a aplicao decide o que deve ser feito.
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
42
Intents - android.content.Intent
extras
As informaes extras so quaisquer outros dados necessrios para que o componente execute a ao apropriadamente. A categoria, representada apenas por uma string, serve como informao adicional para auxiliar o Android na escolha de qual componente o mais adequado para receber a Intent.
Categoria
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
43
Agora implementaremos nosso exemplo anterior e integraremos as intents na aplicao. 1) Criar o novo Layout 2) Criar a classe responsavel pela nova Activity 3) Alterar o Layout da Activity principal 4) Alterar a classe MainActivity.java para que as intents sejam utilizadas. 5) Alterar o Strings.xml 6) Alterar o AndroidManifest.xml para este permitir o uso das intents criadas.
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
44
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
45
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/mensagemTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"/> </LinearLayout>
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
46
File>New>Class
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
47
File>New>Class
public final static String EXTRA_NOME_USUARIO = "Exemplo12.EXTRA_NOME_USUARIO"; public static final String ACAO_EXIBIR_SAUDACAO = "Exemplo12.ACAO_EXIBIR_SAUDACAO"; public static final String CATEGORIA_SAUDACAO ="Exemplo12.CATEGORIA_SAUDACAO"; @Override
android:layout_height="wrap_content"
android:inputType="textPersonName"> <requestFocus/> </EditText>
android:layout_gravity="center"
android:text="@string/textoBotao" android:onClick="surpresa"/>
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
49
Alterando a MainActivity.java
public class MainActivity extends Activity { private EditText nomeEditText; @Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); this.nomeEditText = (EditText) findViewById(R.id.nomeEditText); }
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
50
Alterando a Strings.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Exemplo2</string> <string name="action_settings">Settings</string> <string name="menu_settings">Settings</string> <string name="title_activity_main">MainActivity</string> <string name="titulo">Introduao ao Android</string>
<string name=textoBotao">Enviar</string>
<string name="saudacao">Bem Vindo ao GetUpdate </string> </resources>
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
51
Alterando a AndroidMainifest.xml
<category android:name="Exemplo12.CATEGORIA_SAUDACAO"/>
<category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity>
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
52
LogCat
No Android no h como imprimir mensagens no console via System.out.println( ). Todas as mensagens so exibidas em forma de log
NIVEL Debug Verbose Info Informao Warm Alerta Error Erro SIGLA D V I W E COR AZUL PRETO VERDE LARANJA VERMELHO
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
53
LogCat
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
54
v em cabealho e rodap para editar esta seo e aplicar automaticamente em todos os slides
55