【问题标题】:Android: Passing object from Activity to ServiceAndroid:将对象从活动传递到服务
【发布时间】:2013-01-06 15:22:36
【问题描述】:

我点击这个链接Pass data from activity to service 了解数据从Activity 到Service Android 的传递。问题是我需要将一个复杂的对象传递给服务。我怎样才能完成这项任务?

【问题讨论】:

    标签: android service android-activity


    【解决方案1】:

    您可以让您的复杂对象实现SerializableParcelable,然后您可以使用putExtra(String name, Serializable value)putExtra(String name, Parcelable value) 将其传递给Service

    Here你可以找到实现ParcelablehereSerializable一个的教程。

    如果您不熟悉其中的任何一个,我建议您使用“Serializable”,因为它更简单且非常直接

    【讨论】:

    • 好的。你能推荐任何实现 Serializable 或 Parcelable 的教程吗?
    • 即使应用关闭,我们发送给服务的这个对象是否会在服务中持续存在?
    【解决方案2】:

    传入自定义对象有点复杂。您可以将类标记为可序列化 让 Java 来解决这个问题。但是,在 android 上,使用 Serializable 会严重影响性能。解决方案是使用 Parcelable。

    参考示例:

    http://shri.blog.kraya.co.uk/2010/04/26/android-parcel-data-to-pass-between-activities-using-parcelable-classes/

    http://prasanta-paul.blogspot.com/2010/06/android-parcelable-example.html

    【讨论】:

    • 谢谢。但我不关心性能,因为我的参数通道只做了一次。所以我可以使用Serializable。在我将该类标记为可序列化之后,我该如何传递参数?
    猜你喜欢
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多