2012-05-01 2 views
0

Я программирую приложение для рабочего стола sms с помощью java с помощью smslib, моя программа должна хранить sms в таблице базы данных, затем сравнивать sms с другой таблицей и, наконец, возвращать новые sms, как реализовать этот процесс, с потоками? таймеры? Мне нужно, чтобы приложение работало весь день, программе просто нужно сравнивать числа с другой таблицей, а затем возвращать те, которые отличаются, у меня есть приложение, но по частям я просто хочу знать ваш подход, пользователю нужно получить sms с новыми номерами спасибоsms сообщение, хранящееся в БД, сравнение с базой данных и возврат sms в java с помощью smslib, как реализовать?

pd Я использую smslib и классы readmessages и sendmessages. Я застрял в этой части, я не хочу, чтобы моя программа вылетала

ответ

1

SMSLib имеет 2 способа получения сообщений.

  • используя Service.readMessages(). Это требует выполнения какого-то планирования. Например, ваш собственный поток или задача таймера.
  • осуществление обратного вызова. Это ИМХО предпочтительнее. В этом случае библиотека заботится о планировании и обо всем. Вы просто реализуете обратный вызов, который будет вызываться SMSLib при поступлении SMS-сообщения. Мне просто нужно сохранить его в БД и реализовать описанную вами логику, которая сравнивает сообщения и отправляет ответы.

Из-за отправки сообщений может потребоваться некоторое время (иногда несколько секунд), вы должны сделать это асинхронно. Кроме того, отправка может завершиться неудачей, поэтому вам, вероятно, придется реализовать механизм повтора. Итак, используйте очередь. Самый простой способ - использовать оболочку Executors из пакета java.concurrency.

+0

Где я могу увидеть обратный вызов в smslib ?, у вас есть пример очереди очередей приложений? почему структура исполнителей? – bentham

 Смежные вопросы

  • Нет связанных вопросов^_^