Мой первый Android-проект, мой первый Android-заказчик

в 14:28, , рубрики: android development, Разработка под android, метки:

Мой первый Android проект, мой первый Android заказчик

Рассказ о том, как Хабр помог мне решиться написать первое приложение на android и помог найти «заказчика». Проект уже реализован и я решился написать о том, как это получилось.

30 января. Вечер.

Читая статью на Хабре про изучение английского языка, натыкаюсь на ссылку, ведущую на сайт, позволяющий легко заучивать иностранные слова. Суть в том, что сайт предлагает слово из заранее подготовленного словаря и просит ввести перевод. Естественно, учить языки дома я не собирался, а хотел закачать приложение от сайта на смартфон, чтобы не тратить время в дороге впустую. Но приложения на Android Market Google Play от создателей сайта не оказалось…

Недавно я увлёкся разработкой приложений под Андроид и решил, а почему бы мне не попробовать себя в деле, написав им клиента. Пишу письмо по адресу, указанному на сайте в 21:49:

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

Например, я бы с удовольствием учил слова с помощью своего смартфона, но не нашел вашего официального приложения для Android.

Почему бы вам не сделать приложение для смартфонов?

Основные плюсы:
+Возможность учить где угодно
+Если реализовать единый профиль для сайта и приложения, то учеба будет вдвойне удобнее
+Дополнительное распространение(Android Market, AppStore и т.д. посещаются миллионами людей).

Если Вам это интересно и нужны люди для реализации, с радостью приму участие в данном проекте на амбициозных началах.


С уважением и интересом,
My name
«Разработчик программного обеспечения,
в том числе и для мобильных устройств».

Ложусь спать.

31 января.

Проверяю почту с утра. Есть ответ!

Здравствуйте!

Спасибо за письмо и добрый отзыв.

Приложение — это интересно. Сколько будет стоить?

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

После формальностей спрашивают, что от них требуется в данный момент.

Отвечаю:

На данном этапе в принципе ничего от вас не требуется.

В приложении будут реализованны:
-Свои словари /* Подразумевались словари, сделанные пользователем */
-Готовые словари
-Сам метод проверки
-(Возможно)Напоминание, для того, чтобы не забыть учить слова. /*На сайте есть возможность напоминания*/

В дальнейшем, я займусь второй частью, а именно синхронизацией с сайтом.

На этом этапе мне потребуется ваша консультация.

Разработку окончательного дизайна я оставляю за вами, но в принципе я постараюсь реализовать его в тон вашего сайта.

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

На данном этапе я буду писать приложение на Android

Надеюсь, у вас есть смартфон с такой операционкой.

Договорились. Делаю.

31 Января – 2 Февраля.

Планирование первого этапа.

Что нужно:

  1. удобный процесс тестирования знания слов
  2. стандартные словари, которые уже находятся в приложении
  3. создание словарей прямо с устройства и их хранение
Как будем делать:

На моём устройстве виртуальная клавиатура полностью занимает экран при ландшафтной ориентации устройства, и (заметил в некоторых популярных приложениях для общения) приходится сначала вводить текст, нажимать enter(ну, или кнопку Готово) и уже потом нажимать кнопку в приложении “Отправить”.

Чтобы сделать процесс тестирования удобным, основной текст (слово, которое нужно перевести и результат проверки предыдущего слова) будет выводиться в Hint тексте, т.е. в тексте, который отображается, когда поле ввода пустое (Hint text to display when the text is empty) и по нажатию enter будет просьба ввести перевод следующего слова и результат проверки веденного.

Мой первый Android проект, мой первый Android заказчик

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

Пишу им, как это будет реализовано.
Стандартный словарь — просто текстовый файл.

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

Например, можно выбирать стандартный словарь «Животные» для любой пары языков.

Это будет обеспечено тем, что будут словари для каждого языка отдельно, например: ru_animal, en_animal, fr_animal и т.д.

В итоге, выбирая пару языков N-M и сопостовляя словари друг с другом, получаем готовый словарь на лету.

Храним словари в Raw и используем по необходимости.
/* В дальнейшем мы отказались от этого */

“Свои ” словари храним с помощью SQLite.
Интересно про SQLite написано тут.

3-7 Февраля.

C кодингом в принципе всё достаточно легко.

Маленькая фича:

При работе с полем ввода слова(EditText), а именно с методом setHint, текст подсказки изменялся в EditText, но не изменялся в виртуальной клавиатуре.
Т.е. в EditText уже изменилась подсказка, а на клавиатуре еще нет:

Мой первый Android проект, мой первый Android заказчик

Долго искал причину.
Оказывается, что нужно сначала ввести hintText, а потом очищать поле(ну или setText(“”)), тогда всё будет ок!
Отсылаю первый этап приложения на w2mem(человек, с кем я контактирую, зовут Александр), жду.

8 Февраля

Получаю ответ от Александра. Ему нравится. Сказал, что студия Артемия Лебедева взялась за разработку дизайна сайта. Энтузиазм растет. Договариваемся о втором этапе.
Что требуется: авторизация и доступ к словарям, закачка их на устройство.

Как будем делать:

На сайте w2mem авторизация проходит с помощью OpenId. Долго искав на stackoverflow информацию насчет openid, нашел библиотеку openid4java, но так и не мог её быстро прикрутить.

В итоге решили, что id и пароль для авторизации через приложение будут прямо в личном кабинете профиля.

Словари получаем обычным HTTP запросом.

12 Февраля

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

19 Февраля

Получив 18 числа всё, что мне было необходимо, отсылаю приложение с дизайном. Им опять нравится.
Пропадаю на 5 дней.

24 Февраля

Отправляю Александру приложение с немного улучшенным дизайном.
Договариваемся насчёт того, что будет в первой версии приложения. Решили, что не стоит делать стандартные словари по категориям, т.к. это слишком затратно.
В итоге, стандартный словарь — это простой текстовый файл со словами, который загружается в SQLite библиотеку при первом запуске приложения.
Доделываем всё, что осталось. Тестим.

5 Марта

Ура. Выкладываем приложение на маркет!

Что происходит сейчас:

Сейчас у приложения более 300 скачиваний.
Недавно к разработке проекта подключился коллега и, надеюсь, мы выпустимся и на iOS. Вообще, у приложения большой потенциал. Главное, не опускать руки!

Само приложение:
Мой первый Android проект, мой первый Android заказчик

Страница приложения на сайте:
http://w2mem.com/android

Автор: Tims101

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js