SlideShare uma empresa Scribd logo
Desenvolvimento Android
Aline Borges
alinekborges@gmail.com
Slides
• Esta apresentação está disponível em:
http://bit.ly/android04_bancodedados
Trechos de códigos serão disponíveis em:
www.codeshare.io/lyhtt
Objetivo
• Singleton
• Salvar dados locais
• Carregar dados iniciais em uma
SplashScreen
Singleton App
Singleton
• Permite apenas uma instância
• Salva instâncias “globais” para o aplicativo
inteiro
• Usuário logado
• Booleans de preferencias
• etc
Objetivo
• Salvar se é a primeira vez que o usuário
utiliza o aplicativo
• (por exemplo, para mostrar um tutorial ou pular o
login quando for a segunda vez em diante que
abrir o aplicativo)
Primeira vez
SharedPreferences
• Dados primitivos do tipo key, value
• String, boolean, int, etc
• Dados mais “simples”
SharedPreferences
• Por exemplo
• Key, value
• “user”, “alinekb”
• “senha”, “xxxx”
• “notificacoes”, true
• “idade”, 22
Classe SharedPrefs
• Variável final para a key da preference
SharedPrefs
• Método estático pois não é de um “objeto”,
é apenas uma função para organização
SharedPrefs
Main Activity
• Buscar se a variável isLoggedIn é true or
false
SplashScreen
• Usada para carregar valores iniciais
• Mostrar alguma logo ou animação
• Não demore muito na splash screen, não
teste a paciência do seu usuário
SplashScreen
• Nova Activity - SplashScreen
SplashScreen
SplashScreen
Manifest.xml
• Alterar a Activity principal
• Tirar o intent-filter da MainActivity e passar para
a SplashScreen
SplashScreen
• Pode ser usada agora para carregar a
informação da SharedPreferences
enquanto está carregando
SharedPreferences
• Salvando objetos complexos
• Serialização com GSON
Salvando objetos complexos
Recuperando a lista
Padrão
• 3G é um recurso limitado e lento, então o
melhor é sempre guardar tudo em memória
interna
Testando
• Na primeira vez que os objetos são
baixados, gravar a lista nas Shared
Preferences
• Nas próximas vezes, carregar das
SharedPreferences
Database com Sugar ORM
• Biblioteca para facilitar uso de banco de
dados
• compile 'com.github.satyan:sugar:1.3‘
• http://satyan.github.io/sugar/getting-
started.html
AndroidManifest.xml
Sugar ORM
Operações básicas
Operações básicas
Crouton
Bibliotecas legais
• Crouton
• compile('de.keyboardsurfer.android.widget:crouton:1.8.4@aar') {
• exclude group: 'com.google.android', module: 'support-v4'
• }
• Mensagens de forma agradável
• Alerta
• Confirm
• Info
Obrigada!
• Aline K Borges
• alinekborges@gmail.com

Mais conteúdo relacionado

Destaque

Android Destin
Android DestinAndroid Destin
Android Destin
Aline Borges
 
Construindo um sistema distribuido usando rest
Construindo um sistema distribuido usando restConstruindo um sistema distribuido usando rest
Construindo um sistema distribuido usando rest
David Robert Camargo de Campos
 
Android Aprendiz
Android AprendizAndroid Aprendiz
Android Aprendiz
Fillipe Cordeiro
 
Android - Criando um Adapter personalizado para uma Agenda de Contatos
Android - Criando um Adapter personalizado para uma Agenda de ContatosAndroid - Criando um Adapter personalizado para uma Agenda de Contatos
Android - Criando um Adapter personalizado para uma Agenda de Contatos
ETEC Monsenhor Antonio Magliano
 
Como um verdadeiro sistema REST funciona: arquitetura e performance na Abril
Como um verdadeiro sistema REST funciona: arquitetura e performance na AbrilComo um verdadeiro sistema REST funciona: arquitetura e performance na Abril
Como um verdadeiro sistema REST funciona: arquitetura e performance na Abril
Luis Cipriani
 
Planejando seu app
Planejando seu appPlanejando seu app
Planejando seu app
Aline Borges
 
Capítulo 10 - Sincronização de dados usando JSON
Capítulo 10 - Sincronização de dados usando JSONCapítulo 10 - Sincronização de dados usando JSON
Capítulo 10 - Sincronização de dados usando JSON
Marcio Palheta
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
Marcio Junior Vieira
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
HugoDalevedove
 

Destaque (9)

Android Destin
Android DestinAndroid Destin
Android Destin
 
Construindo um sistema distribuido usando rest
Construindo um sistema distribuido usando restConstruindo um sistema distribuido usando rest
Construindo um sistema distribuido usando rest
 
Android Aprendiz
Android AprendizAndroid Aprendiz
Android Aprendiz
 
Android - Criando um Adapter personalizado para uma Agenda de Contatos
Android - Criando um Adapter personalizado para uma Agenda de ContatosAndroid - Criando um Adapter personalizado para uma Agenda de Contatos
Android - Criando um Adapter personalizado para uma Agenda de Contatos
 
Como um verdadeiro sistema REST funciona: arquitetura e performance na Abril
Como um verdadeiro sistema REST funciona: arquitetura e performance na AbrilComo um verdadeiro sistema REST funciona: arquitetura e performance na Abril
Como um verdadeiro sistema REST funciona: arquitetura e performance na Abril
 
Planejando seu app
Planejando seu appPlanejando seu app
Planejando seu app
 
Capítulo 10 - Sincronização de dados usando JSON
Capítulo 10 - Sincronização de dados usando JSONCapítulo 10 - Sincronização de dados usando JSON
Capítulo 10 - Sincronização de dados usando JSON
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
 

Semelhante a Android 04 - Persistência Local & SplashScreen

Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Comunidade NetPonto
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
Édipo Souza
 
Desenvolvendo aplicativos para iOS 6 - Campus Party 2013
Desenvolvendo aplicativos para iOS 6 - Campus Party 2013Desenvolvendo aplicativos para iOS 6 - Campus Party 2013
Desenvolvendo aplicativos para iOS 6 - Campus Party 2013
Rafael Winter
 
Construção de jogos com o motor unity3d (2013)
Construção de jogos com o motor unity3d (2013)Construção de jogos com o motor unity3d (2013)
Construção de jogos com o motor unity3d (2013)
Eduardo Bonfandini
 
Desenvolvendos Apps para iPad - TDC 2010
Desenvolvendos Apps para iPad - TDC 2010Desenvolvendos Apps para iPad - TDC 2010
Desenvolvendos Apps para iPad - TDC 2010
Felipe Cypriano
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
Ricardo Guerra Freitas
 
Webcast MSDN - Enterprise Library
Webcast MSDN - Enterprise LibraryWebcast MSDN - Enterprise Library
Webcast MSDN - Enterprise Library
Luciano Condé
 
Java: Introducao ao Swing
Java: Introducao ao SwingJava: Introducao ao Swing
Java: Introducao ao Swing
Arthur Emanuel
 
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteWindows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Comunidade NetPonto
 
Windows 8: Desenvolvimento de Metro Style Apps
Windows 8: Desenvolvimento de Metro Style AppsWindows 8: Desenvolvimento de Metro Style Apps
Windows 8: Desenvolvimento de Metro Style Apps
C. Augusto Proiete
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
Igor Sobreira
 
Entity framework
Entity frameworkEntity framework
Entity framework
Priscila Mayumi
 
Bootstrap 3
Bootstrap 3Bootstrap 3
Django Básico
Django BásicoDjango Básico
Django Básico
Joffily Ferreira
 
Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4
Erisvaldo Junior
 
Flash ActionScript 3
Flash ActionScript 3Flash ActionScript 3
Flash ActionScript 3
Tiago Bezerra Dos Santos
 
Oficina de Django
Oficina de DjangoOficina de Django
Oficina de Django
Thiago Avelino
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
Eduardo Bohrer
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
Erisvaldo Junior
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno Cotta
GPrimola
 

Semelhante a Android 04 - Persistência Local & SplashScreen (20)

Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
Desenvolvendo aplicativos para iOS 6 - Campus Party 2013
Desenvolvendo aplicativos para iOS 6 - Campus Party 2013Desenvolvendo aplicativos para iOS 6 - Campus Party 2013
Desenvolvendo aplicativos para iOS 6 - Campus Party 2013
 
Construção de jogos com o motor unity3d (2013)
Construção de jogos com o motor unity3d (2013)Construção de jogos com o motor unity3d (2013)
Construção de jogos com o motor unity3d (2013)
 
Desenvolvendos Apps para iPad - TDC 2010
Desenvolvendos Apps para iPad - TDC 2010Desenvolvendos Apps para iPad - TDC 2010
Desenvolvendos Apps para iPad - TDC 2010
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
 
Webcast MSDN - Enterprise Library
Webcast MSDN - Enterprise LibraryWebcast MSDN - Enterprise Library
Webcast MSDN - Enterprise Library
 
Java: Introducao ao Swing
Java: Introducao ao SwingJava: Introducao ao Swing
Java: Introducao ao Swing
 
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteWindows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
 
Windows 8: Desenvolvimento de Metro Style Apps
Windows 8: Desenvolvimento de Metro Style AppsWindows 8: Desenvolvimento de Metro Style Apps
Windows 8: Desenvolvimento de Metro Style Apps
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
Entity framework
Entity frameworkEntity framework
Entity framework
 
Bootstrap 3
Bootstrap 3Bootstrap 3
Bootstrap 3
 
Django Básico
Django BásicoDjango Básico
Django Básico
 
Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4
 
Flash ActionScript 3
Flash ActionScript 3Flash ActionScript 3
Flash ActionScript 3
 
Oficina de Django
Oficina de DjangoOficina de Django
Oficina de Django
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno Cotta
 

Android 04 - Persistência Local & SplashScreen