Download - Treinamento básico de Android
![Page 1: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/1.jpg)
![Page 2: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/2.jpg)
Treinamento de Android
2
![Page 3: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/3.jpg)
Conteúdo Afinal, o que é Android? Histórico de Versões Sensores Serviços Ferramentas Emulador Desenvolvimento de Aplicações Activities User Interface
3
![Page 4: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/4.jpg)
Afinal, o que é Android? Sistema Operacional criado para utilização de aparelhos móveis com
capacidade razoável de poder de processamento e sensores periféricos
Desenvolvido pela OHA – Open Handset Alliance Pensado originalmente para ser usado por Profissionais de Negócios Open source Linux based
Mercado amplo
4
![Page 5: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/5.jpg)
Versões 1.0 e 1.1
Android Market Navegador, Abas e Vídeos
Suporte básico para câmera
Salvar Anexos
Adição de Comentários no Maps
5
![Page 6: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/6.jpg)
Versões 1.5 - Cupcake
Melhorias na Interface Gráfica Widget de terceiros
6
![Page 7: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/7.jpg)
Versões 1.6 - Donut
Salvar Anexos
Comentários no Maps
Comandos de Voz
7
![Page 8: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/8.jpg)
Versões 2.0 e 2.1- Eclair
User Interface Redesign Múltiplas contas
Recursos de câmera
Maior resolução de tela
8
![Page 9: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/9.jpg)
Versões 2.2 - Froyo
Melhorias no Navegador
Hotspot Wi-Fi
USB Tethering Flash
9
![Page 10: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/10.jpg)
Versões 2.3 - Gingerbread
Interface renovada
Múltiplas câmeras Giroscópio
Barômetro
NFC
10
![Page 11: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/11.jpg)
Versões 3.0 - Honeycomb
UI Redesign Barra de sistemas
Suporte multicore
Tablets
11
![Page 12: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/12.jpg)
Versões 4.0 - Ice Cream Sandwich
Customização de launcher
Reconhecimento facial Gerenciamento de energia
Melhorias no Teclado
Notificações e Multitarefa
12
![Page 13: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/13.jpg)
Versões 4.1~4.3 - Jelly Bean
Google Now
Resolução 4k
Photo Sphere
Mapas Offline
Melhorias nas Animações
13
![Page 14: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/14.jpg)
Versões 4.4.x - Kitkat
Mudanças no app de ligações
Seleção da “Runtime machine”
Framework para impressão
Transparência nas barras
14
![Page 15: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/15.jpg)
Sensores Smartphones possuem diversos tipos de sensores e periféricos
GPS Acelerômetro Câmera Barômetro Giroscópio Internet Móvel
15
![Page 16: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/16.jpg)
Serviços Sincronização com Serviços do Google
16
![Page 17: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/17.jpg)
Ferramentas Android Developer Tools Bundle – Eclipse – Java Android Studio – Intellij – Java Corona – Lua
Titanium Appcelerator – Javascript Xamarin Studio – C#
Desenvolvimento utilizando Java (Dalvik VM) ou C/C++ (NDK)
17
![Page 18: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/18.jpg)
SDK Manager AVD Manager DDMS LogCat Emulator
Draw 9-patch Monkey ProGuard ZipAlign Hierarchy View
18
Ferramentas Principais recursos da plataforma:
JUnit Robotium
Testes:
![Page 19: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/19.jpg)
19
Ferramentas SDK Manager
![Page 20: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/20.jpg)
20
Ferramentas AVD Manager Android Virtual Device
![Page 21: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/21.jpg)
21
Ferramentas AVD Manager
New AVD
![Page 22: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/22.jpg)
22
Ferramentas AVD Manager
Device Definitions
![Page 23: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/23.jpg)
23
Ferramentas AVD Manager
New Device
![Page 24: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/24.jpg)
24
Ferramentas Logcat
Log.d Log.e Log.i Log.v Log.w
![Page 25: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/25.jpg)
25
Ferramentas Hierarchy View
![Page 26: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/26.jpg)
26
Ferramentas Draw 9-patch
image.9.png
![Page 27: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/27.jpg)
27
Emulador O que é um Emulador?
![Page 28: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/28.jpg)
28
Emulador Run Application
![Page 29: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/29.jpg)
Início - Home Menu – F2 ou Page Up Voltar - ESC Discador – F3 Finalizar Chamada – F4 Procurar – F5
Desligar – F7 Câmera – CTRL F3 Landscape – CTRL F11 Portrait – CTRL F12 Rede do celular – F8 Tela Cheia – Alt Enter
29
Emulador Atalhos
![Page 30: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/30.jpg)
Desenvolvimento de Aplicações MVC
Model View Controller
30
![Page 31: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/31.jpg)
Desenvolvimento de Aplicações Estrutura de projeto:
Activities Views Diretório Resources
Drawables Layouts Menus Values
Manifest
31
![Page 32: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/32.jpg)
Desenvolvimento de Aplicações Manifest
<action> <activity> <application> <intent-filter> <permission> <provider> <receiver> <service> <uses-sdk>
32
![Page 33: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/33.jpg)
Desenvolvimento de Aplicações Views
<Layout /> <Button /> <TextView /> <ImageView /> <RadioButton /> <CheckBox /> <DatePicker /> <TimerPicker/ >
33
![Page 34: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/34.jpg)
Exercício
34
1. Implementar um Hello World
2. Examinar o ciclo de vida da Activity
3. Avaliar estrutura do projeto
![Page 35: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/35.jpg)
Activity
Ciclo de Vida onCreate(); onStart(); onResume(); onPause(); onStop(); onDestroy(); onRestart();
35
![Page 36: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/36.jpg)
Activity
36
Ciclo de Vida Start
onCreate(); onStart(); onResume();
Stop onRestart(); onStart(); onResume();
![Page 37: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/37.jpg)
Propriedades string.xml
Permite a organização de mensagens da aplicação;
Simplifica a internacionalização de aplicativos.
R.java Gerado automaticamente com os IDs dos resources usados;
Realiza o mapeamento entre xml (views e resources) com classes Java.
37
![Page 38: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/38.jpg)
Propriedades Diretório RES
Organiza imagens, strings, cores, dimensões e estilos.
Assets Pasta para alocação de arquivos (.jar, .txt etc) externos
38
![Page 39: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/39.jpg)
Propriedades Drawable
Composta por imagens do aplicativo
Layout Composta por arquivos xml com os layouts do aplicativo
39
![Page 40: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/40.jpg)
User Interface Button
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=“Click Me" />
TextView<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello" />
40
![Page 41: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/41.jpg)
User Interface
41
EditText
<EditText
android:id="@+id/edittext1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint=“Say your name" />
ImageView<ImageView
android:id="@+id/imageview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image" />
![Page 42: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/42.jpg)
User Interface É recomendado criar componentes visuais utilizando XML através dos layouts
Performace MVC
Componentes que herdem da classe View podem ser associados com interfaces de eventos externos
Listeners OnClickListener OnLongClickListener OnLocationListener
42
![Page 43: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/43.jpg)
43
User Interface Exemplo de UI
Android 2.3
![Page 44: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/44.jpg)
44
User Interface Exemplos de componentes visuais mais sofisticados
Menu ActionBar Dialogs Toast
![Page 45: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/45.jpg)
Exercício
45
1. Avaliar a OverView Application
2. Modificar o visual dos componentes
![Page 46: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/46.jpg)
Intents
46
O que são os intents?
Como utilizar os intents?
Tipos de intents:
Internos Externos Receivers
![Page 47: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/47.jpg)
Intents
47
Intents para chamadas Internas
intent i = new Intent(this, SecondActivity.class);
startActivity(i);
startActivityForResult(i, REQUEST_CODE);
Pode ser composto por key e values Bundle
Intent Extras
![Page 48: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/48.jpg)
Intents
48
protected void onActivityResult(int requestCode, int resultCode, Intent data);
Necessita de startActivityForResult Executado quando acaba a Activity disparada pela Intent
![Page 49: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/49.jpg)
Intents
49
Exemplos de Uso: Intent.ACTION_VIEW, Uri.parse("http://www.site.com"));
Intent.ACTION_CALL, Uri.parse("tel:(+49)12345789"));
Intent.ACTION_DIAL, Uri.parse("tel:(+49)12345789"));
Intent.ACTION_VIEW, Uri.parse("geo:50.123,7.1434?z=19"));
Intent.ACTION_VIEW, Uri.parse("geo:0,0?q=query"));
Intent.ACTION_VIEW, Uri.parse("content://contacts/people/"));
Intent.ACTION_EDIT, Uri.parse("content://contacts/people/1"));
![Page 50: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/50.jpg)
Layouts
50
Organiza componentes gráficos na tela
Estrutura em árvore
ViewGroup e View Formas de implementação
Via XML Programaticamente via código (Java)
![Page 51: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/51.jpg)
Layouts - Atributos
51
Background Camada de fundo do nó
Padding Deslocamento interno do nó, em density pixels (dp)
Margin Deslocamento externo do nó, em density pixels (dp)
![Page 52: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/52.jpg)
Layouts - Propriedades
52
Fill_parent Significa que o nó poderá ocupar todo o espaço permitido pelo nó pai. Esta
propriedade foi renomeada para match_parent a partir da API 8 (Android Froyo).
Wrap_content Significa que o nó irá ocupar apenas o espaço que ela necessita.
DP ou DIP (Density Pixels) Unidade virtual utilizada pelo o Android para definição básica de espaço
Representa um pixel fisico em uma tela de 160 dpi (quantidade de pixels em uma polegada)
![Page 53: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/53.jpg)
Layouts - Tipos
53
FrameLayout LinearLayout RelativeLayout ScrollView
![Page 54: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/54.jpg)
FrameLayout
54
Layout mais eficiente, leve e rápido; Organiza os componentes em forma de pilha, sendo o último adicionado ao
topo;
Geralmente utilizado em conjunto com Fragments.
![Page 55: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/55.jpg)
LinearLayout
55
Alinha todos seus nós filhos em uma única direção Horizontal (default)
Vertical
Weight Atributo que define o quanto da tela um nó irá ocupar
Nós filhos definem esse valor
Valor default: 0
![Page 56: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/56.jpg)
RelativeLayout
56
Ajusta os nós filhos através de relacionamentos entre os proprios nós ou ao seu pai
Posicionamento de um nó filho é definido no próprio nó filho
Um nó filho pode ser posicionado em relação a outro nó filho que ainda não foi criado bastando declarar seu id
Default: Top-Left
![Page 57: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/57.jpg)
ScrollView
57
Herda de FrameLayout Pode ter apenas um nó filho (geralmente um outro layout)
Utilizado quando a tela possui muitos elementos, necessitando de um scroll
Nunca utilize junto com um ListView Suporta apenas rolagem vertical
HorizontalScrollView
![Page 58: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/58.jpg)
Resources
58
Devem se localizar nos subditerórios da pasta res
Recursos devem ser sempre externalizados
Dessa forma é possivel prover recursos alternativos
Para qualquer recurso pode ser definido um padrão e um alternativo
Utilizados independentemente da configuração do device ou quando não existem recursos alternativos
Projetados para serem utilizados em uma configuração específica:
Qualifiers
![Page 59: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/59.jpg)
Resources - Tipos
59
Animation Anim Color Integer Boolean
Layout Menu Values Color State List Drawable
![Page 60: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/60.jpg)
Resources - Drawables
60
Localizado em res/drawable/ Podem ser bitmaps do tipo png, jpg ou gif XML
Java
![Page 61: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/61.jpg)
Resources - Strings
61
Fornece recurso de texto para aplicação
Localizado na pasta res/values
Tipos
String Array de String
![Page 62: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/62.jpg)
Strings – i18n
62
Internacionalização de Strings
res/values/strings.xml
res/values-pt/strings.xml
Referência de uso
![Page 63: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/63.jpg)
Strings – i18n
63
Uso de Strings dinâmicas
res/values/strings.xml
res/values-pt/strings.xml
Referência de uso
![Page 64: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/64.jpg)
Resources - Qualifiers
64
Recursos alternativos
Android detecta configurações do dispositivo e carrega o recurso apropriado
O qualifier é concatenado ao nome da pasta de recurso separado por ‘-’
Res/<resource>-qualifier>/ <resource>: nome do tipo do recurso <qualifier>: configuração única que o recurso irá se aplicar
É possível utilizar mais de um qualifier ao mesmo tempo
Concatenados e separados por ‘-’
Seguir ordem especificada pelo o Google
![Page 65: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/65.jpg)
Resources - Qualifiers
65
MCC e MNC
Language e Region
Screen Size
Screen Orientation
Screen Pixel Density
Touchscreen type
Night mode
![Page 66: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/66.jpg)
Resources – Language e Region
66
Utilizado para internacionalizar a aplicação
O idioma é definido por duas letras
ISO 639-1 Pode ser utilizado em conjunto com a região
Duas letras precedidas de’r’
Uma região não pode ser utilizada sem o idioma
![Page 67: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/67.jpg)
ListView
67
ViewGroup Exibe uma lista Já possui scroll Utiliza Adapter
![Page 68: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/68.jpg)
ListActivity
68
Classe que já possui um ListView interno
Possui um layout default
Usar layout diferente
´@android:id/list’
![Page 69: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/69.jpg)
Adapter
69
Adaptar interface de uma classe
Permite que classes incompatíveis trabalhem de forma correta através de uma interface
![Page 70: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/70.jpg)
Layout Inflater
70
Transforma um layout XML em uma View
![Page 71: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/71.jpg)
Exercício
71
1. Avaliar a ToDo Application
![Page 72: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/72.jpg)
Toast
72
Pequeno popup que é mostrado durante um curto período de tempo
Usado para dar um feedback visual de alguma operação
Método estático makeText cria Toast padrão
Toast customizado
LayoutInflater
![Page 73: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/73.jpg)
Dialogs
73
Pequena janela que pode interagir com o usuário
Aguardar um ‘ok’ ou ‘cancel’
Receber alguma entrada
![Page 74: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/74.jpg)
Shared Preferences
74
Forma de persistir dados de uma aplicação
Framework que permite desenvolvedor gravar e recuperar dados
Outras aplicações podem ter acesso, porém não é recomendado
Chave-valor
Booleans, Floats, Ints, Longs, Strings
![Page 75: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/75.jpg)
Persistência de Dados
75
SQLite Forma de persistência de dados no Android
Banco leve, rápido e poderoso
Uma aplicação pode ter um ou mais banco de dados
Uma aplicação não enxerga o banco de dados de outra aplicação.
![Page 76: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/76.jpg)
Exercício
76
1. Avaliar a GREat Tasks Application
![Page 77: Treinamento básico de Android](https://reader036.vdocuments.mx/reader036/viewer/2022062503/5881f1db1a28abb4748b4d7d/html5/thumbnails/77.jpg)
Projeto Final
77
Proposta – Calendário Requisitos
Acesso privado através de usuário e senha;
Opção de adicionar um contato da agenda a um compromisso;
Deve abrir arquivos do tipo “xyz” e ir para a tela de criação de compromisso com os dados já preenchidos a partir do arquivo;
Um serviço para notificar o usuário que falta X minutos para o inicio do compromisso;
Deve expor os horários para outras aplicações acessarem;
Deve conter um menu de contexto que conterá as opções de editar e deletar o compromisso se for feito um clique longo em um item de compromisso ou um menu contendo “mudar a ordenação dos compromissos” ou colapsar e abrir o dia da semana se for selecionado o dia da semana.