sent Posted May 2, 2012 at 09:04 PM Report #452819 Posted May 2, 2012 at 09:04 PM 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,
KTachyon Posted May 2, 2012 at 10:18 PM Report #452831 Posted May 2, 2012 at 10:18 PM 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
sent Posted May 3, 2012 at 06:30 PM Author Report #452948 Posted May 3, 2012 at 06:30 PM É isso obrigado 🙂
sent Posted May 7, 2012 at 03:33 PM Author Report #453577 Posted May 7, 2012 at 03:33 PM 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();
KTachyon Posted May 7, 2012 at 03:38 PM Report #453580 Posted May 7, 2012 at 03:38 PM 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
sent Posted May 7, 2012 at 06:30 PM Author Report #453618 Posted May 7, 2012 at 06:30 PM 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...
KTachyon Posted May 7, 2012 at 07:36 PM Report #453627 Posted May 7, 2012 at 07:36 PM 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
sent Posted May 7, 2012 at 08:16 PM Author Report #453630 Posted May 7, 2012 at 08:16 PM OK entendi! Obrigado 🙂
lufinima Posted May 15, 2012 at 01:35 AM Report #455634 Posted May 15, 2012 at 01:35 AM 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?
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now