Parcelable no Android, Entendendo e Utilizando

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes! Você receberá um email de confirmação. Somente depois de confirma-lo é que eu poderei lhe enviar os conteúdos semanais exclusivos. Os artigos em PDF são entregues somente para os inscritos na lista.

Email inválido.
Blog /Android /Parcelable no Android, Entendendo e Utilizando

Parcelable no Android, Entendendo e Utilizando

Vinícius Thiengo
(8898) (15)
Go-ahead
"O método consciente de tentativa e erro é mais bem-sucedido que o planejamento de um gênio isolado."
Peter Skillman
Prototipagem Android
Capa do curso Prototipagem Profissional de Aplicativos
TítuloAndroid: Prototipagem Profissional de Aplicativos
CategoriasAndroid, Design, Protótipo
AutorVinícius Thiengo
Vídeo aulas186
Tempo15 horas
ExercíciosSim
CertificadoSim
Acessar Curso
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Lendo
TítuloTest-Driven Development: Teste e Design no Mundo Real
CategoriaEngenharia de Software
Autor(es)Mauricio Aniche
EditoraCasa do Código
Edição1
Ano2012
Páginas194
Conteúdo Exclusivo
Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba gratuitamente conteúdos Android sem precedentes!
Email inválido

Opa! Blz?

Código de desconto em livros no site da Novatec: THIENGO

Nesse vídeo mostro como utilizar uma entidade importante no Android, a interface Parcelable que é muito semelhante a interface Serializable em termos de funcionalidades no Android. O que uma classe que implementa a interface Parcelable faz é escrever todos os seus dados (ou somente os que o desenvolvedor achar necessário) em um objeto Parcel que é a entidade que será transmitida (para outra Activity, para buffer de utilização do SavedInstanceState, ...), a leitura desses dados que estão no objeto Parcel também é uma das funcionalidades da classe que implementa o Parcelable. Note que o uso da interface Parcelable tende a ser mais eficiente quanto ao transporte dos dados devido a classe Parcel ter sido construída para ter alta performance no empacotamento, transporte e desempacotamento dos dados. Mas é isso, o uso é bem tranquilo depois que nós vemos a primeira vez. Fique atento quanto a criação da entidade CREATOR para podermos "desempacotar" os dados.

O link para dowload do projeto se encontra logo abaixo no post.

Segue links das página importantes para esse exemplo:

Página da interface Parcelable no site oficial do Android

Página da interface Parcelable.Creator no site oficial do Android

Página da classe Parcel no site oficial do Android

Segue links de outros conteúdos do blog que podem ajudar no entendimento desse vídeo:

ListView: Entendendo e Utilizando no Android

Utilizando BaseAdapter Para Personalização Completa da ListView

Vlw

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes!
Email inválido

Relacionado

OpenStreetMap no Android, Iniciando com Marker e GPSOpenStreetMap no Android, Iniciando com Marker e GPSAndroid
Linhas e Listerners no OpenStreetMap AndroidLinhas e Listerners no OpenStreetMap AndroidAndroid
Obtendo e Apresentando Rotas no OpenStreetMap AndroidObtendo e Apresentando Rotas no OpenStreetMap AndroidAndroid
MarkerInfoWindow no OpenStreetMap AndroidMarkerInfoWindow no OpenStreetMap AndroidAndroid

Compartilhar

Comentários Facebook

Comentários Blog (15)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
ROGERII (0) (0)
26/11/2018
Boa noite. Estou com problemas no Serializable, ele passa tudo certinho no recyclerview mas ba hora q vou usá-lo de novo (Arraylist) ele me dá nulo. Pq será q acontece isto?
Responder
Vinícius Thiengo (1) (0)
26/11/2018
Rogerii, tudo bem?

Utilize o Parcelable. O Serializable é realmente mais limitado, alguns tipos não são serializáveis e assim esse tipo de problema ocorre: valor chegando como null.

Como no conteúdo acima, utilize o Parcelable. Tenho também um outro conteúdo onde mostro como utilizar o Parcelable via plugin, uma melhor opção:

https://www.thiengo.com.br/como-utilizar-os-operadores-in-e-elvis-e-a-api-parcelable-no-kotlin-android#title-12

Abraço.
Responder
Rogerio (1) (0)
26/11/2018
Obrigado. Vou tentar já que ele é mais difícil.  Aquele valor long ou inteiro que aparece no parcelable é obrigatório? Amanhã vou tentar no parcelable. Obrigado, grande abraço.
Responder
Vinícius Thiengo (0) (0)
27/11/2018
Rogerio,

Não, os valores Int e Long não são obrigatórios.

Depois, se possível, informe se você conseguiu bons resultados com o uso do Parcelable.

Abraço.
Responder
10/11/2016
Opa, tudo bem, Sobre esse exemplo, fiz o mesmo tal qual foi passado no vídeo, entretando, ao testar em um smartphone com api 23, ao clicar no botão para abrir a sala, esta encerando a aplicação, testei em um emulador com api 18, funciona corretamente, alguém poderia me auxiliar a fim de entender o porque isso esta ocorrendo. Desde já obrigado.
Responder
Vinícius Thiengo (0) (0)
10/11/2016
Rodrigo, tudo bem?

Coloque aqui a stack trace que está sendo printada nos logs do Android Studio, pode ser que o Parcelable não tenha a ver com isso.

Com a stack trace será possível corrigir o problema. Abraço
Responder
15/07/2015
Olá Thiengo,
O que me diz desse plugin do Android Studio?
https://guides.codepath.com/android/Using-Parcelable
Responder
Vinícius Thiengo (0) (0)
16/07/2015
Fala Derci, blz?
Não esse, pois é um gerador (mt bom, aparentemente), mas quando fui utilizar uma lib que agilizava esse processo do Parcelable tive um problema, quando tinha variáveis de instancia de tipos que tb implementavam o Parcelable a lib mudava a estrutura do projeto, ela colocava depois as classes dessas variáveis como sendo inner classes, na época era algo inaceitável em meu projeto (ainda é). Mas como disse antes, esse é um gerador, então vale a pena. Abraço
Responder
Derci Santos (1) (0)
16/07/2015
Então, estou utilizando em um projeto novo aqui na empresa, e já estou aproveitando pra testar e ver se é funcional. Até o momento, só ajudou, agilizou bastante esse processo (digamos "chato") de gerar Parcelable.
Aproveitando, parabéns pelo excelente conteúdo do seu site. Realmente, um material de ótima qualidade!
Abração!
Responder
daviola.menezes (1) (0)
23/03/2015
Puxa,  deu um trabalhão utilizar o parcelable em objetos cuja classe possui objetos de classes entendidas, não pode esquecer nem errar o tipo de conversão de nenhuma propriedade,  senão dá erro em tudo. Como estou utilizando o gson pra construir meus objetos tem q atentar para saber se todas as propriedades estão validadas no get. Tem q validar tudo antes de tentar passar os dados. Mas deu certo. Ficou Show. Obrigado Thiengoo abc
Responder
Vinícius Thiengo (0) (0)
23/03/2015
É puxado mesmo. Tem a lib Parceler (https://github.com/johncarl81/parceler ), porém não curti a o que ela faz quando vc tem um objeto do tipo de uma classe sua que implementa o Parcelable, ela altera a estrutura da classe do objeto colocando a mesma como uma inner class, aparentemente tem como resolver isso customizando o trabalho da lib, mas nessa parte não continuei. Abraço
Responder
vinicius leite (0) (0)
15/05/2014
Thiengo, muito bom esse vídeo, ajudou muito em um projeto que estou desenvolvendo, mas eu estou com uma duvida, como faço para usar o parcelable em fragment?
Tenho um fragment pedidos e esse tem que receber uma lista de produtos de outro fragment, o parcelable é indicado nesse caso ou tem outra solução melhor?
Responder
Vinícius Thiengo (0) (0)
15/05/2014
Fala Vinicius, blz?
Então esse outro fragment é chamado pelo método FragmentTransaction? Se sim, vc nem precisa utilizar um parcelable, na verdade basta vc criar um construtor nesse fragment q receberá a lista. Esse construtor terá de ter uma lista com parametro de entrada, então assim que vc instanciar esse fragment vc passa a lista como parametro. Ve se funciona ai, qualquer coisa volta ae depois. Abraço
Responder
14/05/2014
Teria alguma aula sobre PhoneGap?
Responder
Vinícius Thiengo (0) (0)
14/05/2014
Fala Frederico, blz? Então, ainda não tenho vídeos sobre PhoneGap, mas pretendo fazer. abraço
Responder