gpt4 book ai didi

android - 在线程的帮助下每隔 X 秒启动一次服务,因为数据库更新频繁

转载 作者:搜寻专家 更新时间:2023-11-01 08:56:34 27 4
gpt4 key购买 nike

我的应用程序连接到 SQL SERVER 数据库,该数据库每天更新,所以当我开始我的 Activity 时,会弹出登录表单和用户登录。现在,随着我的数据库随时更新,我想运行一个查询每隔 X 秒,以便通知数据库中的任何更改并向用户发送通知。所以,我认为线程将发挥作用,以便每秒运行一次查询。现在,我想知道如何在其中实现线程并运行通知服务,以便每当数据库中的数据更新时,用户都会通过推送通知得到通知。

最佳答案

您可以使用 IntentService连同计时器如下:

public class MyBackgroundService extends IntentService
{
private Timer mBackGroundTimer;
public MyBackgroundService()
{
super("myservice");
this.mBackGroundTimer=new Timer();
}
@Override
protected void onHandleIntent(Intent intent)
{
// TODO Auto-generated method stub
mBackGroundTimer.schedule(new TimerTask()
{
public void run()
{

try
{
//your db query here
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
},startTime,repeatTime);
} // END onHandleIntent()
private void mStopTimer()
{
//Call this whenever you need to stop the service
mBackGroundTimer.cancel();
}
}

并在您的 Activity 中调用它,如下所示:

Intent mInt_BckGrndSrv =  new  Intent(getApplicationContext(),MyBackgroundService.class);
startService(mInt_BckGrndSrv);

并且不要忘记在您的 manifest.xml 中将其指定为服务,

<service android:name="com.example.MyBackgroundService" android:enabled="true"></service>

附言有关不同服务的教程,请查看 this .

关于android - 在线程的帮助下每隔 X 秒启动一次服务,因为数据库更新频繁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18517841/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com