Что лучший способ состоит в том, чтобы получить текстовые пользовательские интерфейсы (подобная ncurses) функциональность в Java?

Ваша основная опция для отправки SMS-сообщений использует существующего поставщика SMS. По моему опыту (который обширен с SMS, передающим веб-приложения), Вы будете часто находить, что согласование с различными поставщиками является лучшим способом получить лучшее предложение для Вашего приложения.

Различные поставщики часто предлагают различные услуги и различные функции. Мой любимый поставщик, и действительно, тот, который счастливо согласовал со мной для более низких уровней в прошлом, является TM4B ( http://www.tm4b.com ). Эти парни имеют превосходные уровни, покрывают огромную пропорцию земного шара и имеют превосходное обслуживание клиентов.

Ниже некоторый извлеченный код (и некоторые запутываемые части) из одного из моих живых веб-приложений, для отправки простого сообщения через их API:

require_once("tm4b.lib.php");
$smsEngine = new tm4b();

// Prepare the array for sending
$smsRequest["username"] = "YOURUNAME";
$smsRequest["password"] = "YOURPWORD";
$smsRequest["to"] = "+441234554443";
$smsRequest["from"] = "ME!";
$smsRequest["msg"] = "Hello, test message!";

// Do the actual sending
$smsResult = $smsEngine->ClientAPI($smsRequest);

// Check the result
if( $smsResult['status'] == "ok" ) {
    print "Message sent!";
} else {
    print "Message not sent.";
}

у Многих других поставщиков, которых я использовал в прошлом, есть очень похожие интерфейсы, и все действительно конкурентоспособны когда дело доходит до оценки. Просто необходимо навести справки о поставщике, который удовлетворяет потребностям.

В отношении стоимости, Вы смотрите на цены в пределах от нескольких пенсов/центов для большинства стран Запада (цены немного выше для большинства стран третьего мира, тем не менее, так остерегайтесь). Большинство поставщиков, которых необходимо будет заплатить оптом, если Вы хотите достойные уровни от них, но они будут часто согласовывать с Вами для 'меньших чем обычно' пакетов. Большинство поставщиков действительно предлагает опцию постплаты, но только когда Вы успешно завершили несколько транзакций с ними..., другие предлагают ее от запуска, но цены являются грабительскими.

23
задан Joachim Sauer 18 December 2012 в 15:40
поделиться

6 ответов

Я считаю, что Jcurses - это нативная Java-реализация curses API, я помню, что у него есть несколько причуд, но он должен иметь возможность делать то, что вы хотите:

http: // sourceforge .net / projects / javacurses /

1
ответ дан 29 November 2019 в 01:58
поделиться

Попробуйте java curses (извините, он использует JNI). Я также попытался реализовать короткую версию этой библиотеки только для изучения JNI, см. http://plindenbaum.blogspot.com/2008/01/java-native-interface-jni-notebook.html . Можно также представить себе специализированную JPanel, отображающую матрицу символов:

public class TPanel extends JPanel
{
private Vector<Vector<YourCharAndStyle>> rows;

protected void paintComponent(Graphics g)
 {
 //paint the characters
 (...)
 }

}
1
ответ дан 29 November 2019 в 01:58
поделиться

Краткий ответ - это Java-оболочка вокруг проклятий.

Длинный ответ:

Терминалы сильно различаются, поэтому существуют библиотеки terminfo / termcap и почему они беспорядок, с которым нужно иметь дело (кстати, сопровождающие этих проектов - святые). Они абстрагируют все действительно основные варианты терминала до чего-то разумного. Проклятия превращают их в удобные и эффективные библиотеки.

Если вам нужно чисто Java-решение, вам понадобятся обе эти библиотеки или их эквивалент на Java. Я уверен, что кто-то укажет вам на это, если он существует, но я, насколько я знаю, его не существует.

1
ответ дан 29 November 2019 в 01:58
поделиться

I'm using JavaTUI (http://sourceforge.net/projects/javatui/files/) in my several console java projects. It's best what i can find but it so far from perfect. I'm think there is not a good TUI implemetation in java world.

1
ответ дан 29 November 2019 в 01:58
поделиться

Я думаю, что было бы лучше абстрагироваться от вашего Java-кода из TUI и использовать ncurses для нескольких отдельных частей вашего приложения или с использованием аргументов в стиле веб-сервисов. Например, запрограммируйте свой TUI, и когда пользователь вызывает действие, используйте ncurses для вызова вашего кода с передачей некоторых параметров

java -Daction=doSomething MyApp

Таким образом, вы можете кодировать свое приложение, используя графический интерфейс, также в случае необходимости.

1
ответ дан 29 November 2019 в 01:58
поделиться

Вы можете проголосовать за эту проблему здесь: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6351276

По сути, нет хороший способ получить функциональность, подобную ncurses, без JNI, пока эта проблема не будет решена.

10
ответ дан 29 November 2019 в 01:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: