Разработка мобильного приложения

В данной главе представлено описание библиотек, инструментов и технологий, использованных при разработке и особенности реализации.

Инструменты разработки

Для разработки проекта используется среда Android Studio. Эта среда рекомендована Google для разработки приложений под Android и предоставляет все необходимые технологии и языки.

В качестве языков разработки использовались Java, как основной язык для разработки под Android, а также Kotlin, представляющий такие важные свойства, как null-safety. Кроме того Kotlin позволяет существенно сократить количество кода в некоторых местах программы (например, при написании моделей).

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

Для контроля версий использовался Git и GitHub.

При разработке приложения также использовались разные библиотеки, упрощающие работу с системой Android. В частности использовалась библиотека Picasso для работы с изображениями. Она позволяет, используя несколько строк кода, загрузить изображение в ImageView, предоставляет инструменты для кэширования изображений, а также для их преобразования. Для работы с push уведомлениями использовалась библиотека Airship, гарантирующая (в отличие от стандартного решения от Google) доставку уведомлений пользователям. Помимо этого для разработки дизайна экранов использовалась Google Android support library.

Для работы с http запросами используется библиотека Retrofit. Для работы с сокетами AndroidAsync.

Для разработки приложения использовался api сервера, созданного специально для этого проекта. Все методы, предоставляемые сервером, описаны в следующей таблице:

Таблица 3 - Api сервера

PATCH users/{id}

Метод для обновления данных о текущем пользователе

POST events

Метод для создания события

PATCH events/{id}

Метод для обновления события

POST users

Метод для создания пользователя

POST searches

Метод для поиска событий

POST reports

Метод для отправки жалобы

GET users/search

Метод для поиска людей

GET offers

Метод для получения предложений

GET offers/number_of_incoming

Метод для получения количества

непрочитанных предложений

GET friend_requests/number_of_incoming

Метод для получения количества

непрочитанных заявок в друзья

GET events/{id}/available_friends

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

GET feed/recommended

Метод для получения событий, рекомендованных пользователю

GET feed/friends

Метод для получения событий, в которых учавствуют друзья

GET activity

Метод для получения истории действий пользователя

GET users/{id}

Метод для получения информации о пользователе

GET events/{id}

Метод для получения информации о событии

GET users/{id}/friends

Метод для получения списка друзей пользователя

GET users/{id}/memberships

Метод для получения списка событий, в которых учавствует пользователь

GET events/{id}/comments

Метод для получения комментариев события

GET events/{id}/memberships

Метод для получения участников события

GET friend_requests

Метод для получения заявок в друзья

POST events/default_photo

Метод для получения стандартной фотографии при создании события (в случае если пользователь не выбрал фотографию)

DELETE invites/{id}

Метод для удаления приглашения

DELETE submissions/{id}

Метод для удаления заявки на событие

PATCH invites/{id}/decline

Метод для отклонения приглашения

PATCH friend_requests/{id}/decline

Метод для отклонения заявки в друзья

PATCH submissions/{id}/decline

Метод для отклонения заявки на событие

PATCH friend_requests/{id}

Метод для принятия заявки в друзья

DELETE friend_requests/{id}

Метод для удаления заявки в друзья

DELETE events/{id}

Метод для удаления события

DELETE comments/{id}

Метод для удаления комментария

DELETE memberships/{id}

Метод для удаления участника события

DELETE friends/{id}

Метод для удаления друга

POST friend_requests

Метод для создания заявки в друзья

POST events/{id}/comments

Метод для создания комментария

PATCH invites/{id}

Метод для принятия приглашения

PATCH submissions/{id}

Метод для принятия заявки на событие

POST events/{id}/submissions

Метод для создания заявки на событие

POST events/{id}/invites

Метод для создания приглашения

POST social_tokens

Метод для автозирации через социльную сеть

Все эти методы описаны в специальном интерфейсе в приложении, используя библиотеку Retrofit.

 
< Пред   СОДЕРЖАНИЕ   Загрузить   След >