3. Android já lidera mercado mundial de smartphones
No primeiro trimestre de 2011, 35% dos smartphones vendidos eram
Android, contra 19% do iOS, da Apple
http://www.geektech.com.br/?p=116
4. Google App Inventor for Android
Criação de aplicações para Android visualmente, sem a
necessidade de escrever código.
9. Como o Android suporta múltiplas telas?
Desde o Android 1.6, a plataforma provê suporte a múltiplos
tamanhos de tela e resoluções, adequando-se aos muitos tipos e
tamanhos de dispositivos com Android.
Assim, a partir do Android 1.6, a plataforma divide a infinidade de
tamanhos de tela e resoluções suportadas em:
• Um conjunto de três tamanhos: large, normal e small;
• Um conjunto de três densidades: hdpi (high), mdpi (medium) e ldpi (low).
Dessa forma, a aplicação pode prover layouts e imagens para qualquer
um desses três conjuntos, sem a necessidade de trabalhar com o
tamanho físico real da tela do aparelho.
Em tempo de execução, o Android carrega o conjunto adequado de
recursos, baseado no dispositivo em questão.
10.
11.
12. Organização de pastas de layout e imagens para uma aplicação que, em tese, suporta todos
os tamanhos de telas e resoluções.
13. Views e ViewGroups em Android
Em Android, todos os componentes de interface gráfica são representados por
subclasses de android.view.View que representam os componentes gráficos
como TextView, Button, TextEdit, RadioButton, CheckBox, etc. Além da classe
android.view.ViewGroup, que representa um container de views e também de
ViewGroups. Ela é a classe base para componentes de layouts, como
LinearLayout, RelativeLayout, AbsoluteLayout, FrameLayout, TableLayout, etc.
15. Layouts e Layout Params em Android
Para que os componentes possam ser acomodados de acordo com o layout de
seu pai, os mesmos devem manter uma relação de obediência. Sendo assim, cada
filho deve configurar os seus parâmetros de layouts, por meio da classe
ViewGroup.LayoutParams, que permite que estes determinem suas propriedades
de posição e tamanho referente ao layout de seus pais.
16. LinearLayout
O layout básico, padrão quando da geração de um .XML de layout no Android, é o
LinearLayout. Como o próprio nome diz, ele dispõe os componentes linearmente
em uma unica direção definida pelo atributo android:layout_orientation.
17. LinearLayout e LayoutParams
android:layout_gravity: similar ao float do CSS, o
gravity define a posição do conteúdo do
LinearLayout na tela, podendo-se usar top,
bottom, left, right, center, center_vertical,
center_horizontal, etc. Pode-se usar combinações
através do conector “|”. Por exemplo: “bottom |
right”.
android:layout_weight: indica quanto do espaço
extra no LinearLayout será alocado para a visão
associada aos LayoutParams. Ou seja, pode-se
dividir a tela entre os layouts atribuindo a cada
um deles um peso que define qual deles terá
maior espaçamento e, casa todos tenham o
mesmo peso, a tela é dividida igualmente.
Aplicação de peso (weight) em
um componente do LinearLayout
19. FrameLayout
Arranja seus filhos de acordo com uma pilha de componentes que são
adicionados, sendo que o topo da pilha contém o objeto que foi adicionado por
último. Pode-se usar quando se tem várias imagens e uma é sobreposta pela
outra (como um slide de imagens) conforme vão sendo adicionadas.
Criando uma pilha de
componentes com FrameLayout Sobreposição de componentes
com FrameLayout
20. FrameLayout (Código)
Nota: O FrameLayout é usado comumente a partir de uma de suas subclasses,
tais como ImageSwitcher, ViewAnimator, ViewSwitcher, ScrollView, TabHost, etc.
21. AbsoluteLayout
Implementa um plano cartesiano e posiciona os componentes em coordenadas X,
Y de forma absoluta.
Posicionando componentes no
AbsoluteLayout
25. TableLayout
Comporta seus filhos em linhas e colunas. Cada filho é representado por um
TableRow (uma espécie de LinearLayout na horizontal) que permite que uma ou
ais células sejam adicionadas horizontalmente, sendo que cada célula pode
conter um único View.
28. O que é necessário?
1. Última versão do Java Development Kit (JDK) instalado
2. Efetuar o download de:
• Android SDK (http://developer.android.com/sdk)
• Eclipse IDE (http://www.eclipse.org/downloads)
3. Instalação do plugin Android Development Tools (ADT)
através do Gerenciador de Plugins do Eclipse:
• ADT Plugin para Eclipse
(https://dl-ssl.google.com/android/eclipse)
29. Adicionando plataformas Android no
Eclipse
Menu Window ->
Android SDK and
AVD Manager ->
Installed Packages
-> Update All.
Selecionar
plataformas e
componentes
desejados e
efetuar o
download.
30. Adicionando AVDs (Android Virtual Devices)
Uma vez instalado o ADT Plugin e as plataformas desejadas, é
hora de adicionar pelo menos um AVD para que você possa
testar suas aplicações.
Acessa-se o menu
Window do Eclipse e,
em seguida, Android
SDK and AVD
Manager. Seleciona-se
Virtual Devices e,
finalmente, clica-se em
New. Depois basta
configurar o
dispositivo virtual
conforme se deseja e
ele estará disponível
para ser usado.
31. Estrutura de um projeto Android
Quando se cria um projeto com o ADT plugin, obtém-se a
seguinte estrutura de pastas:
• / - Raiz do projeto.
o src/ - Classes Java
o gen/ - Código Java gerado automaticamente.
o res/ - Recursos da aplicação
drawable/ - Imagens
layout/ - Layouts de telas/formulários.
values/ - Arquivos de variáveis.
o AndroidManifest.xml - Configuração do projeto.
32. AndroidManifest.xml
Arquivo de configuração de uma aplicação Android. Identifica o
nome e o ícone da aplicação, declara os componentes, realiza a
conexão com bibliotecas extras que a aplicação necessita (além
da biblioteca padrão do Android), define a versão mínima do
Android na qual a aplicação pode ser executada e identifica
quaisquer permissões que a aplicação espera obter.
33. Layout – main.xml
A forma mais comum de esboçar uma tela é através de um
arquivo de layout no formato XML.
Esse arquivo determina o tipo de layout utilizado e declara os
elementos de interface que compõem a tela, correspondentes
às classes View e suas subclasses.
Além disso, a aplicação pode criar objetos View e ViewGroup,
bem como manipular suas propriedades, em tempo de
execução, através de código na Activity.