Для тех кто не понимает, о чем я говорю, советую почитать эту статью.
DisTalk Pro
Глава 0. Что собственно делаем?
Есть такой довольно популярный и
GoTalk
Я после своего хорошего опыта с DisQwerty и DisType решил сделать приложение DisTalk с тем же функционалом (только вместо записи речи, использовать tts). И…
Глава 1. Не делайте так!
Задача очень простая. Сделать приложение, которая создает папку DisTalk в корне устройства. Пользователь кладет туда картинки, гружу это в GridView, при нажатии на картинку произношу название файла. Еще чтоб было повеселей сделал переключение по папкам. Чтобы учитель ребенка мог сделать разные наборы… Я сделал такое приложение, загрузил в play market. И сейчас я расскажу о том, как не надо писать приложения. (Но как надо я не знаю и не претендую на звание гуру)
Ошибки и советы юного и на костылях
Читайте документацию и тестируйте на разных версиях android.
Как мы все знаем, с обновлением Android до версии Lolipop мало просто написать в манифесте, то что хочешь писать в storage. Надо еще вызвать запрос на доступ в fs.
Кстати, в доках об этом ничего нет. Stackoverflow наше всё!
По этой причине я не мог понять почему у половины людей всё работает, а у половины багрепорты случаются. В DisType Pro я использую проверку и всё работает:
private void verifyStoragePermissions(Activity activity) {
// Check if we have write permission
int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED) {
// We don't have permission so prompt the user
ActivityCompat.requestPermissions(activity, new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, 0);
}
}
Уважайте пользователя.
Следующая моя ошибка в том, что я очень плохо построил интерфейс. При первом запуске пользователь видел просто белый экран. Никакого намека на то, что нужно подключить планшет к компу, загрузить картинки и вообще. Я наивно надеялся на то, что люди почитают инструкцию в описании приложения на гугл плей. Но нет.
В новой версии я сделал:
- Стартовый набор картинок, которые загружаются сразу после первого запуска (ну раздул я apk до 1 мб,
надеюсьникто не умер) копируются в папку DisTalk и юзер видит не просто белых экран, а уже готовое к работе приложение - Функции добавления, удаления, редактирования картинок из галереи и создания папок прямо из приложения. Теперь не обязательно иметь компьютер
- Добавил подпись к каждому элементу gridview. Теперь пользователь может использовать не только подписанные pecs пиктограммы, а простые фотки
- Добавил Yandex AppMetrica (нет, это не реклама) для отслеживания ошибок в приложении (ну еще слежу кто что сказал (: ). Юзеры не охотно шлют багрепорты, а это полезно!
Не забывайте ключ.
Хорошо, Вань, написал новое приложение — молодец, но почему было не обновить старое?
Потому что я потерял keystore и забыл пароль от него. Так делать не надо. Сохраняйте этот файл в надежное место. Новый jks я отправил себе на почту. Храню его!
Снимайте видеогайды про продукты
Ролик о том как пользоваться новым DisTalk'ом
Глава 2. Что дальше?
TODO:
- Придумать как усложнить выход из приложения. Специалисты жалуются, что люди с аутизмом привыкли играть на планшете, и постоянно выходят из программы
- Придумать как склонять слова в потоке речи. Чтобы не получалось «я хотеть яблоко», а «я хочу яблоко»
- Сделать банк карточек
- Добавить функцию записи аудио на кнопки. Специалисты говорят, что иногда нужно записать кнопку с интонацией.
- iOS, windows
Комментарии (0)