Разработка программы тестирования знаний в определенной области под Android

Авторы: Ермышкин В.О., Чередникова О.Ю.
Источник: «Разработка программы тестирования знаний в определенной области под Android» (VI Международная научно–практическая конференция «Современные тенденции развития и перспективы внедрения инновационных технологий в машиностроении, образовании и экономике», г. Азов, 13–14 мая 2019 года)
Ключевые слова: язык Java, операционная система Android, база данных, программа для тестирования.

1. Аннотация

Была выполнена разработка программы, написанная на языке программирования Java, для тестирования знаний в определенной области. Рассмотрена краткая информация операционной системы Android. Разработана структура базы данных. Для написания кода и графического интерфейса программы описан краткий алгоритм создания приложения.

2. Введение

Неотъемным элементом системы образования является задача определения, на сколько хорошо обучающийся усвоил учебную программу. В современных условиях появляются альтернативные программы, системы обучения, преподаватель старается работать творчески. В педагогических инновациях появилось отдельное направление – компьютерное тестирование, при котором предъявление тестов, оценивание результатов учащихся и выдача им результатов осуществляется с помощью компьютера. Такие программы могут быть использованы как преподавателем, так и самими учащимися для определения уровня своих знаний. Фактически программы для тестирования представляют собой викторины, которые в эффективной игровой форме помогают не только проверить знания обучающихся, но и способствуют приобретению новых знаний, а также стимулируют к саморазвитию и самопознанию, побуждают учащихся затрачивать энергию, принимать волевые усилия для освоения знаний и умений, преодолевая трудности [1].

С развитием средств вычислительной техники, в частности с появлением устройств, работающих под операционной системой Android, важной становится задача разработки приложений, работающих на таких устройствах. Особенно актуально данное направление разработок для молодых людей, проводящих большую часть времени со смартфонами, планшетами [2].

3. Постановка задач

Проанализировав существующие способы разработки приложений, поставлена задача разработать программу, работающую под ОС Android, которая значительно ускорит и облегчит процесс обучения проверки знаний студентов в определенной области с помощью тестирования.

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

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

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

4. Организация работы с базой данных под Android

Android предоставляет несколько способов для хранения пользовательских данных и приложений. В этой ОС присутствует поддержка СУБД SQLite, поэтому приложения на основе БД для этой ОС чаще всего используют именно её. Разумеется, что если не все, то большинство средств разработки для Android также имеют встроенную поддержку этой СУБД.

SQLite — легковесная встраиваемая реляционная база данных. Слово «встраиваемый» означает, что SQLite не использует парадигму клиент-сервер, то есть движок SQLite не является отдельно работающим процессом, с которым взаимодействует программа, а предоставляет библиотеку, с которой программа компонуется и движок становится составной частью программы. Таким образом, в качестве протокола обмена используются вызовы функций (API) библиотеки SQLite. Такой подход уменьшает накладные расходы, время отклика и упрощает программу. SQLite хранит всю базу данных (включая определения, таблицы, индексы и данные) в единственном стандартном файле на том компьютере, на котором исполняется программа.

Для создания базы данных использован инструмент Sqlitebrowser. Sqlitebrowser представляет графический интерфейс для создания базы данных и определения в ней всех необходимых таблиц [3].

Структура базы данных для организации программы тестирования содержит четыре таблицы:

  • Таблица тестов – таблица рассчитана на то, что в приложении будет несколько тестов и у пользователя будет выбор. В данной таблице 3 колонки (ID теста, название теста и количество вопросов к нему).
  • Таблица вопросов – в ней содержится 7 колонок (ID вопроса, вопрос, 4 колонки с четырьмя вариантами ответа и колонка в которой содержится правильный ответ).
  • Таблица студентов – она содержит 5 колонок (ID студента, ФИО, группа, логин и пароль). В приложении будет предусмотрена регистрация пользователей.
  • Таблица результата – в таблице 3 колонки (ID студента, который проходил тест, ID теста, который проходил пользователь и колонка результата, в ней записывается или перезаписывается лучший результат пользователей).

Рассмотрим структуру одной из таблиц, например, таблица вопросов. На рисунке 1 показано создание таблицы с помощью инструмента Sqlitebrowser.

Создание таблицы в редакторе SQLitebrowser

Рисунок 1. Создание таблицы в редакторе SQLitebrowser

Заполнение таблицы выполнялось также с помощью инструмента SQLitebrowser, показано на рисунке 2.

Заполненная таблица

Рисунок 2. Заполненная таблица

5. Организация интерфейса приложения тестирования

При проектировании мобильного интерфейса Android-приложения, каждый экран пользовательского интерфейса представлен классом Activity в коде.

Интерфейс реализован на HyperText Markup Language (HTML) – стандартизованном наборе символов или последовательностей, вставляемых в текст для передачи информации.

Например, чтобы отобразить кнопку на экране, в XML-файл макета необходимо добавить следующий код:

		< Button
		android:text="Начать"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:id="@+id/btnStart"
		android:background="@color/colorPrimary"
		android:textColor="@android:color/white"
		android:textStyle="normal|bold"
		android:layout_marginBottom="12dp"
		android:layout_above="@+id/btnInstruction"
		android:layout_alignParentStart="true"
		/>
		

Android использует специальные механизмы описания действий основанные на Intent. При необходимости выполнить действие (например, по кнопке подтвердить начало тестирования) вызывается Intent. Чтобы указать действие при нажатии кнопки, зададим на объекте кнопки соответствующий код операции:

		public void onClick(View v)
		{
		switch (v.getId())
		{
		case R.id.btnStart:
		final Intent intentMain = new Intent(this,QuizMainActivity.class);
		AlertDialog.Builder b = new AlertDialog.Builder(QuizDeskBoardActivity.this)
		.setTitle("Начать опрос?")
		.setPositiveButton("Да", new DialogInterface.OnClickListener()
		{
		@Override
		public void onClick(DialogInterface dialog, int which)
		{
		startActivity(intentMain);
		}
		})
		.setNegativeButton("Нет", new DialogInterface.OnClickListener()
		{
		@Override
		public void onClick(DialogInterface dialog, int which)
		{
		dialog.cancel();
		}
		});
		b.create().show();
		

Вышеприведенный фрагмент создает 2 экземпляра DialogInterface.OnClickListener и подключает пользователя к кнопке с помощью setPositiveButton если получено подтверждение начать тест, и setNegativeButton иначе. В результате система выполняет код, который написан в onClick после нажатия пользователем кнопки.

Система выполняет код в onClick в основном потоке. Это означает, что код onClick должен выполняться быстро, чтобы избежать задержки ответа приложения на дальнейшие действия пользователя [4].

Главное окно приложения должно выполнять авторизацию пользователя или возможность регистрации для нового пользователя. После авторизации предоставляется возможность выбора теста и просмотра оценок уже пройденных тестов.

Окно опроса показано на рисунке 3а. В опросе 10 вопросов разной сложности, на каждый из которых есть по 4 варианта ответа.

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

Если возникают затруднения при ответе на вопрос, его можно пропустить, нажав клавишу “Следующий вопрос”, при этом таймер на данном вопросе сохранится и к вопросу можно будет вернуться в конце опроса. После прохождения теста отображается результирующее окно (рисунок 3б) [5].

Интерфейс приложения:а) вид окна опроса; б) отображение результатов опроса

Рисунок 3. Интерфейс приложения: а) вид окна опроса; б) отображение результатов опроса

6. Получение и сохранение результатов тестирования

Во время выполнения теста, используя данные из таблицы тестов о правильном ответе, подсчитывается количество баллов (правильных ответов), набранных студентов в тесте. Если результат составил 5 и меньше правильных ответов, то приложение запишет результат как “Неудачно”, то есть тест не пройден. Если 5 и больше правильных ответов – опрос пройдет и результат запишет как “Удачно”.

7. Выводы

Разработано приложение под ОС Android. В проекте реализован общедоступный, первоначальный интерфейс и код программы, который дает возможность пройти тест. Все вопросы для прохождения теста находятся в таблице базы данных, которая реализована в программе SQLite. Результат теста выводится на экран и записывается в базу данных.

Направления дальнейших исследований связаны с определением возможности использования разработанного приложения для различных версий Android. Предполагается создание окна входа в приложение с использованием логина и пароля, и окна регистрации с добавлением новых пользователей в базу данных, а также реализация тестов, ответом в которых могло бы быть численное значение, и определение правильности выполнения заданного кода.

8. Литература

  1. Харди, Б. Филлипс, Б. Книга по профессиональному андроид-программированию / Б. Харди, Б. Филлипс, 2-е изд. — СПб.: Питер, 2016. — 640 с.
  2. Цехнер, М. Книга по разработке игр для платформы Андроид / М. Цехнер, П78 Программирование игр под Android. — СПб.: Питер, 2013. — 688 с.
  3. Сами М., Использование базы данных SQLite с Android. Интернет ресурс. Режим доступа: https://www.codeproject.com/Articles/119293/Using-SQLite-Database-with-Android.
  4. Разработчики Android в Google+, Использование языка HTML в разработке Android приложений. Интернет ресурс. Режим доступа: https://developer.android.com/reference/android/widget/Button.html.
  5. Saini A., Учебник HTML в Android Studio с использованием примера TextView & Parsing. Интернет ресурс. Режим доступа: http://abhiandroid.com/ui/html.