Освой программирование играючи
/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000
Класс Scanner упрощает разбор строки из потока ввода, позволяя обойтись без классов BufferedReader, InputStreamReader. В качестве входных объектов можно использовать File, InputStream, String, Readable. В учебных примерах часто используют System.in в качестве приёма данных от настольной клавиатуры, что не слишком актуально для Android.
Метод next() возвращает следующую лексему String, также существуют методы для примитивных типов, например, nextInt(). Метод выполняется в блокирующем режиме. Также существуют соответствующие методы hasNext(), которые возвращают true, если следующая лексема относится к правильному типу.
По умолчанию входные данные разбиваются по пробелам между словами. Можно задать собственный разделитель в форме регулярного выражения в методе useDelimiter().
Простейший пример разбивки предложения на отдельные слова.
Scanner scanner = new Scanner("Кот Васька 28 Москва");
while (scanner.hasNext()) {
System.out.println(scanner.next());
}
// Ответ
I/System.out: Кот
I/System.out: Васька
I/System.out: 28
I/System.out: Москва
Получим число.
Scanner scanner = new Scanner("27");
System.out.println(scanner.nextInt()); // 27