我想创建一项服务,在启动时初始化与谷歌电子表格的连接,然后定期从数据库向电子表格发送数据。
是否可以创建两个线程: 一个连接到谷歌电子表格,另一个连接检查数据库中的更改并更新电子表格。
我正在考虑从onCreate运行第一个线程(连接到Google电子表格),第二个线程从onStartCommand运行。这是不好的做法吗?有没有人对我如何做到这一点有任何反馈?
谢谢,如果我说的话不清楚,请告诉我。
答案 0 :(得分:4)
为什么需要运行两个线程?您的工作似乎是顺序的:首先从数据库中获取数据,然后将其发布到电子表格中。如果您在获取数据库数据时已经对Google Docs进行了身份验证,则可以保存一两秒,但如果需要在后台服务中运行,则无法显示。而且由于似乎只需要不时运行,您应该使用AlarmManager
安排服务以一定的时间间隔开始,并让它在完成工作后自行关闭。考虑为此使用IntentService
,它将启动后台线程以执行工作并自动关闭。