android - 在 Android 服务中运行两个线程

标签 android multithreading service spreadsheet

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

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

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

谢谢,如果我所说的任何内容不清楚,请告诉我。

最佳答案

为什么需要运行两个线程?您的工作似乎是连续的:首先从数据库获取数据,然后将其发布到电子表格中。如果您在获取数据库数据时已经通过 Google Docs 的身份验证,则可能会节省一两秒的时间,但如果这需要在后台服务中运行,则它将不可见。由于这似乎只需要不时运行,因此您应该使用 AlarmManager 安排您的服务以一定的时间间隔启动,并在完成工作后让它自行关闭。考虑使用 IntentService 来实现此目的,它将启动一个后台线程来完成工作并自动关闭。

关于android - 在 Android 服务中运行两个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7139191/

相关文章:

java - 捕获异常后继续(Android/Java)

android - 如何获取Android设备的首次启动时间?

java - 运行循环时出现奇怪的输出

java - 多线程归并排序问题

c++ - std::thread 并在 visual studio 2013 中 move

java - 亚行——它是如何运作的?

java - 在 Android 中将字符串转换为格式化日期

android - Mockito 何时开始实际方法调用 Android UI 测试

Java Service Wrapper环境变量引用问题

service - mysql 守护进程作为 Windows 上的服务安装