软件工程日报——安卓stuio自动检索数据库
Posted jiacheng-712
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程日报——安卓stuio自动检索数据库相关的知识,希望对你有一定的参考价值。
今天进行整合时,发现安卓端的自动检索数据库进行弹窗的功能还没没有进行解决
以下是在网上找到的思路
创建一个名为DatabaseChecker
的线程,在其中实现与MySQL数据库的连接、执行检索代码、比较数据变化、推送通知窗口等功能。在该线程的run()方法中,将会不断执行定时检索代码。
public class DatabaseChecker extends Thread
private Context context;
private boolean running = false;
private Timer timer;
public DatabaseChecker(Context context)
this.context = context.getApplicationContext();
public synchronized void startChecking()
if (!running)
running = true;
timer = new Timer();
timer.schedule(new MyTimerTask(), 0, 10000);
@Override
public synchronized void run()
while (running)
// 执行数据库检索代码
checkDataUpdate();
try
Thread.sleep(10000);
catch (InterruptedException e)
e.printStackTrace();
public synchronized void stopChecking()
if (running)
running = false;
timer.cancel();
private class MyTimerTask extends TimerTask
@Override
public void run()
// 执行数据库检索代码
checkDataUpdate();
private void checkDataUpdate()
// 执行MySQL查询代码
ResultSet newResult = queryDataFromMysql();
if (newResult == null)
return;
if (oldResult == null)
oldResult = newResult;
return;
try
if (!oldResult.next() && !newResult.next())
return;
if (oldResult.next() != newResult.next())
// 数据库数据发生变化,推送弹窗
NotificationCompat.Builder builder =
new NotificationCompat.Builder(context, "channel_id")
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle("数据更新提示")
.setContentText("数据库中的数据已更新")
.setPriority