在方法之间暂停

Pausing between methods

这是我在 java/android 中的第一次开发尝试。

我创建了一个从数据库读取的应用程序,(MySQL) 它检索一条记录,并根据记录中的值向第二台设备发送 4 条短信。

发送 SMS 后,它会在第二台运行相同应用程序的设备上更新数据库,连接到数据库,然后执行相同的操作,再次更新数据库。

添加 10 台设备,全部连接到数据库、检索值和发送消息。

当最后一个设备连接时,它会更新第一个设备的记录,因此,当第一个设备再次连接时,它会看到最后一个设备已经发送了它的消息,然后发送另一批消息, 在清除数据库之前,清除数据库中的值。

我的第一个问题是,我有一个 activity 通过 USSD 代码检索设备号,完成后调用一个方法来读取数据,以便它可以开始发送,但是,我无法告诉设备每隔一段时间连接到数据库,即如果设备 1 尚未完成发送消息,设备二将连接,看到它必须尚未发送,然后保持该状态。我需要设备在没有任何用户干预的情况下每隔一段时间连接一次。

这可能吗?

如果我退出设备上的应用程序并重新启动它,它会连接,看到它的记录已更新,然后进行下一批发送。

周期性地运行一个方法,你可以这样做:

final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
      @Override
      public void run() {

        // Your code here

        // run again after 10 s
        handler.postDelayed(this, 10000);
      }
    }, 10000);

您可以在最后一条消息的末尾(或开头)附加一些内容,告诉第二个设备这是最后一条消息。

例如: 设备 1: 在最后一个文本的开头添加“%”

设备 2:

if(msg.CharAt(0)=='%')
{
 //this is the last message
 // do task
{

我看到的另一个选项是,因为您正在更新数据库。您可以轮询第二个设备上的数据库,并且仅在前一个设备完成后才开始发送消息。

类似于:

while(!device1Finished)
{
}
sendMessages();