Using Siemens. Парсим ответ AT-команды
Если телефону послать AT команду, то в ответ приходит помимо непосредственно ответа еще немножко мусора. Туда входит дубляж посланной команды со всеми параметрами, а также результат выполнения команды (OK - успешно, ERROR - ошибка). Мусор меня нас мало интересует, поэтому надо его убрать.
Вот простенький парсер для этого дела:
public final class ATResponseParser {
public String parse(String string, String delim){
// StringTokenizer tokenizer = new StringTokenizer(string);
String result = "";
// while (tokenizer.hasMoreTokens()){
// result = result + tokenizer.nextToken(delim);
// }
String[] strings = string.split(delim);
for (int i = 0; i < strings.length; i++) {
result += strings[i];
}
return result;
}
public String parseAll(String string, String[] delims){
String result = null;
if(delims.length > 0){
result = parse(string, delims[0]);
for (int i = 1; i < delims.length; i++) {
result = parse(result, delims[i]);
}
}
return result;
}
}В первоначальном варианте я воспользовался
StringTokenizer'ом. Но если ему задать разделитель типа "ATDM", то в строке отфильтруются не только сочетания "ATDM", но и отдельные буквы "A", "T", "D", "M". А такой ход не устраивает совсем. Как с этим бороться я не знаю, немножко поискал, но не так чтоб сильно. Вместо этого просто использовал метод String.split().
Разделы:
Архив блога:
Я читаю:
Моя матрица:
Контакты:
0 комментарий(я,ев):
Отправить комментарий