我想创建一项服务,启动时初始化与 Google 电子表格的连接,然后定期将数据从数据库发送到电子表格。
是否可以创建两个线程: 一个连接到谷歌电子表格,第二个检查数据库中的更改并更新电子表格。
我正在考虑从 onCreate 运行第一个线程(连接到谷歌电子表格),从 onStartCommand 运行第二个线程。这是不好的做法吗?有人对我如何做到这一点有任何反馈吗?
谢谢,如果我所说的任何内容不清楚,请告诉我。
最佳答案
为什么需要运行两个线程?您的工作似乎是连续的:首先从数据库获取数据,然后将其发布到电子表格中。如果您在获取数据库数据时已经通过 Google Docs 的身份验证,则可能会节省一两秒的时间,但如果这需要在后台服务中运行,则它将不可见。由于这似乎只需要不时运行,因此您应该使用 AlarmManager
安排您的服务以一定的时间间隔启动,并在完成工作后让它自行关闭。考虑使用 IntentService 来实现此目的,它将启动一个后台线程来完成工作并自动关闭。
关于android - 在 Android 服务中运行两个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7139191/