在android中传递对象

在android中传递对象,android,Android,我想将客户端对象传递给android上的不同活动 我知道如何传递字符串,但不知道如何传递对象 myIntent.putExtra(“尼克”,尼克); 尼克是一根绳子 如何传递对象(比如客户端c?“如果您只是传递对象,那么Parcelable就是为此而设计的。它需要比使用Java的本机序列化稍微多一些努力,但它要快得多(我的意思是快得多)。” 如果要向其传递对象的活动是您自己的,请将该对象序列化为字符串并在活动中反序列化 或者像这里回答的那样:仔细考虑是否需要发送对象,或者是否确实需要从对象中提取

我想将客户端对象传递给android上的不同活动

我知道如何传递字符串,但不知道如何传递对象

myIntent.putExtra(“尼克”,尼克); 尼克是一根绳子

如何传递对象(比如客户端c?

“如果您只是传递对象,那么Parcelable就是为此而设计的。它需要比使用Java的本机序列化稍微多一些努力,但它要快得多(我的意思是快得多)。”


如果要向其传递对象的活动是您自己的,请将该对象序列化为字符串并在活动中反序列化


或者像这里回答的那样:

仔细考虑是否需要发送对象,或者是否确实需要从对象中提取一些数据元素。如果能够满足您的需要,那么发送原语或字符串可能会简单得多(=更快,潜在的问题更少)


如果确实需要传递对象,则可以实现Parcelable接口,也可以将对象放入另一个类中的静态变量(类型为List、Set、Map等)中,并以这种方式引用它。这些方法都有缺点,只有当您无法通过bundle传递所需的实际数据值时,我才推荐它们。

警告:标准行是使用简单的原语/字符串作为名称:值对,更喜欢可打包而不是可序列化

理由是传递序列化对象效率低下,所以不要这样做。对于一个小对象,我不太确定这是否是一个现实世界的问题。有人认为可读性和清晰度高于效率,除非您检测到性能差。到目前为止,对于一个小对象,我还没有检测到任何性能问题。IMHO,在name:value对和serializable对象中使用类的完全限定名,使得代码可读、简单、错误少、易于维护,并且在原型设计期间易于实现。如果检测到性能问题,或者您有时间重构代码库,那么在对象属性稳定后,可以将可序列化代码转换为可打包代码

嗯。我正在穿上防火服。

可能是