Сделать простое Android приложение клиент для просмотра онлайн базы данных.

Общие требования:

— Java, Android SDK; — Два варианта (выберите сами: стандартный массовый подход попроще или то, что вы реально что-то понимаете):

1) использовать распространенные библиотеки вроде OkHttp, RxJava2 и прочее. Однако… Каждый дурак может на них писать, а что если хоть что-то нестандартное?

2) показать, что вы реально понимаете разработку, как оно устроено и способны решать любые задачи: покажите, как вы пишите с прямым использованием вещей вроде java.net.Socket и java.lang.Thread. Стандартные (читай — старые и неудобные) классы Android SDK типа HttpUrlConnection — это НЕ то, что это покажет.

— Все должно быть кратко и понятно;

— Цель теста: увидеть, как претендент пишет код и придумывает архитектуру — никаких копи-пейст «стандартных решений».

Три экрана:

1. При запуске. Показывает текстовые поля логин/пароль и кнопку «Войти». При нажатии идет к серверу GET http://www.alarstudios.com/test/auth.cgi(параметры запроса: username=XXX, password=XXX), он возвращает JSON. Если «status» == «ok», то пропускаем, нет — показываем красиво, что логин/пароль неправильные. Сервер выдаст «ok» на «test»/»123» и тогда идем на следующий экран, запоминая «code».

2. Таблица с данными. Данные получаем по GET http://www.alarstudios.com/test/data.cgi (параметры запроса: code=XXX из предыдущего шага, p=N — страница с 1), выдает по 10 элементов. В приложении — отображается как бесконечная пагинация. Доходим до «низа» списка — подгружаем данные. Каждый элемент таблицы должен содержать картинку (выберите любой внешний URL), подгружаемую асинхронно и имя (name из полученных данных). При нажатии на элемент, переходим на третий экран.

3. По нажатию на элемент на втором экране переходим сюда и показываем все поля и карту с точкой по координатам в полях «lat»/»lon» из JSON. Даем возможность вернуться к списку.

Все. Очень просто. На выполнение дается 72 часа. Если есть вопросы — пишите!

Смотреть решение ->