"Говорящий спидометр" под Android

Игорь13 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
17.07.2012

Нужно написать приложение "Говорящий спидометр" под Андроид.

1. Интерфейс.

На основном (и единственном) интерфейсе должно быть:

1. Крупно – текущая скорость в км/ч.

2. Кнопка, включающая и выключающая звук. Меняет значение на "говорить" и "молчать" в зависимости от текущего состояния приложения.

Считаем, что экран ориентирован вертикально, автоматическое определение положения телефона не нужно.

2. Звук

Приложение произносит текущее значение скорости, округленное до ближайшего кратного 10 значения, если:

а. текущее значение отличается от того, которое было произнесено в предыдущий раз, более чем на 10.

б. конец предыдущего звукового сообщения закончился больше, чем 3 секунды назад.

в. абсолютное значение скорости больше 25 км/ч.

Приложение произносит текущее значение скорости, округленное до ближайшего кратного 5 значения, если:

а. текущее значение отличается от того, которое было произнесено в предыдущий раз, более чем на 5.

б. конец предыдущего звукового сообщения закончился больше, чем 8 секунд назад.

в. абсолютное значение скорости больше 25 км/ч.

Округление происходит в сторону значения, которое было произнесено в предыдущий раз.

Для создания голосового сообщения используется tts (text to speech).

3. Работа в фоновом режиме

Приложение должно произносить скорость при нахождении в бэкграунде, если текущее состояние приложения – "говорить", и в настройках разрешена работа в бэкграунде.

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

4. Настройки

По аппаратной кнопке "настройки" должно появляться окно, в котором можно выбрать:

а. Чекбокс "работать в бекграунде"

б. Выпадающий спискок "выбор языка", содержит значениt "по умолчанию" (язык сообщений интерфейса из общих настроек) и список доступных языков (из gatAvailableLocales, проверенный с помощью TextToSpeech.isLanguageAvailable).

5. Графические элементы

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

6. Лицензионная чистота

Исключительное право на ПО и документацию, разрабатываемое в рамках этого задания, в том числе на исходный и исполняемый код, принадлежит заказчику. Использование фрагментов кода, распространяемого по лицензии GPL или любой другой "заражающей" лицензии, недопустимо.

Заявки фрилансеров