Android队列';丝线 我正在开发一个Android应用程序,我偶然发现了一些我不知道解决问题的最好方法。

Android队列';丝线 我正在开发一个Android应用程序,我偶然发现了一些我不知道解决问题的最好方法。,android,multithreading,list,queue,Android,Multithreading,List,Queue,我想实现的是,当用户登录到应用程序时,如果设备连接到网络,我想启动一个线程(什么样的网络无关紧要) 线程应该每10分钟执行一次操作 这个线程需要做的是,通过一个列表循环,更确切地说是一个队列。 此队列将具有对象,当存在可用连接时,根据队列中的对象执行 队列将通过应用程序流填充。 例如填写一个问题 答案需要同步到服务器。每个问题都可以包括从相机拍摄的照片等,因此我想将某些数据保存为对象,将它们放入队列,并让线程处理http请求。这样就不会阻塞UI。只要有可能,同步是非常重要的 我想要避免的是在我自

我想实现的是,当用户登录到应用程序时,如果设备连接到网络,我想启动一个线程(什么样的网络无关紧要)

线程应该每10分钟执行一次操作

这个线程需要做的是,通过一个列表循环,更确切地说是一个队列。 此队列将具有对象,当存在可用连接时,根据队列中的对象执行

队列将通过应用程序流填充。 例如填写一个问题

答案需要同步到服务器。每个问题都可以包括从相机拍摄的照片等,因此我想将某些数据保存为对象,将它们放入队列,并让线程处理http请求。这样就不会阻塞UI。只要有可能,同步是非常重要的

我想要避免的是在我自己的应用程序之外运行另一个进程。这就是我没有使用服务的原因。还是我误解了服务的整体概念

是否存在特定的队列对象或列表? 我想循环遍历队列列表,当该列表完全为空时,该列表可以在程序运行期间随时填充,并使用类似thread.sleep的方法


请给我一些提示和提示,告诉我该怎么做。

服务不是它自己的流程。。。来自:“服务不是一个单独的进程。服务对象本身并不意味着它正在自己的进程中运行;除非另有规定,否则它与它所属的应用程序在同一进程中运行。”


服务真的是你所说的最好的选择。您可以在服务中生成自己的线程,然后执行以下操作:检查队列中的对象,并将任何对象发送到服务器(因为您已经不在UI线程上,如果需要,您可以在不生成其他线程的情况下执行此操作)。如果队列为空,请使用来计划对上载方法的另一次调用

非常感谢。当我在工作中提到“服务”这个词时,我的老板告诉我,服务通常是另一个过程。但他自己并不为android编程。我还是应该调查一下的。谢谢我想我会同意的。对于队列,是否要使用任何特殊类型的对象?或者一个列表/数组列表就足够了吗?