gpt4 book ai didi

android - 在服务和 Activity 之间传递 ArrayList

转载 作者:行者123 更新时间:2023-11-29 01:56:07 25 4
gpt4 key购买 nike

我有一个应用程序,它有一个服务,如果有工作要做,即使用户关闭应用程序,服务也会工作,直到完成她的工作。

看,我已经按照教程进行操作了 Android Example: Communication between Activity and Service using Messaging并适应我的应用程序,但是当我尝试发送消息时,我的服务或客户端没有收到。

我还需要像 ArrayList 一样传递更复杂的参数,工作流程是这样的

  1. 用户启动我的应用,应用启动服务
  2. 用户按下应用中的按钮,应用向服务发送信号(这可以是整数)
  3. 服务从 Internet 获取数据,如果正在运行则处理这些数据并将其发送到应用程序,如果服务未运行则通知用户获取新数据
  4. 如果一段时间后没有从服务器接收到任何内容,则服务停止。

问题是如何在服务和应用程序之间传递复杂对象?

最佳答案

您可以在 Message 中传递复杂对象使用 setData(android.os.Bundle) . bundle 需要 Parcelable 数据,以便它们可以序列化,但为方便起见,支持基本类型(例如整数和字符串)的 ArrayLists。如果您的列表包含自定义对象,您需要让它们实现 Parcelable并使用 putParcelableArrayList(String key, ArrayList<? extends Parcelable> value) 将它们添加到您的包中.

如果您的数据非常复杂/结构化,您还可以考虑使用 Content Provider .有一个初始学习曲线,但提供商非常适合某些情况。

关于android - 在服务和 Activity 之间传递 ArrayList<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15059110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com