在Android服务中运行两个线程

时间:2011-08-21 15:30:11

标签: android multithreading service spreadsheet

我想创建一项服务,在启动时初始化与谷歌电子表格的连接,然后定期从数据库向电子表格发送数据。

是否可以创建两个线程: 一个连接到谷歌电子表格,另一个连接检查数据库中的更改并更新电子表格。

我正在考虑从onCreate运行第一个线程(连接到Google电子表格),第二个线程从onStartCommand运行。这是不好的做法吗?有没有人对我如何做到这一点有任何反馈?

谢谢,如果我说的话不清楚,请告诉我。

1 个答案:

答案 0 :(得分:4)

为什么需要运行两个线程?您的工作似乎是顺序的:首先从数据库中获取数据,然后将其发布到电子表格中。如果您在获取数据库数据时已经对Google Docs进行了身份验证,则可以保存一两秒,但如果需要在后台服务中运行,则无法显示。而且由于似乎只需要不时运行,您应该使用AlarmManager安排服务以一定的时间间隔开始,并让它在完成工作后自行关闭。考虑为此使用IntentService,它将启动后台线程以执行工作并自动关闭。