Jump to content

Recommended Posts

Posted

Boa noite,

gostava de saber se podemos usar serialização a programar em java para ANDROID, da mesma maneira como se fosse para correr na nossa maquina.

E se a serialização é o metodo mais efeciente  a ser usado.

Cumprimentos,

sent,

Posted

Pah, não sei se estou a perceber a tua dúvida. Provavelmente não estou, porque me parece que está a faltar o contexto.

Podes utilizar o java.io.Serializable de forma semelhante à que estás habituado ao Java.

http://developer.android.com/reference/java/io/Serializable.html

Relativamente à eficiencia eu diria que não é de todo recomendado para coisas muito grandes. A recomendação é utilizar o android.os.Parcelable:

http://developer.android.com/reference/android/os/Parcelable.html

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Posted

Secalhar não é bem isso,

Eu tenho uma estrutura de dados, onde um objecto tem varios objectos, (não tẽm apenas Inteiros ou Strings),

ou seja não posso fazer depois no

  private MyParcelable(Parcel in) {
         mData = in.readInt();
     }

não há in.readMysecondObject();

Posted

Tal como os objectos Serializable, todos os objectos dentro de um Parcelable têm que ser também Parcelable. Só tens que os escrever para o Parcel.

Mas vê bem para que é que pretendes utilizar isso. Se for para persistir os dados, não utilizes o Parcelable, utiliza o Serializable.

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Posted
Mas vê bem para que é que pretendes utilizar isso. Se for para persistir os dados, não utilizes o Parcelable, utiliza o Serializa

É para guardar dados, que não convém perde-los, e não é muita coisa.

Bem secalhar é melhor usar a serialização então ~ tambem não há de ser uma coisa tão penosa quanto isso para o telemovel, se for exprimento guardar XML, coisa que queria evitar para o utilizador não ir para lá mecher...

Posted

O Parcelable tem, como principal objectivo, ser mais eficiente que o serializable, para ser utilizado na passagem de dados entre Activities e para serem guardados em Bundles que fazem a recuperação das mesmas (por exemplo, quando o utilizador sai da aplicação e depois volta), e não para guardar dados. Segundo a documentação, o Parcelable pode ser implementado de forma diferente entre diferentes versões do sistema operativo pelo que (e devido à fragmentação da plataforma), não deves utilizar como meio de transferência de dados, e também não deves utilizar para os persistir (se o utilizador actualizar a plataforma, arriscas-te a que os dados não possam ser lidos).

Por isso, a ideia geral é, utilizar os Parcelable para operações que estão relacionadas com o runtime da aplicação e utilizares o Serializable para persistir os dados em memória.

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Posted

Na minha opinião será melhor converteres os objectos para json guardas e depois fazes o inverso.

O android já suporta json, no entanto aconselho usares a biblioteca Gson também do Google.

Mas se o teu objectivo é a persistencia de dados será que as shered preferences não servem para o efeito?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.