我正在使用smslib用java编写短信桌面应用程序,我的程序需要将短信存储在数据库表中,然后将短信与另一个表进行比较,最后返回一条新短信,如何使用线程实现这个过程? ?计时器?我需要让应用程序整天运行,程序只需要将数字与另一个表进行比较,然后返回不同的数字,我有应用程序,但在某些方面,我只想知道你的方法,用户需要收到包含新号码的短信,谢谢
p.d 我使用 smslib 以及 readmessages 和 sendmessages 类。我被困在这部分,我不希望我的程序崩溃
最佳答案
SMSLib 有 2 种接收消息的方式。
- 使用
Service.readMessages()
。这需要实现某种调度。例如您自己的线程或计时器任务。 - 实现回调。恕我直言,这是更好的方式。在这种情况下,图书馆关心的是日程安排和一切。您只需实现 SMSLib 在 SMS 消息到达时调用的回调即可。我只需将其存储在数据库中并实现您所描述的比较消息和发送回复的逻辑。
由于发送消息可能需要一些时间(有时是几秒钟),因此您应该异步执行此操作。此外,发送可能会失败,因此您可能必须实现重试机制。所以,使用队列。最简单的方法是使用 java.concurrency 包中的 Executors 框架。
关于java - 短信存储在数据库中,与数据库进行比较并使用smslib在java中返回短信,如何实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10398790/