应用处于 运行 时重复后台查询
Repeated Background Query while app is running
我发现 Whosebug 非常有用,但这次我找不到确切的答案:我害怕为我的案例选择错误的解决方案。
我正在创建一个管理餐厅预订的应用程序。
当作为一家餐厅登录时,我希望能够在后台定期调用查询(我肯定已经有),returns [中的新预订插入的数量=25=] db 并更新我的操作栏中的通知(我已经实现了)。
我本来打算使用 Handler、IntentService 或 Service,但每次我都发现了一些优缺点,我真的被卡住了。
我希望仅当应用程序为 运行 时,每 1-2-3 分钟(不重要)进行一次此查询 运行,并且此查询的简单结果(只是数字新预订)作为要处理的输出,以便在我的操作栏中显示它。
感谢大家
马特奥
如果您只想在应用程序位于前台时执行查询,那么 bound Service
可能正是您要找的。使用 Service
中的 AsyncTask
s 查询数据库,并从 Service
.
中更新前景 Activity
编辑:
逐点回答:
1. 要创建周期性 Service
,请使用 AlarmManager
和 PendingIntent
。网上有很多这样的例子。
2. 只要 Activity
还活着,一个 bound Service
就是活跃的,永远不会除此以外。它可以在完成工作后停止。有关更多信息,请参阅上面的 link。
3. 看上面的link,再研究几个例子就明白了。
我发现 Whosebug 非常有用,但这次我找不到确切的答案:我害怕为我的案例选择错误的解决方案。
我正在创建一个管理餐厅预订的应用程序。
当作为一家餐厅登录时,我希望能够在后台定期调用查询(我肯定已经有),returns [中的新预订插入的数量=25=] db 并更新我的操作栏中的通知(我已经实现了)。
我本来打算使用 Handler、IntentService 或 Service,但每次我都发现了一些优缺点,我真的被卡住了。
我希望仅当应用程序为 运行 时,每 1-2-3 分钟(不重要)进行一次此查询 运行,并且此查询的简单结果(只是数字新预订)作为要处理的输出,以便在我的操作栏中显示它。
感谢大家
马特奥
如果您只想在应用程序位于前台时执行查询,那么 bound Service
可能正是您要找的。使用 Service
中的 AsyncTask
s 查询数据库,并从 Service
.
Activity
编辑:
逐点回答:
1. 要创建周期性 Service
,请使用 AlarmManager
和 PendingIntent
。网上有很多这样的例子。
2. 只要 Activity
还活着,一个 bound Service
就是活跃的,永远不会除此以外。它可以在完成工作后停止。有关更多信息,请参阅上面的 link。
3. 看上面的link,再研究几个例子就明白了。