Как я сделал своё андроид приложение

Ещё учась в университете, я задумался над тем, чтобы сделать сайт с тестами, который бы помогал подготовиться к экзаменам и собеседованиям для программистов. В то время уже были сайты, которые выполняли похожие задачи, например quizful.net. Однако все эти сайты не были адаптированы для мобильных устройств, были частично платными (например 3 теста бесплатно, остальное платно), либо были на английском языке. Я не знал на каком языке программирования хочу окончательно остановиться, поэтому решил сделать сайт с тестами сразу для многих языков. Было понятно, что основной ценностью данного сайта будет не только сама фукнциональнасть но и база вопросов. Поэтому изначально было решено составить эту базу. Это заняло уйму времени, вопросы в основном придумывались самим собой при помощи онлайн ресурсов и сохранялись в простом текстовом формате. В связи с загруженность в то время эта идея канула в небытие на долгое время.


По прошествии нескольких лет я всё же решил завершить задуманное. Однако было решено делать не сайт, так как поддержка сайта требует затрат на хостинг и постоянной поддержки. Я решил остановиться на минималистичной версии андроид приложения - пользователь должен иметь возможность выбрать язык, сложность, пройти тест и посмотреть результаты. Как базу решил использовать вопросы придуманные ранее.

Создание этой версии не заняло много времени, приложение содержит всего несколько окон и не сохраняет никакой истории. При установке приложения база вопросов каждый раз копируется из приложения на телефон, что даёт возможность обновлять и добавлять вопросы. К моему удивлению вся база вопросов в сжатом виде заняла менее одного мегабайта. Единственная проблема возникла с подсветкой кода в тестах - большинство библиотек для андроид делают это плохо, либо не поддерживают многие языки программирования. Поэтому пришлось выбрать нестандартное решение - для отображения вопросов было решено использовать WebView и подсвечивать код с помощью highlightjs.

А вот собственно и результат двухнедельной работы:

Как я сделал своё андроид приложение Программирование, Тестирование, Android, Учеба, Языки программирования, Длиннопост

Окно конкретного языка программирования:

Как я сделал своё андроид приложение Программирование, Тестирование, Android, Учеба, Языки программирования, Длиннопост

Окно прохождения теста:

Как я сделал своё андроид приложение Программирование, Тестирование, Android, Учеба, Языки программирования, Длиннопост

Результаты теста:

Как я сделал своё андроид приложение Программирование, Тестирование, Android, Учеба, Языки программирования, Длиннопост

Ответы с пояснениями:

Как я сделал своё андроид приложение Программирование, Тестирование, Android, Учеба, Языки программирования, Длиннопост

В приложении множество недоработок, небольшое количество вопросов и отсутствует множество пояснений. Однако основную задачу оно уже выполняет, что меня очень радует.

А вот собственно и ссылка на само приложение.