在方法之间暂停

时间:2016-01-05 19:28:47

标签: android mysql sms refresh

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

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

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

添加10个设备,所有设备都连接到数据库,检索值和发送消息。

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

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

这可能吗?

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

2 个答案:

答案 0 :(得分:0)

要定期运行方法,您可以执行以下操作:

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 :(得分:0)

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

EX: 设备1: 将“%”添加到最后一个文本的开头

设备2:

imagesLoaded

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

类似的东西:

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