Académique Documents
Professionnel Documents
Culture Documents
Sorocaba / S.P.
Outubro / 2015.
Sumrio
1. Introduo ...................................................................................................... 6
2. Ciclo de Vida de uma Activity ......................................................................... 8
3. Criando uma nova aplicao ........................................................................ 11
Trocar de tela utilizando um boto ................................................................ 16
Adicionar a classe da activity no manifest.xml .............................................. 18
Exerccio de navegao entre telas .............................................................. 24
4. Mensagem de Alerta .................................................................................... 25
5. Dialog ........................................................................................................... 26
6. Passando parmetros .................................................................................. 28
7. Criao e utilizao do banco de dados interno Sqlite ................................. 29
Insero de valores no banco de dados ....................................................... 30
Buscar valores do banco de dados............................................................... 34
SharedPreferences ....................................................................................... 40
Exerccio de pesquisa e insero no banco de dados .................................. 48
8. Banco de Dados ........................................................................................... 49
9. Logcat........................................................................................................... 53
10. Dispositivo Real .......................................................................................... 55
11. Maquina Virtual .......................................................................................... 56
12. SDK Manager ............................................................................................. 58
13. Interface Grfica ......................................................................................... 60
14. Classe R ..................................................................................................... 62
15. Build.gradle ................................................................................................ 63
FIGURAS
FIGURA 1: ARQUITETURA
MENU
FILE ...................................................................................... 11
FIGURA 4:
FIGURA 5:
FIGURA 6:
FIGURA 7:
FIGURA 8:
\ FINISH ............................................................ 14
FIGURA 9:
FIGURA 10:
FIGURA 11:
FIGURA 11:
FIGURA 12:
FIGURA 13:
\ RELATIVELAYOUT ......................................... 16
FIGURA 16:
ANDROIDMANIFEST ........................................................................ 19
FIGURA 17:
FIGURA 19:
FIGURA 20:
FIGURA 21:
FIGURA 22:
FIGURA 23:
................. 23
FIGURA 26:
COMANDO SQL
.............................................................................. 30
FIGURA 32:
FIGURA 33:
CLASSE ACTIVITYINSERIR
FIGURA 34:
FUNO LIMPACAMPOS
FIGURA 35:
FIGURA 36:
FIGURA 37:
.............................................................. 31
................................................................. 32
FIGURA 40:
CLASSE ACTIVITYEXIBIR
FIGURA 41:
FUNO MYLISTADAPTER
FIGURA 42:
FIGURA 43:
FUNO POPULATELISTVIEW
FIGURA 44:
FIGURA 45:
................................................................ 37
.............................................................. 38
......................................................... 39
CLASSE USERLOGIN
...................................................................... 43
FIGURA 48:
FIGURA 50:
FIGURA
51:
LIGAO
ENTRE
........................................................... 44
AS
CLASSES
LOGIN ,
USERLOGIN
ACTIVITYCADASTRAR ......................................................................................... 45
FIGURA 52:
FIGURA 53:
FIGURA 54:
FIGURA 55:
FIGURA 56:
FIGURA 57:
INTENT .......................................................................................... 49
FIGURA 58:
FIGURA 59:
FIGURA 60:
FIGURA 61:
SQLITESTUDIO ............................................................................... 53
.. 47
............................................................ 50
FIGURA 64:
FIGURA 65:
FIGURA 66:
LOGCAT
FIGURA 67:
FIGURA 68:
FIGURA 69:
FIGURA 70:
DEFAULT SETTINGS
FIGURA 71:
FIGURA 72:
BUILD ............................................................................................ 62
FIGURA 73:
FILE
FIGURA 74:
FIGURA 75:
........................................................ 54
........................................................................................ 56
....................................................................... 59
1. Introduo
O que o Android?
Verses do Android
A partir da verso 1.5 foram escolhidos nomes de doces (ordem
alfabtica):
Cupcake
Donut
clair
Froyo
Gingerbread
Honeycomb
Jelly Bean
Kit kat
Lollipop
FIGURA 1: ARQUITETURA
Android Studio
(DEVELOPERS_2,2015)
7
10
FIGURA 3:
MENU
FILE
11
2. New Project:
FIGURA 4:
FIGURA 5:
12
4. Selecione a SDK:
FIGURA 6:
FIGURA 7:
\ BLANK ACTIVITY
13
6. Clique em finish:
FIGURA 8:
\ FINISH
FIGURA 9:
\ ERRO DE RENDERIZAO
14
FIGURA 10:
FIGURA 11:
15
Boto direito na pasta layout -> New -> Layout Resource File:
FIGURA 11:
1.2.
F IGURA 12:
\ RELATIVELAYOUT
16
FIGURA 13:
2.2.
17
2.3.
A classe da para a activity deve ser filha da classe Activity que vem no
AndroidStudio:
FIGURA 15:
18
FIGURA 16:
ANDROIDMANIFEST
3. Trocar de tela:
3.1.
19
FIGURA 17:
3.2.
Nomeie o boto de uma maneira que lembre para que ele serve. Como
as classes java enxergam todos os elementos de todos os layouts, uma
maneira de deixar o projeto arrumado nomear o elemento da seguinte
manteira: tipo do elemento + a que layout pertence (tela) + o que faz. Ex:
btnTela1Tela2 ou btnTela1GoTela2.
20
3.3.
21
FIGURA 19:
CLASSE MAINACTIVITY
Essa listener ser ativada toda vez que o boto btnTela1Tela2 for pressionado.
3.4.
FIGURA 20:
CLASSE ACTIVITY 2
22
23
FIGURA 22:
CLASSE ACTIVITY 2
24
Faa:
Com que ao pressionar o boto voltar, retorne a tela principal;
Ao pressionar o boto Exibir valores do banco, mostre a tela layout_exibir;
Ao pressionar o boto Inserir valores no banco, mostre a tela layout_inserir.
FIGURA 23:
4. Mensagem de Alerta
Esta funo como o prprio nome j diz, serve para exibir uma mensagem de
alerta para o usurio caso ocorra alguma exceo.
25
5. Dialog
Na mensagem de alerta visto anteriormente, se vocs podem observar, o
dialog usado, ou seja, o dialog nada mais que uma janela que abre aps
um processo, dentro dele voc pode personalizar como uma mensagem de
confirmao de algum estado alterado, renomear algum campo desejado e
entre outros. Veja no exemplo a seguir como feito um dialog personalizado.
26
FIGURA 25:
Neste layout, o nome dado ser dialog_exemplo, para que ento na classe
onde o dialog criado possa se conectar com o layout feito.
27
FIGURA 26:
FUNO DIALOG
6. Passando parmetros
Primeiramente na activity que est passando o(s) parmetros, necessrio
passar no Intent o contexto com o mtodo getContext(); e a classe que ir
receber esses parmetros via Intent.
Faa ento o mtodo Context, como mostra a seguir:
28
Logo depois insira o cdigo a seguir em alguma funo que a chame, pois logo
que o startActivity(); executada, o objeto da classe Intent executada e
sendo assim chamando a classe pr-estabelecida.
29
E para criar uma tabela, execute um comando sql com o banco de dados
criado:
FIGURA 31:
COMANDO SQL
FIGURA 32:
TELA DO LAYOUT
30
FIGURA 33:
CLASSE ACTIVITYINSERIR
31
FIGURA 34:
FUNO LIMPACAMPOS
32
FIGURA 35:
FUNO SALVACARRO
33
FIGURA 36:
TELA LISTVIEW
34
FIGURA 37:
35
Para exibir os valores precisamos criar uma classe para armazenar os valores
do banco. Essa classe ir ter todos os campos da tabela Carro.
FIGURA 39:
CLASSE CARRO
36
Carregue o banco de dados e crie uma lista de objetos Carro, iremos utiliz-la
para preencher a ListView, passando a lista para um ArrayAdapter.
FIGURA 40:
CLASSE ACTIVITYEXIBIR
37
FIGURA 41:
FUNO MYLISTADAPTER
38
FIGURA 42:
FUNO POPULATELISTACARROS
FIGURA 43:
FUNO POPULATELISTVIEW
39
FIGURA 44:
FUNO SELECTITEMLISTA
SharedPreferences
utilizado para armazenar dados no dispositivo. Muito til para guardar
configuraes e informaes do usurio. Eles ficam guardados mesmo que o
usurio saia da aplicao e o aparelho seja desligado.
Sua utilizao parecida com a session do PHP. Pode ser utilizado para
armazenar e validar o login.
40
FIGURA 45:
CLASSE LOGIN
41
42
FIGURA 47:
CLASSE USERLOGIN
FIGURA 48:
43
FIGURA 50:
44
FIGURA 51:
45
FIGURA 52:
CLASSE MAINACTIVITY
FIGURA 53:
FUNO LAYOUT
46
FIGURA 54:
FIGURA 55:
RESULTADO FINAL
47
FIGURA 56:
48
FIGURA 57:
INTENT
Que exibe uma mensagem para informar que o cadastro foi realizado com
sucesso, seta a sesso e exibe a tela principal.
8. Banco de Dados
Para visualizar o banco de dados criado de sua aplicao, necessrio realizar
alguns passos, usaremos somente o emulador para poder visualizar o banco
de dados, pois no dispositivo real por motivos de segurana no possvel
acessar a pasta privada do aplicativo.
Depois de executar o projeto no emulador, o banco de dados criado
(lembrando que o banco de dados s criado quando a funo de criar o
banco no cdigo est implantada e chamada).
49
FIGURA 58:
do
emulador
conforme
mostra
abaixo,
ento
abra
em
FIGURA 59:
50
try {
fis = new FileInputStream(f);
fos = new FileOutputStream("/mnt/sdcard/meu_banco_dump.db");
//meu_banco_dump.db o nome do seu arquivo do banco que conter todas as suas
Tabelas do banco
while (true) {
int i = fis.read();
if (i != -1) {
fos.write(i);
} else {
break;
}
}
fos.flush();
Toast.makeText(this, "DB dump OK", Toast.LENGTH_LONG).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "DB dump ERROR", Toast.LENGTH_LONG).show();
} finally {
try {
fos.close();
fis.close();
} catch (IOException ioe) {
51
}
}
}
FIGURA 60:
PERMISSO NO ANDROIDMANIFEST
Essa funo far que o arquivo seja mandado para outro diretrio, para abrir o
arquivo, basta entrar em storge/sdcard/meu_banco_dump.db.
Com o arquivo em mos, extraia para fora do emulador, no canto superior
direito um disquete, clique nele com o arquivo selecionado que deseja extrair.
Baixe o SQLite Studio do site http://sqlitestudio.pl/?act=download.
Abra o programa e ento adicione o banco de dados no SQLiteStudio, lembrese que ao fazer modificaes no banco de dados pelo SQLiteStudio e queria
que a aplicao leia tal modificao, necessrio que importe para dentro do
emulador e na pasta data/data e no no storage/sdcard, pois no sdcard
somente para ter o banco em mos e o Android Studio l somente dentro da
pasta data.
52
FIGURA 61:
SQLITESTUDIO
9. Logcat
Os logs permitem ao desenvolvedor debugar erros durante o desenvolvimento
e tambm investigar problemas com o software em produo, ou seja, com o
usurio final. possvel criar logs de informao, debug, alertas e erro. Cada
log pode ser escrito em uma determinada tag, para que posteriormente apenas
as mensagens desejadas sejam recuperadas. Caso no tenha aparecido o
LogCat, aperte o atalho Alt+6.
53
FIGURA 63:
FUNO LOG
FIGURA 64:
54
em
FIGURA 65:
55
FIGURA 66:
LOGCAT
56
FIGURA 67:
Note que na figura abaixo esquerda h uma lista para dispositivo (Devices),
logo que apertar Reset adb , os dispositivos conectados sero mostrado na
lista e finalmente voc poder executar o seu projeto.
57
F IGURA 68:
/ RESET ADB
F IGURA 69:
58
FIGURA 70:
DEFAULT SETTINGS
Para voc ter uma base, deixe checados os seguintes pacotes, as verses do
Android (API) para instalar vo ser critrio de cada um, dependendo do
dispositivo que rodar o aplicativo.
59
FIGURA 71:
Descrio
AbsoluteLayout
FrameLayout
LinearLayout
Utilizados
para
organizar
os
para
organizar
os
60
RelativeLayout
Descrio
android:layout_height
android:layout_width
Descrio
Fill_parent
Match_parent
Wrap_parent
Nmero(dp)
61
14. Classe R
A classe R gerada automaticamente ao compilar o projeto e contm as
constantes para acessar os diversos recursos do projeto. Nunca se deve alterar
essa classe manualmente. Caso por algum motivo a classe R seja excluda,
somente limpando ou reconstruindo o projeto para gerar uma nova classe R.
FIGURA 72:
BUILD
62
FIGURA 73:
FILE
15. Build.gradle
Explicaremos no curso somente o arquivo build.gradle (Module: app), que o
mais interessante no momento.
FIGURA 74:
FIGURA 75:
compileSdkVersion 22 : API Level usada para compilar o cdigo (deve ser sempre a
ultima)
buildToolsVersion "22.0.1" : Verso do Android SDK build-tols baixada pelo Manager
defaultConfig { : Este elemento configura os itens do AndroidManifest.xml
applicationId "com.example.gabriel.apostila" : Pacote do projeto (identificador nico da
aplicao)
minSdkVersion 16 : API Level minimo que o aplicativo suporta
targetSdkVersion 22 : API Level mximo utilizada para otimizar o build na compilao
versionCode 1 : Cdigo para identificar o aplicativo no Google Play
versionName "1.0" : Verso do cdigo com formato amigvel para o usurio
64
Windows
Optional for accelerated emulator: Intel processor with support for Intel
VT-x, Intel EM64T (Intel 64), and Execute Disable (XD) Bit functionality
Mac OS X
Optional for accelerated emulator: Intel processor with support for Intel
VT-x, Intel EM64T (Intel 64), and Execute Disable (XD) Bit functionality
On Mac OS, run Android Studio with Java Runtime Environment (JRE) 6 for
optimized font rendering. You can then configure your project to use Java
Development Kit (JDK) 6 or JDK 7.
65
Linux
mensagem e tomar uma deciso que pode ser desde abrir uma pgina na
Web (um browser abrir e a pgina ser exibida), fazer uma chamada
telefnica ou iniciar uma Actvity.
18. Referncias
DEVELOPERS_2,
Disponvel
em:
Basic
Android
Database,
Disponvel
em
Disponvel
em:
Disponvel
em:
67
68